Author: bentmann
Date: Sun Aug 24 11:38:59 2008
New Revision: 688545

URL: http://svn.apache.org/viewvc?rev=688545&view=rev
Log:
[MINVOKER-59] Using invoker.profiles with empty value causes unintended build

Modified:
    
maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerProperties.java
    
maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InvokerPropertiesTest.java

Modified: 
maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerProperties.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerProperties.java?rev=688545&r1=688544&r2=688545&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerProperties.java
 (original)
+++ 
maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerProperties.java
 Sun Aug 24 11:38:59 2008
@@ -24,6 +24,7 @@
 import java.util.Properties;
 
 import org.apache.maven.shared.invoker.InvocationRequest;
+import org.codehaus.plexus.util.StringUtils;
 
 /**
  * Provides a convenient facade around the <code>invoker.properties</code>.
@@ -83,13 +84,13 @@
         String goals = get( "invoker.goals", index );
         if ( goals != null )
         {
-            request.setGoals( new ArrayList( Arrays.asList( 
goals.trim().split( "[,\\s]+" ) ) ) );
+            request.setGoals( new ArrayList( Arrays.asList( StringUtils.split( 
goals, ", \t\n\r\f" ) ) ) );
         }
 
         String profiles = get( "invoker.profiles", index );
         if ( profiles != null )
         {
-            request.setProfiles( new ArrayList( Arrays.asList( 
profiles.trim().split( "[,\\s]+" ) ) ) );
+            request.setProfiles( new ArrayList( Arrays.asList( 
StringUtils.split( profiles, ", \t\n\r\f" ) ) ) );
         }
 
         String mvnOpts = get( "invoker.mavenOpts", index );

Modified: 
maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InvokerPropertiesTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InvokerPropertiesTest.java?rev=688545&r1=688544&r2=688545&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InvokerPropertiesTest.java
 (original)
+++ 
maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InvokerPropertiesTest.java
 Sun Aug 24 11:38:59 2008
@@ -95,9 +95,17 @@
         facade.configureInvocation( request, 0 );
         assertEquals( Collections.singletonList( "verify" ), 
request.getGoals() );
 
+        props.setProperty( "invoker.goals", "   " );
+        facade.configureInvocation( request, 0 );
+        assertEquals( Arrays.asList( new String[0] ), request.getGoals() );
+
         props.setProperty( "invoker.goals", "  clean , test   verify  " );
         facade.configureInvocation( request, 0 );
         assertEquals( Arrays.asList( new String[] { "clean", "test", "verify" 
} ), request.getGoals() );
+
+        props.setProperty( "invoker.goals", "" );
+        facade.configureInvocation( request, 0 );
+        assertEquals( Arrays.asList( new String[0] ), request.getGoals() );
     }
 
     public void testConfigureRequestProfiles()
@@ -116,9 +124,17 @@
         facade.configureInvocation( request, 0 );
         assertEquals( Collections.singletonList( "verify" ), 
request.getProfiles() );
 
-        props.setProperty( "invoker.profiles", "  clean , test   verify  " );
+        props.setProperty( "invoker.profiles", "   " );
+        facade.configureInvocation( request, 0 );
+        assertEquals( Arrays.asList( new String[0] ), request.getProfiles() );
+
+        props.setProperty( "invoker.profiles", "  clean , test   verify  ," );
         facade.configureInvocation( request, 0 );
         assertEquals( Arrays.asList( new String[] { "clean", "test", "verify" 
} ), request.getProfiles() );
+
+        props.setProperty( "invoker.profiles", "" );
+        facade.configureInvocation( request, 0 );
+        assertEquals( Arrays.asList( new String[0] ), request.getProfiles() );
     }
 
     public void testConfigureRequestMavenOpts()


Reply via email to