From 99b2cd257611da6d72d4cd6122c31f87a4361a96 Mon Sep 17 00:00:00 2001 From: Benjamin Bentmann Date: Sat, 13 Nov 2010 22:09:24 +0000 Subject: [PATCH] [MNG-4896] Help for -pl option does not include use of comma-sep, also more than one -pl does not work or complain Submitted by: Jason Dillon o Applied with fixed formatting git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@1034892 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/maven/cli/CLIManager.java | 2 +- .../src/main/java/org/apache/maven/cli/MavenCli.java | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java b/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java index 21d95a0825..507526df05 100644 --- a/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java +++ b/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java @@ -126,7 +126,7 @@ public CLIManager() options.addOption( OptionBuilder.withLongOpt( "fail-at-end" ).withDescription( "Only fail the build afterwards; allow all non-impacted builds to continue" ).create( FAIL_AT_END ) ); options.addOption( OptionBuilder.withLongOpt( "fail-never" ).withDescription( "NEVER fail the build, regardless of project result" ).create( FAIL_NEVER ) ); options.addOption( OptionBuilder.withLongOpt( "resume-from" ).hasArg().withDescription( "Resume reactor from specified project" ).create( RESUME_FROM ) ); - options.addOption( OptionBuilder.withLongOpt( "projects" ).withDescription( "Build specified reactor projects instead of all projects. A project can be specified by [groupId]:artifactId or by its relative path." ).hasArg().create( PROJECT_LIST ) ); + options.addOption( OptionBuilder.withLongOpt( "projects" ).withDescription( "Comma-delimited list of specified reactor projects to build instead of all projects. A project can be specified by [groupId]:artifactId or by its relative path." ).hasArg().create( PROJECT_LIST ) ); options.addOption( OptionBuilder.withLongOpt( "also-make" ).withDescription( "If project list is specified, also build projects required by the list" ).create( ALSO_MAKE ) ); options.addOption( OptionBuilder.withLongOpt( "also-make-dependents" ).withDescription( "If project list is specified, also build projects that depend on projects on the list" ).create( ALSO_MAKE_DEPENDENTS ) ); options.addOption( OptionBuilder.withLongOpt( "log-file" ).hasArg().withDescription( "Log file to where all build output will go." ).create( LOG_FILE ) ); diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java index 336fdf41c6..0f65efe13c 100644 --- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java +++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java @@ -861,9 +861,14 @@ else if ( request.isInteractiveMode() ) if ( commandLine.hasOption( CLIManager.PROJECT_LIST ) ) { - String projectList = commandLine.getOptionValue( CLIManager.PROJECT_LIST ); - String[] projects = StringUtils.split( projectList, "," ); - request.setSelectedProjects( Arrays.asList( projects ) ); + String[] values = commandLine.getOptionValues( CLIManager.PROJECT_LIST ); + List projects = new ArrayList(); + for ( int i = 0; i < values.length; i++ ) + { + String[] tmp = StringUtils.split( values[i], "," ); + projects.addAll( Arrays.asList( tmp ) ); + } + request.setSelectedProjects( projects ); } if ( commandLine.hasOption( CLIManager.ALSO_MAKE )