001: package org.apache.maven.execution;
002:
003: /*
004: * Licensed to the Apache Software Foundation (ASF) under one
005: * or more contributor license agreements. See the NOTICE file
006: * distributed with this work for additional information
007: * regarding copyright ownership. The ASF licenses this file
008: * to you under the Apache License, Version 2.0 (the
009: * "License"); you may not use this file except in compliance
010: * with the License. You may obtain a copy of the License at
011: *
012: * http://www.apache.org/licenses/LICENSE-2.0
013: *
014: * Unless required by applicable law or agreed to in writing,
015: * software distributed under the License is distributed on an
016: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017: * KIND, either express or implied. See the License for the
018: * specific language governing permissions and limitations
019: * under the License.
020: */
021:
022: import org.apache.maven.artifact.repository.ArtifactRepository;
023: import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
024: import org.apache.maven.monitor.event.EventMonitor;
025: import org.apache.maven.profiles.ProfileManager;
026: import org.apache.maven.settings.Settings;
027: import org.apache.maven.wagon.events.TransferListener;
028: import org.codehaus.plexus.logging.Logger;
029:
030: import java.io.File;
031: import java.util.Date;
032: import java.util.List;
033: import java.util.Properties;
034:
035: /**
036: * @author Jason van Zyl
037: * @version $Id: MavenExecutionRequest.java 573718 2007-09-07 21:29:08Z jvanzyl $
038: */
039: public interface MavenExecutionRequest {
040: // ----------------------------------------------------------------------
041: // Logging
042: // ----------------------------------------------------------------------
043:
044: static final int LOGGING_LEVEL_DEBUG = Logger.LEVEL_DEBUG;
045:
046: static final int LOGGING_LEVEL_INFO = Logger.LEVEL_INFO;
047:
048: static final int LOGGING_LEVEL_WARN = Logger.LEVEL_WARN;
049:
050: static final int LOGGING_LEVEL_ERROR = Logger.LEVEL_ERROR;
051:
052: static final int LOGGING_LEVEL_FATAL = Logger.LEVEL_FATAL;
053:
054: static final int LOGGING_LEVEL_DISABLED = Logger.LEVEL_DISABLED;
055:
056: // ----------------------------------------------------------------------
057: // Reactor Failure Mode
058: // ----------------------------------------------------------------------
059:
060: static final String REACTOR_FAIL_FAST = ReactorManager.FAIL_FAST;
061:
062: static final String REACTOR_FAIL_AT_END = ReactorManager.FAIL_AT_END;
063:
064: static final String REACTOR_FAIL_NEVER = ReactorManager.FAIL_NEVER;
065:
066: // ----------------------------------------------------------------------
067: // Artifactr repository policies
068: // ----------------------------------------------------------------------
069:
070: static final String CHECKSUM_POLICY_FAIL = ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL;
071:
072: static final String CHECKSUM_POLICY_WARN = ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN;
073:
074: // ----------------------------------------------------------------------
075: //
076: // ----------------------------------------------------------------------
077:
078: // Base directory
079: MavenExecutionRequest setBaseDirectory(File basedir);
080:
081: String getBaseDirectory();
082:
083: // Timing (remove this)
084: MavenExecutionRequest setStartTime(Date start);
085:
086: Date getStartTime();
087:
088: // Goals
089: MavenExecutionRequest setGoals(List goals);
090:
091: List getGoals();
092:
093: // Properties
094: MavenExecutionRequest setProperties(Properties properties);
095:
096: MavenExecutionRequest setProperty(String key, String value);
097:
098: Properties getProperties();
099:
100: // Reactor
101: MavenExecutionRequest setReactorFailureBehavior(
102: String failureBehavior);
103:
104: String getReactorFailureBehavior();
105:
106: MavenExecutionRequest setUseReactor(boolean useReactor);
107:
108: boolean useReactor();
109:
110: // Recursive (really to just process the top-level POM)
111: MavenExecutionRequest setRecursive(boolean recursive);
112:
113: boolean isRecursive();
114:
115: // Event monitors
116: MavenExecutionRequest addEventMonitor(EventMonitor monitor);
117:
118: List getEventMonitors();
119:
120: // Pom
121: MavenExecutionRequest setPomFile(String pomFilename);
122:
123: String getPomFile();
124:
125: // Errors
126: MavenExecutionRequest setShowErrors(boolean showErrors);
127:
128: boolean isShowErrors();
129:
130: // Transfer listeners
131: MavenExecutionRequest setTransferListener(
132: TransferListener transferListener);
133:
134: TransferListener getTransferListener();
135:
136: // Logging
137: MavenExecutionRequest setLoggingLevel(int loggingLevel);
138:
139: int getLoggingLevel();
140:
141: // Update snapshots
142: MavenExecutionRequest setUpdateSnapshots(boolean updateSnapshots);
143:
144: boolean isUpdateSnapshots();
145:
146: MavenExecutionRequest setNoSnapshotUpdates(boolean noSnapshotUpdates);
147:
148: boolean isNoSnapshotUpdates();
149:
150: // Checksum policy
151: MavenExecutionRequest setGlobalChecksumPolicy(
152: String globalChecksumPolicy);
153:
154: String getGlobalChecksumPolicy();
155:
156: // Local repository
157: MavenExecutionRequest setLocalRepositoryPath(String localRepository);
158:
159: MavenExecutionRequest setLocalRepositoryPath(File localRepository);
160:
161: File getLocalRepositoryPath();
162:
163: MavenExecutionRequest setLocalRepository(
164: ArtifactRepository repository);
165:
166: ArtifactRepository getLocalRepository();
167:
168: // Interactive
169: MavenExecutionRequest setInteractiveMode(boolean interactive);
170:
171: boolean isInteractiveMode();
172:
173: // Offline
174: MavenExecutionRequest setOffline(boolean offline);
175:
176: boolean isOffline();
177:
178: // Profiles
179: List getProfiles();
180:
181: MavenExecutionRequest setProfiles(List profiles);
182:
183: MavenExecutionRequest addActiveProfile(String profile);
184:
185: MavenExecutionRequest addActiveProfiles(List profiles);
186:
187: List getActiveProfiles();
188:
189: //MAPI: do we really need to do this? deactivate active profile? seems confusing.
190: MavenExecutionRequest addInactiveProfile(String profile);
191:
192: MavenExecutionRequest addInactiveProfiles(List profiles);
193:
194: List getInactiveProfiles();
195:
196: // Proxies
197: List getProxies();
198:
199: MavenExecutionRequest setProxies(List proxies);
200:
201: // Servers
202: List getServers();
203:
204: MavenExecutionRequest setServers(List servers);
205:
206: // Mirrors
207: List getMirrors();
208:
209: MavenExecutionRequest setMirrors(List mirrors);
210:
211: // Plugin groups
212: List getPluginGroups();
213:
214: MavenExecutionRequest setPluginGroups(List pluginGroups);
215:
216: boolean isUsePluginUpdateOverride();
217:
218: MavenExecutionRequest setUsePluginUpdateOverride(
219: boolean usePluginUpdateOverride);
220:
221: // Setting
222: Settings getSettings();
223:
224: MavenExecutionRequest setSettings(Settings settings);
225:
226: ProfileManager getProfileManager();
227:
228: MavenExecutionRequest setProfileManager(
229: ProfileManager profileManager);
230:
231: boolean isProjectPresent();
232:
233: MavenExecutionRequest setProjectPresent(boolean isProjectPresent);
234:
235: File getUserSettingsFile();
236:
237: MavenExecutionRequest setUserSettingsFile(File userSettingsFile);
238:
239: File getGlobalSettingsFile();
240:
241: MavenExecutionRequest setGlobalSettingsFile(File globalSettingsFile);
242: }
|