public class MavenCli
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
MavenCli.ExitException |
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
ANSI_RESET |
private org.codehaus.plexus.classworlds.ClassWorld |
classWorld |
private java.util.Map<java.lang.String,ConfigurationProcessor> |
configurationProcessors |
static java.io.File |
DEFAULT_GLOBAL_TOOLCHAINS_FILE |
static java.io.File |
DEFAULT_USER_TOOLCHAINS_FILE |
private org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher |
dispatcher |
private EventSpyDispatcher |
eventSpyDispatcher |
private MavenExecutionRequestPopulator |
executionRequestPopulator |
private static java.lang.String |
EXT_CLASS_PATH |
private static java.lang.String |
EXTENSIONS_FILENAME |
private static java.util.regex.Pattern |
LAST_ANSI_SEQUENCE |
static java.lang.String |
LOCAL_REPO_PROPERTY |
private Maven |
maven |
private ModelProcessor |
modelProcessor |
static java.lang.String |
MULTIMODULE_PROJECT_DIRECTORY |
private static java.lang.String |
MVN_MAVEN_CONFIG |
private org.codehaus.plexus.logging.LoggerManager |
plexusLoggerManager |
private org.slf4j.Logger |
slf4jLogger |
private org.slf4j.ILoggerFactory |
slf4jLoggerFactory |
static java.lang.String |
STYLE_COLOR_PROPERTY |
private ToolchainsBuilder |
toolchainsBuilder |
static java.lang.String |
USER_HOME |
static java.io.File |
USER_MAVEN_CONFIGURATION_HOME |
Constructor and Description |
---|
MavenCli() |
MavenCli(org.codehaus.plexus.classworlds.ClassWorld classWorld) |
Modifier and Type | Method and Description |
---|---|
(package private) int |
calculateDegreeOfConcurrencyWithCoreMultiplier(java.lang.String threadConfiguration) |
(package private) void |
cli(CliRequest cliRequest) |
private org.apache.commons.cli.CommandLine |
cliMerge(org.apache.commons.cli.CommandLine mavenArgs,
org.apache.commons.cli.CommandLine mavenConfig) |
private void |
commands(CliRequest cliRequest) |
private void |
configure(CliRequest cliRequest) |
(package private) org.codehaus.plexus.PlexusContainer |
container(CliRequest cliRequest) |
protected ModelProcessor |
createModelProcessor(org.codehaus.plexus.PlexusContainer container) |
protected void |
customizeContainer(org.codehaus.plexus.PlexusContainer container) |
int |
doMain(CliRequest cliRequest) |
static int |
doMain(java.lang.String[] args,
org.codehaus.plexus.classworlds.ClassWorld classWorld) |
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.
|
private void |
encryption(CliRequest cliRequest) |
private int |
execute(CliRequest cliRequest) |
protected org.eclipse.aether.transfer.TransferListener |
getBatchTransferListener() |
protected org.eclipse.aether.transfer.TransferListener |
getConsoleTransferListener(boolean printResourceNames) |
private java.lang.Object |
getLocation(Source source,
java.io.File defaultLocation) |
private java.lang.String |
getResumeFrom(java.util.List<MavenProject> mavenProjects,
MavenProject failedProject)
A helper method to determine the value to resume the build with
-rf taking into account the
edge case where multiple modules in the reactor have the same artifactId. |
(package private) void |
initialize(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) void |
logging(CliRequest cliRequest)
configure logging
|
private void |
logSummary(ExceptionSummary summary,
java.util.Map<java.lang.String,java.lang.String> references,
java.lang.String indent,
boolean showErrors) |
static void |
main(java.lang.String[] args) |
static int |
main(java.lang.String[] args,
org.codehaus.plexus.classworlds.ClassWorld classWorld) |
private java.util.List<java.io.File> |
parseExtClasspath(CliRequest cliRequest) |
(package private) static void |
populateProperties(org.apache.commons.cli.CommandLine commandLine,
java.util.Properties systemProperties,
java.util.Properties userProperties) |
private MavenExecutionRequest |
populateRequest(CliRequest cliRequest) |
private MavenExecutionRequest |
populateRequest(CliRequest cliRequest,
MavenExecutionRequest request) |
(package private) void |
properties(CliRequest cliRequest) |
private java.util.List<CoreExtension> |
readCoreExtensionsDescriptor(java.io.File extensionsFile) |
private void |
repository(CliRequest cliRequest) |
(package private) static java.io.File |
resolveFile(java.io.File file,
java.lang.String workingDirectory) |
private static <T> java.util.List<T> |
reverse(java.util.List<T> list) |
private static void |
setCliProperty(java.lang.String property,
java.util.Properties properties) |
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) |
(package private) void |
toolchains(CliRequest cliRequest) |
private void |
version(CliRequest cliRequest) |
public static final java.lang.String LOCAL_REPO_PROPERTY
public static final java.lang.String MULTIMODULE_PROJECT_DIRECTORY
public static final java.lang.String USER_HOME
public static final java.io.File USER_MAVEN_CONFIGURATION_HOME
public static final java.io.File DEFAULT_USER_TOOLCHAINS_FILE
public static final java.io.File DEFAULT_GLOBAL_TOOLCHAINS_FILE
private static final java.lang.String EXT_CLASS_PATH
private static final java.lang.String EXTENSIONS_FILENAME
private static final java.lang.String MVN_MAVEN_CONFIG
public static final java.lang.String STYLE_COLOR_PROPERTY
private org.codehaus.plexus.classworlds.ClassWorld classWorld
private org.codehaus.plexus.logging.LoggerManager plexusLoggerManager
private org.slf4j.ILoggerFactory slf4jLoggerFactory
private org.slf4j.Logger slf4jLogger
private EventSpyDispatcher eventSpyDispatcher
private ModelProcessor modelProcessor
private Maven maven
private MavenExecutionRequestPopulator executionRequestPopulator
private ToolchainsBuilder toolchainsBuilder
private org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher dispatcher
private java.util.Map<java.lang.String,ConfigurationProcessor> configurationProcessors
private static final java.util.regex.Pattern LAST_ANSI_SEQUENCE
private static final java.lang.String ANSI_RESET
public MavenCli()
public MavenCli(org.codehaus.plexus.classworlds.ClassWorld classWorld)
public static void main(java.lang.String[] args)
public static int main(java.lang.String[] args, org.codehaus.plexus.classworlds.ClassWorld classWorld)
public static int doMain(java.lang.String[] args, org.codehaus.plexus.classworlds.ClassWorld classWorld)
public int doMain(java.lang.String[] args, java.lang.String workingDirectory, java.io.PrintStream stdout, java.io.PrintStream stderr)
Embedded3xLauncher
in maven-verifier
public int doMain(CliRequest cliRequest)
void initialize(CliRequest cliRequest) throws MavenCli.ExitException
MavenCli.ExitException
void cli(CliRequest cliRequest) throws java.lang.Exception
java.lang.Exception
private org.apache.commons.cli.CommandLine cliMerge(org.apache.commons.cli.CommandLine mavenArgs, org.apache.commons.cli.CommandLine mavenConfig)
void logging(CliRequest cliRequest)
private void version(CliRequest cliRequest)
private void commands(CliRequest cliRequest)
void properties(CliRequest cliRequest)
org.codehaus.plexus.PlexusContainer container(CliRequest cliRequest) throws java.lang.Exception
java.lang.Exception
private java.util.List<CoreExtensionEntry> loadCoreExtensions(CliRequest cliRequest, org.codehaus.plexus.classworlds.realm.ClassRealm containerRealm, java.util.Set<java.lang.String> providedArtifacts)
private java.util.List<CoreExtension> readCoreExtensionsDescriptor(java.io.File extensionsFile) throws java.io.IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException
java.io.IOException
org.codehaus.plexus.util.xml.pull.XmlPullParserException
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
java.lang.Exception
private static <T> java.util.List<T> reverse(java.util.List<T> list)
private java.util.List<java.io.File> parseExtClasspath(CliRequest cliRequest)
private void encryption(CliRequest cliRequest) throws java.lang.Exception
java.lang.Exception
private void repository(CliRequest cliRequest) throws java.lang.Exception
java.lang.Exception
private int execute(CliRequest cliRequest) throws MavenExecutionRequestPopulationException
private java.lang.String getResumeFrom(java.util.List<MavenProject> mavenProjects, MavenProject failedProject)
-rf
taking into account the
edge case where multiple modules in the reactor have the same artifactId.
-rf :artifactId
will 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:artifactId
when there is a name clash and
:artifactId
if there is no conflict.
mavenProjects
- Maven projects which are part of build execution.failedProject
- Project which has failed.:artifactId
in
general and groupId:artifactId
when there is a name clash).private void logSummary(ExceptionSummary summary, java.util.Map<java.lang.String,java.lang.String> references, java.lang.String indent, boolean showErrors)
private void configure(CliRequest cliRequest) throws java.lang.Exception
java.lang.Exception
void toolchains(CliRequest cliRequest) throws java.lang.Exception
java.lang.Exception
private java.lang.Object getLocation(Source source, java.io.File defaultLocation)
private MavenExecutionRequest populateRequest(CliRequest cliRequest)
private MavenExecutionRequest populateRequest(CliRequest cliRequest, MavenExecutionRequest request)
int calculateDegreeOfConcurrencyWithCoreMultiplier(java.lang.String threadConfiguration)
static java.io.File resolveFile(java.io.File file, java.lang.String workingDirectory)
static void populateProperties(org.apache.commons.cli.CommandLine commandLine, java.util.Properties systemProperties, java.util.Properties userProperties)
private static void setCliProperty(java.lang.String property, java.util.Properties properties)
protected org.eclipse.aether.transfer.TransferListener getConsoleTransferListener(boolean printResourceNames)
protected org.eclipse.aether.transfer.TransferListener getBatchTransferListener()
protected void customizeContainer(org.codehaus.plexus.PlexusContainer container)
protected ModelProcessor createModelProcessor(org.codehaus.plexus.PlexusContainer container) throws org.codehaus.plexus.component.repository.exception.ComponentLookupException
org.codehaus.plexus.component.repository.exception.ComponentLookupException