Package org.apache.maven.cli
Class MavenCli
- java.lang.Object
-
- org.apache.maven.cli.MavenCli
-
public class MavenCli extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classMavenCli.ExitException
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringANSI_RESETprivate org.codehaus.plexus.classworlds.ClassWorldclassWorldprivate java.util.Map<java.lang.String,ConfigurationProcessor>configurationProcessorsstatic java.io.FileDEFAULT_GLOBAL_TOOLCHAINS_FILEstatic java.io.FileDEFAULT_USER_TOOLCHAINS_FILEprivate org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcherdispatcherprivate EventSpyDispatchereventSpyDispatcherprivate MavenExecutionRequestPopulatorexecutionRequestPopulatorprivate static java.lang.StringEXT_CLASS_PATHprivate static java.lang.StringEXTENSIONS_FILENAMEprivate static java.util.regex.PatternLAST_ANSI_SEQUENCEstatic java.lang.StringLOCAL_REPO_PROPERTYprivate Mavenmavenprivate ModelProcessormodelProcessorstatic java.lang.StringMULTIMODULE_PROJECT_DIRECTORYprivate static java.lang.StringMVN_MAVEN_CONFIGprivate org.codehaus.plexus.logging.LoggerManagerplexusLoggerManagerprivate org.slf4j.Loggerslf4jLoggerprivate org.slf4j.ILoggerFactoryslf4jLoggerFactorystatic java.lang.StringSTYLE_COLOR_PROPERTYprivate ToolchainsBuildertoolchainsBuilderstatic java.lang.StringUSER_HOMEstatic java.io.FileUSER_MAVEN_CONFIGURATION_HOME
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) intcalculateDegreeOfConcurrencyWithCoreMultiplier(java.lang.String threadConfiguration)(package private) voidcli(CliRequest cliRequest)private org.apache.commons.cli.CommandLinecliMerge(org.apache.commons.cli.CommandLine mavenArgs, org.apache.commons.cli.CommandLine mavenConfig)private voidcommands(CliRequest cliRequest)private voidconfigure(CliRequest cliRequest)(package private) org.codehaus.plexus.PlexusContainercontainer(CliRequest cliRequest)protected ModelProcessorcreateModelProcessor(org.codehaus.plexus.PlexusContainer container)protected voidcustomizeContainer(org.codehaus.plexus.PlexusContainer container)intdoMain(java.lang.String[] args, java.lang.String workingDirectory, java.io.PrintStream stdout, java.io.PrintStream stderr)This supports painless invocation by the Verifier during embedded execution of the core ITs.static intdoMain(java.lang.String[] args, org.codehaus.plexus.classworlds.ClassWorld classWorld)intdoMain(CliRequest cliRequest)private voidencryption(CliRequest cliRequest)private intexecute(CliRequest cliRequest)protected org.eclipse.aether.transfer.TransferListenergetBatchTransferListener()protected org.eclipse.aether.transfer.TransferListenergetConsoleTransferListener(boolean printResourceNames)private java.lang.ObjectgetLocation(Source source, java.io.File defaultLocation)private java.lang.StringgetResumeFrom(java.util.List<MavenProject> mavenProjects, MavenProject failedProject)A helper method to determine the value to resume the build with-rftaking into account the edge case where multiple modules in the reactor have the same artifactId.(package private) voidinitialize(CliRequest cliRequest)private java.util.List<CoreExtensionEntry>loadCoreExtensions(CliRequest cliRequest, org.codehaus.plexus.classworlds.realm.ClassRealm containerRealm, java.util.Set<java.lang.String> providedArtifacts)(package private) voidlogging(CliRequest cliRequest)configure loggingprivate voidlogSummary(ExceptionSummary summary, java.util.Map<java.lang.String,java.lang.String> references, java.lang.String indent, boolean showErrors)static voidmain(java.lang.String[] args)static intmain(java.lang.String[] args, org.codehaus.plexus.classworlds.ClassWorld classWorld)private java.util.List<java.io.File>parseExtClasspath(CliRequest cliRequest)(package private) static voidpopulateProperties(org.apache.commons.cli.CommandLine commandLine, java.util.Properties systemProperties, java.util.Properties userProperties)private MavenExecutionRequestpopulateRequest(CliRequest cliRequest)private MavenExecutionRequestpopulateRequest(CliRequest cliRequest, MavenExecutionRequest request)(package private) voidproperties(CliRequest cliRequest)private java.util.List<CoreExtension>readCoreExtensionsDescriptor(java.io.File extensionsFile)private voidrepository(CliRequest cliRequest)(package private) static java.io.FileresolveFile(java.io.File file, java.lang.String workingDirectory)private static <T> java.util.List<T>reverse(java.util.List<T> list)private static voidsetCliProperty(java.lang.String property, java.util.Properties properties)private org.codehaus.plexus.classworlds.realm.ClassRealmsetupContainerRealm(org.codehaus.plexus.classworlds.ClassWorld classWorld, org.codehaus.plexus.classworlds.realm.ClassRealm coreRealm, java.util.List<java.io.File> extClassPath, java.util.List<CoreExtensionEntry> extensions)(package private) voidtoolchains(CliRequest cliRequest)private voidversion(CliRequest cliRequest)
-
-
-
Field Detail
-
LOCAL_REPO_PROPERTY
public static final java.lang.String LOCAL_REPO_PROPERTY
- See Also:
- Constant Field Values
-
MULTIMODULE_PROJECT_DIRECTORY
public static final java.lang.String MULTIMODULE_PROJECT_DIRECTORY
- See Also:
- Constant Field Values
-
USER_HOME
public static final java.lang.String USER_HOME
-
USER_MAVEN_CONFIGURATION_HOME
public static final java.io.File USER_MAVEN_CONFIGURATION_HOME
-
DEFAULT_USER_TOOLCHAINS_FILE
public static final java.io.File DEFAULT_USER_TOOLCHAINS_FILE
-
DEFAULT_GLOBAL_TOOLCHAINS_FILE
public static final java.io.File DEFAULT_GLOBAL_TOOLCHAINS_FILE
-
EXT_CLASS_PATH
private static final java.lang.String EXT_CLASS_PATH
- See Also:
- Constant Field Values
-
EXTENSIONS_FILENAME
private static final java.lang.String EXTENSIONS_FILENAME
- See Also:
- Constant Field Values
-
MVN_MAVEN_CONFIG
private static final java.lang.String MVN_MAVEN_CONFIG
- See Also:
- Constant Field Values
-
STYLE_COLOR_PROPERTY
public static final java.lang.String STYLE_COLOR_PROPERTY
- See Also:
- Constant Field Values
-
classWorld
private org.codehaus.plexus.classworlds.ClassWorld classWorld
-
plexusLoggerManager
private org.codehaus.plexus.logging.LoggerManager plexusLoggerManager
-
slf4jLoggerFactory
private org.slf4j.ILoggerFactory slf4jLoggerFactory
-
slf4jLogger
private org.slf4j.Logger slf4jLogger
-
eventSpyDispatcher
private EventSpyDispatcher eventSpyDispatcher
-
modelProcessor
private ModelProcessor modelProcessor
-
maven
private Maven maven
-
executionRequestPopulator
private MavenExecutionRequestPopulator executionRequestPopulator
-
toolchainsBuilder
private ToolchainsBuilder toolchainsBuilder
-
dispatcher
private org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher dispatcher
-
configurationProcessors
private java.util.Map<java.lang.String,ConfigurationProcessor> configurationProcessors
-
LAST_ANSI_SEQUENCE
private static final java.util.regex.Pattern LAST_ANSI_SEQUENCE
-
ANSI_RESET
private static final java.lang.String ANSI_RESET
- See Also:
- Constant Field Values
-
-
Method Detail
-
main
public static void main(java.lang.String[] args)
-
main
public static int main(java.lang.String[] args, org.codehaus.plexus.classworlds.ClassWorld classWorld)
-
doMain
public static int doMain(java.lang.String[] args, org.codehaus.plexus.classworlds.ClassWorld classWorld)
-
doMain
public int doMain(java.lang.String[] args, java.lang.String workingDirectory, java.io.PrintStream stdout, java.io.PrintStream stderr)This supports painless invocation by the Verifier during embedded execution of the core ITs. SeeEmbedded3xLauncherinmaven-verifier
-
doMain
public int doMain(CliRequest cliRequest)
-
initialize
void initialize(CliRequest cliRequest) throws MavenCli.ExitException
- Throws:
MavenCli.ExitException
-
cli
void cli(CliRequest cliRequest) throws java.lang.Exception
- Throws:
java.lang.Exception
-
cliMerge
private org.apache.commons.cli.CommandLine cliMerge(org.apache.commons.cli.CommandLine mavenArgs, org.apache.commons.cli.CommandLine mavenConfig)
-
logging
void logging(CliRequest cliRequest)
configure logging
-
version
private void version(CliRequest cliRequest)
-
commands
private void commands(CliRequest cliRequest)
-
properties
void properties(CliRequest cliRequest)
-
container
org.codehaus.plexus.PlexusContainer container(CliRequest cliRequest) throws java.lang.Exception
- Throws:
java.lang.Exception
-
loadCoreExtensions
private java.util.List<CoreExtensionEntry> loadCoreExtensions(CliRequest cliRequest, org.codehaus.plexus.classworlds.realm.ClassRealm containerRealm, java.util.Set<java.lang.String> providedArtifacts)
-
readCoreExtensionsDescriptor
private java.util.List<CoreExtension> readCoreExtensionsDescriptor(java.io.File extensionsFile) throws java.io.IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException
- Throws:
java.io.IOExceptionorg.codehaus.plexus.util.xml.pull.XmlPullParserException
-
setupContainerRealm
private org.codehaus.plexus.classworlds.realm.ClassRealm setupContainerRealm(org.codehaus.plexus.classworlds.ClassWorld classWorld, org.codehaus.plexus.classworlds.realm.ClassRealm coreRealm, java.util.List<java.io.File> extClassPath, java.util.List<CoreExtensionEntry> extensions) throws java.lang.Exception- Throws:
java.lang.Exception
-
reverse
private static <T> java.util.List<T> reverse(java.util.List<T> list)
-
parseExtClasspath
private java.util.List<java.io.File> parseExtClasspath(CliRequest cliRequest)
-
encryption
private void encryption(CliRequest cliRequest) throws java.lang.Exception
- Throws:
java.lang.Exception
-
repository
private void repository(CliRequest cliRequest) throws java.lang.Exception
- Throws:
java.lang.Exception
-
execute
private int execute(CliRequest cliRequest) throws MavenExecutionRequestPopulationException
-
getResumeFrom
private java.lang.String getResumeFrom(java.util.List<MavenProject> mavenProjects, MavenProject failedProject)
A helper method to determine the value to resume the build with-rftaking into account the edge case where multiple modules in the reactor have the same artifactId.-rf :artifactIdwill pick up the first module which matches, but when multiple modules in the reactor have the same artifactId, effective failed module might be later in build reactor. This means that developer will either have to type groupId or wait for build execution of all modules which were fine, but they are still before one which reported errors.Then the returned value is
groupId:artifactIdwhen there is a name clash and:artifactIdif there is no conflict.- Parameters:
mavenProjects- Maven projects which are part of build execution.failedProject- Project which has failed.- Returns:
- Value for -rf flag to resume build exactly from place where it failed (
:artifactIdin general andgroupId:artifactIdwhen there is a name clash).
-
logSummary
private void logSummary(ExceptionSummary summary, java.util.Map<java.lang.String,java.lang.String> references, java.lang.String indent, boolean showErrors)
-
configure
private void configure(CliRequest cliRequest) throws java.lang.Exception
- Throws:
java.lang.Exception
-
toolchains
void toolchains(CliRequest cliRequest) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getLocation
private java.lang.Object getLocation(Source source, java.io.File defaultLocation)
-
populateRequest
private MavenExecutionRequest populateRequest(CliRequest cliRequest)
-
populateRequest
private MavenExecutionRequest populateRequest(CliRequest cliRequest, MavenExecutionRequest request)
-
calculateDegreeOfConcurrencyWithCoreMultiplier
int calculateDegreeOfConcurrencyWithCoreMultiplier(java.lang.String threadConfiguration)
-
resolveFile
static java.io.File resolveFile(java.io.File file, java.lang.String workingDirectory)
-
populateProperties
static void populateProperties(org.apache.commons.cli.CommandLine commandLine, java.util.Properties systemProperties, java.util.Properties userProperties)
-
setCliProperty
private static void setCliProperty(java.lang.String property, java.util.Properties properties)
-
getConsoleTransferListener
protected org.eclipse.aether.transfer.TransferListener getConsoleTransferListener(boolean printResourceNames)
-
getBatchTransferListener
protected org.eclipse.aether.transfer.TransferListener getBatchTransferListener()
-
customizeContainer
protected void customizeContainer(org.codehaus.plexus.PlexusContainer container)
-
createModelProcessor
protected ModelProcessor createModelProcessor(org.codehaus.plexus.PlexusContainer container) throws org.codehaus.plexus.component.repository.exception.ComponentLookupException
- Throws:
org.codehaus.plexus.component.repository.exception.ComponentLookupException
-
-