You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/08/09 23:00:16 UTC

svn commit: r564380 - in /maven/shared/trunk/maven-invoker: ./ src/main/java/org/apache/maven/shared/invoker/ src/test/java/org/apache/maven/shared/invoker/

Author: jdcasey
Date: Thu Aug  9 14:00:15 2007
New Revision: 564380

URL: http://svn.apache.org/viewvc?view=rev&rev=564380
Log:
Adding activated profiles functionality.

Modified:
    maven/shared/trunk/maven-invoker/pom.xml
    maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java
    maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java
    maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java
    maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java

Modified: maven/shared/trunk/maven-invoker/pom.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-invoker/pom.xml?view=diff&rev=564380&r1=564379&r2=564380
==============================================================================
--- maven/shared/trunk/maven-invoker/pom.xml (original)
+++ maven/shared/trunk/maven-invoker/pom.xml Thu Aug  9 14:00:15 2007
@@ -83,4 +83,11 @@
     <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/trunk/maven-invoker</developerConnection>
     <url>http://svn.apache.org/viewcvs.cgi/maven/shared/trunk/maven-invoker</url>
   </scm>
+  
+  <distributionManagement>
+    <snapshotRepository>
+      <id>asf.snapshots</id>
+      <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
+    </snapshotRepository>
+  </distributionManagement>
 </project>

Modified: maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java?view=diff&rev=564380&r1=564379&r2=564380
==============================================================================
--- maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java (original)
+++ maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java Thu Aug  9 14:00:15 2007
@@ -28,6 +28,7 @@
     private File userSettings;
     private String globalChecksumPolicy;
     private String pomFilename;
+    private List profiles;
 
     public InvocationRequest activateReactor( String[] includes, String[] excludes )
     {
@@ -245,6 +246,17 @@
     public InvocationRequest setPomFileName( String pomFilename )
     {
         this.pomFilename = pomFilename;
+        return this;
+    }
+
+    public List getProfiles()
+    {
+        return profiles;
+    }
+
+    public InvocationRequest setProfiles( List profiles )
+    {
+        this.profiles = profiles;
         return this;
     }
 

Modified: maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java?view=diff&rev=564380&r1=564379&r2=564380
==============================================================================
--- maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java (original)
+++ maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java Thu Aug  9 14:00:15 2007
@@ -37,15 +37,15 @@
     boolean isDebug();
 
     boolean isShowErrors();
-    
+
     boolean isShellEnvironmentInherited();
 
     String getFailureBehavior();
-    
+
     File getLocalRepositoryDirectory( File defaultDirectory );
-    
+
     InputStream getInputStream( InputStream defaultStream );
-    
+
     InvocationOutputHandler getOutputHandler( InvocationOutputHandler defaultHandler );
 
     InvocationOutputHandler getErrorHandler( InvocationOutputHandler defaultHandler );
@@ -61,11 +61,13 @@
     Properties getProperties();
 
     List getGoals();
-    
+
     File getUserSettingsFile();
-    
+
     String getGlobalChecksumPolicy();
 
+    List getProfiles();
+
     // ----------------------------------------------------------------------
     // Reactor Failure Mode
     // ----------------------------------------------------------------------
@@ -79,9 +81,9 @@
     // ----------------------------------------------------------------------
     // Artifactr repository policies
     // ----------------------------------------------------------------------
-    
+
     static final String CHECKSUM_POLICY_FAIL = "fail";
-    
+
     static final String CHECKSUM_POLICY_WARN = "warn";
 
     // ----------------------------------------------------------------------
@@ -97,15 +99,15 @@
     InvocationRequest setShowErrors( boolean showErrors );
 
     InvocationRequest setUpdateSnapshots( boolean updateSnapshots );
-    
+
     InvocationRequest setFailureBehavior( String failureBehavior );
 
     InvocationRequest activateReactor( String[] includes, String[] excludes );
 
     InvocationRequest setLocalRepositoryDirectory( File localRepository );
-    
+
     InvocationRequest setInputStream( InputStream inputStream );
-    
+
     InvocationRequest setOutputHandler( InvocationOutputHandler outputHandler );
 
     InvocationRequest setErrorHandler( InvocationOutputHandler errorHandler );
@@ -117,13 +119,15 @@
     InvocationRequest setBaseDirectory( File basedir );
 
     InvocationRequest setProperties( Properties properties );
-    
+
     InvocationRequest setGoals( List goals );
-    
+
+    InvocationRequest setProfiles( List profiles );
+
     InvocationRequest setShellEnvironmentInherited( boolean shellEnvironmentInherited );
-    
+
     InvocationRequest setUserSettingsFile( File userSettings );
-    
+
     InvocationRequest setGlobalChecksumPolicy( String globalChecksumPolicy );
 
 }

Modified: maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java?view=diff&rev=564380&r1=564379&r2=564380
==============================================================================
--- maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java (original)
+++ maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java Thu Aug  9 14:00:15 2007
@@ -57,6 +57,8 @@
 
         setProperties( request, cli );
 
+        setProfiles( request, cli );
+
         setGoals( request, cli );
 
         return cli;
@@ -131,6 +133,17 @@
                 }
             }
         }
+    }
+
+    protected void setProfiles( InvocationRequest request, Commandline cli )
+    {
+        List profiles = request.getProfiles();
+
+        if ( ( profiles != null ) && !profiles.isEmpty() )
+        {
+            cli.createArgument().setLine( "-P" + StringUtils.join( profiles.iterator(), "," ) );
+        }
+
     }
 
     protected void setGoals( InvocationRequest request, Commandline cli )

Modified: maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java?view=diff&rev=564380&r1=564379&r2=564380
==============================================================================
--- maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java (original)
+++ maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java Thu Aug  9 14:00:15 2007
@@ -29,14 +29,14 @@
     {
         TestCommandLineBuilder tcb = new TestCommandLineBuilder();
         String test = "noSpacesInHere";
-        
+
         assertSame( test, tcb.wrapStringWithQuotes( test ) );
         assertEquals("noSpacesInHere",tcb.wrapStringWithQuotes( test ));
-        
+
         test = "bunch of spaces in here";
         assertNotSame( test, tcb.wrapStringWithQuotes( test ) );
         assertEquals("\"bunch of spaces in here\"",tcb.wrapStringWithQuotes( test ));
-        
+
     }
     public void testShouldFailToSetLocalRepoLocationGloballyWhenItIsAFile()
         throws IOException
@@ -244,10 +244,10 @@
         throws Exception
     {
         String mavenHome = System.getProperty( "maven.home" );
-        
+
         File appDir = null;
 
-        if ( mavenHome == null || !new File( mavenHome ).exists() )
+        if ( ( mavenHome == null ) || !new File( mavenHome ).exists() )
         {
             File tmpDir = getTempDir();
             appDir = new File( tmpDir, "invoker-tests/maven-home" );
@@ -275,7 +275,7 @@
         {
             appDir = new File( mavenHome );
         }
-        
+
         return appDir;
     }
 
@@ -818,7 +818,7 @@
         goals.add( "post-clean" );
         goals.add( "deploy" );
         goals.add( "site-deploy" );
-        
+
         request.setGoals( goals );
 
         MavenCommandLineBuilder commandLineBuilder = new MavenCommandLineBuilder();
@@ -828,7 +828,7 @@
         assertArgumentsPresent( expectedArgs, commandline );
         assertArgumentsNotPresent( bannedArgs, commandline );
         assertArgumentsPresentInOrder( goals, commandline );
-        
+
         File mavenFile;
         if ( Os.isFamily( "windows" ) )
         {
@@ -838,10 +838,10 @@
         {
             mavenFile = new File( mavenDir, "bin/mvn" );
         }
-        
+
         String executable = commandline.getExecutable();
         System.out.println( "Executable is: " + executable );
-        
+
         assertTrue( executable.indexOf( mavenFile.getCanonicalPath() ) > -1 );
         assertEquals( projectDir.getCanonicalPath(), commandline.getWorkingDirectory().getCanonicalPath() );
     }
@@ -885,9 +885,33 @@
 
     }
 
+    public void testShouldInsertActivatedProfiles()
+        throws Exception
+    {
+        File mavenDir = setupTempMavenHomeIfMissing();
+
+        String profile1 = "profile-1";
+        String profile2 = "profile-2";
+
+        InvocationRequest request = new DefaultInvocationRequest();
+
+        List profiles = new ArrayList();
+        profiles.add( profile1 );
+        profiles.add( profile2 );
+
+        request.setProfiles( profiles );
+
+        MavenCommandLineBuilder commandLineBuilder = new MavenCommandLineBuilder();
+
+
+        Commandline commandline = commandLineBuilder.build( request );
+
+        assertArgumentsPresent( Collections.singleton( "-P" + profile1 + "," + profile2 ), commandline );
+    }
+
     public void setUp()
     {
-        sysProps = System.getProperties();        
+        sysProps = System.getProperties();
 
         Properties p = new Properties( sysProps );
 
@@ -931,13 +955,13 @@
         String[] arguments = cli.getArguments();
 
         int expectedCounter = 0;
-        
+
 //        System.out.println( "Command-line has " + arguments.length + " arguments." );
 
         for ( int i = 0; i < arguments.length; i++ )
         {
 //            System.out.println( "Checking argument: " + arguments[i] + " against: " + expected.get( expectedCounter ) );
-            
+
             if ( arguments[i].equals( expected.get( expectedCounter ) ) )
             {
                 expectedCounter++;
@@ -953,8 +977,8 @@
         String[] argv = cli.getArguments();
         List args = Arrays.asList( argv );
 
-        //        System.out.println( "Command-line: " + cli );
-        //        System.out.println( "Arguments: " + args );
+//        System.out.println( "Command-line: " + cli );
+//        System.out.println( "Arguments: " + args );
 
         for ( Iterator it = requiredArgs.iterator(); it.hasNext(); )
         {