You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ba...@apache.org on 2007/05/20 14:00:32 UTC

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

Author: baerrach
Date: Sun May 20 05:00:32 2007
New Revision: 539869

URL: http://svn.apache.org/viewvc?view=rev&rev=539869
Log:
[MINVOKER-3] Applied patch (minor changes with formatting)
Upgraded to plexus-utils 1.4.2-SNAPSHOT
Added maven-artifact which was missing from pom
Fixed the FIXME's in MavenCommandLineBuilder around command line handling

Modified:
    maven/shared/trunk/maven-invoker/pom.xml
    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/DefaultInvokerTest.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=539869&r1=539868&r2=539869
==============================================================================
--- maven/shared/trunk/maven-invoker/pom.xml (original)
+++ maven/shared/trunk/maven-invoker/pom.xml Sun May 20 05:00:32 2007
@@ -31,7 +31,12 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
-      <version>1.4.1</version>
+      <version>1.4.2-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact</artifactId>
+      <version>2.0.5</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>

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=539869&r1=539868&r2=539869
==============================================================================
--- 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 Sun May 20 05:00:32 2007
@@ -92,8 +92,8 @@
                     + ". Using as-is.", e );
             }
 
-            // FIXME: Handle quotes in localRepo directory path...
-            cli.createArgument().setLine( "-s " + userSettingsFile.getPath() );
+            cli.createArg().setValue( "-s" );
+            cli.createArg().setValue( userSettingsFile.getPath() );
         }
     }
 
@@ -105,6 +105,7 @@
             try
             {
                 cli.addSystemEnvironment();
+                cli.addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
             }
             catch ( IOException e )
             {
@@ -153,8 +154,7 @@
                 String key = (String) entry.getKey();
                 String value = (String) entry.getValue();
 
-                // FIXME: Handle funky key/value pairs that have spaces, newlines, etc.
-                cli.createArgument().setLine( "-D" + key + "=" + value );
+                cli.createArg().setValue( "-D" + key + "=" + value );
             }
         }
     }
@@ -281,8 +281,7 @@
                     + "\' is NOT a directory." );
             }
 
-            // FIXME: Handle quotes in localRepo directory path...
-            cli.createArgument().setLine( "-Dmaven.repo.local=" + localRepositoryDirectory.getPath() );
+            cli.createArg().setValue( "-Dmaven.repo.local=" + localRepositoryDirectory.getPath() );
         }
     }
 

Modified: maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java?view=diff&rev=539869&r1=539868&r2=539869
==============================================================================
--- maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java (original)
+++ maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java Sun May 20 05:00:32 2007
@@ -5,6 +5,7 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Properties;
 
 import junit.framework.TestCase;
 
@@ -22,10 +23,14 @@
 
         Invoker invoker = new DefaultInvoker();
         invoker.setMavenHome( findMavenHome() );
-        
+
+        Properties props = new Properties();
+        props.put( "key with spaces", "value with spaces" );
+
         InvocationRequest request = new DefaultInvocationRequest();
         request.setBaseDirectory( basedir );
-        
+        request.setProperties( props );
+
         List goals = new ArrayList();
         goals.add( "clean" );
         goals.add( "package" );

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=539869&r1=539868&r2=539869
==============================================================================
--- 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 Sun May 20 05:00:32 2007
@@ -698,6 +698,38 @@
         assertArgumentsPresent( Collections.singleton( "-Dkey=value" ), cli );
     }
 
+    public void testShouldSpecifyCustomPropertyWithSpacesInValueFromRequest()
+    throws IOException
+    {
+        logTestStart();
+
+        Commandline cli = new Commandline();
+
+        Properties properties = new Properties();
+        properties.setProperty( "key", "value with spaces" );
+
+        TestCommandLineBuilder tcb = new TestCommandLineBuilder();
+        tcb.setProperties( new DefaultInvocationRequest().setProperties( properties ), cli );
+
+        assertArgumentsPresent( Collections.singleton( "-Dkey=value with spaces" ), cli );
+    }
+
+    public void testShouldSpecifyCustomPropertyWithSpacesInKeyFromRequest()
+    throws IOException
+    {
+        logTestStart();
+
+        Commandline cli = new Commandline();
+
+        Properties properties = new Properties();
+        properties.setProperty( "key with spaces", "value with spaces" );
+
+        TestCommandLineBuilder tcb = new TestCommandLineBuilder();
+        tcb.setProperties( new DefaultInvocationRequest().setProperties( properties ), cli );
+
+        assertArgumentsPresent( Collections.singleton( "-Dkey with spaces=value with spaces" ), cli );
+    }
+
     public void testShouldSpecifySingleGoalFromRequest()
         throws IOException
     {
@@ -801,6 +833,44 @@
         assertEquals( projectDir.getCanonicalPath(), commandline.getWorkingDirectory().getCanonicalPath() );
     }
 
+    public void testShouldSetEnvVar_MAVEN_TERMINATE_CMD() throws Exception {
+        logTestStart();
+        File mavenDir = setupTempMavenHomeIfMissing();
+
+        InvocationRequest request = new DefaultInvocationRequest();
+
+        File tmpDir = getTempDir();
+        File projectDir = new File( tmpDir, "invoker-tests/maven-terminate-cmd-options-set" );
+
+        projectDir.mkdirs();
+        toDelete.add( projectDir.getParentFile() );
+
+        request.setBaseDirectory( projectDir );
+
+        createDummyFile( projectDir, "pom.xml" );
+
+        List goals = new ArrayList();
+
+        goals.add( "clean" );
+        request.setGoals( goals );
+
+        MavenCommandLineBuilder commandLineBuilder = new MavenCommandLineBuilder();
+
+        Commandline commandline = commandLineBuilder.build( request );
+
+        String[] environmentVariables = commandline.getEnvironmentVariables();
+        String envVarMavenTerminateCmd = null;
+        for ( int i = 0; i < environmentVariables.length; i++ )
+        {
+            String envVar = environmentVariables[i];
+            if (envVar.startsWith( "MAVEN_TERMINATE_CMD=" )) {
+                envVarMavenTerminateCmd = envVar;
+                break;
+            }
+        }
+        assertEquals( "MAVEN_TERMINATE_CMD=on", envVarMavenTerminateCmd);
+
+    }
 
     public void setUp()
     {



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

Posted by Barrie Treloar <ba...@gmail.com>.
On 5/21/07, Vincent Siveton <vi...@gmail.com> wrote:
> Hi,
>
> Since plexus-utils:1.4.2 is out, bump to it instead of snapshot.

Ok.

Can I convince someone to create versions in the PLXUTILS components :)
I didn't know it was cut.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


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

Posted by Vincent Siveton <vi...@gmail.com>.
Hi,

Since plexus-utils:1.4.2 is out, bump to it instead of snapshot.

Cheers,

Vincent

2007/5/20, baerrach@apache.org <ba...@apache.org>:
> Author: baerrach
> Date: Sun May 20 05:00:32 2007
> New Revision: 539869
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=539869
> Log:
> [MINVOKER-3] Applied patch (minor changes with formatting)
> Upgraded to plexus-utils 1.4.2-SNAPSHOT
> Added maven-artifact which was missing from pom
> Fixed the FIXME's in MavenCommandLineBuilder around command line handling
>
> Modified:
>     maven/shared/trunk/maven-invoker/pom.xml
>     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/DefaultInvokerTest.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=539869&r1=539868&r2=539869
> ==============================================================================
> --- maven/shared/trunk/maven-invoker/pom.xml (original)
> +++ maven/shared/trunk/maven-invoker/pom.xml Sun May 20 05:00:32 2007
> @@ -31,7 +31,12 @@
>      <dependency>
>        <groupId>org.codehaus.plexus</groupId>
>        <artifactId>plexus-utils</artifactId>
> -      <version>1.4.1</version>
> +      <version>1.4.2-SNAPSHOT</version>
> +    </dependency>
> +    <dependency>
> +      <groupId>org.apache.maven</groupId>
> +      <artifactId>maven-artifact</artifactId>
> +      <version>2.0.5</version>
>      </dependency>
>      <dependency>
>        <groupId>junit</groupId>
>
> 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=539869&r1=539868&r2=539869
> ==============================================================================
> --- 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 Sun May 20 05:00:32 2007
> @@ -92,8 +92,8 @@
>                      + ". Using as-is.", e );
>              }
>
> -            // FIXME: Handle quotes in localRepo directory path...
> -            cli.createArgument().setLine( "-s " + userSettingsFile.getPath() );
> +            cli.createArg().setValue( "-s" );
> +            cli.createArg().setValue( userSettingsFile.getPath() );
>          }
>      }
>
> @@ -105,6 +105,7 @@
>              try
>              {
>                  cli.addSystemEnvironment();
> +                cli.addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
>              }
>              catch ( IOException e )
>              {
> @@ -153,8 +154,7 @@
>                  String key = (String) entry.getKey();
>                  String value = (String) entry.getValue();
>
> -                // FIXME: Handle funky key/value pairs that have spaces, newlines, etc.
> -                cli.createArgument().setLine( "-D" + key + "=" + value );
> +                cli.createArg().setValue( "-D" + key + "=" + value );
>              }
>          }
>      }
> @@ -281,8 +281,7 @@
>                      + "\' is NOT a directory." );
>              }
>
> -            // FIXME: Handle quotes in localRepo directory path...
> -            cli.createArgument().setLine( "-Dmaven.repo.local=" + localRepositoryDirectory.getPath() );
> +            cli.createArg().setValue( "-Dmaven.repo.local=" + localRepositoryDirectory.getPath() );
>          }
>      }
>
>
> Modified: maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java
> URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java?view=diff&rev=539869&r1=539868&r2=539869
> ==============================================================================
> --- maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java (original)
> +++ maven/shared/trunk/maven-invoker/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java Sun May 20 05:00:32 2007
> @@ -5,6 +5,7 @@
>  import java.net.URL;
>  import java.util.ArrayList;
>  import java.util.List;
> +import java.util.Properties;
>
>  import junit.framework.TestCase;
>
> @@ -22,10 +23,14 @@
>
>          Invoker invoker = new DefaultInvoker();
>          invoker.setMavenHome( findMavenHome() );
> -
> +
> +        Properties props = new Properties();
> +        props.put( "key with spaces", "value with spaces" );
> +
>          InvocationRequest request = new DefaultInvocationRequest();
>          request.setBaseDirectory( basedir );
> -
> +        request.setProperties( props );
> +
>          List goals = new ArrayList();
>          goals.add( "clean" );
>          goals.add( "package" );
>
> 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=539869&r1=539868&r2=539869
> ==============================================================================
> --- 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 Sun May 20 05:00:32 2007
> @@ -698,6 +698,38 @@
>          assertArgumentsPresent( Collections.singleton( "-Dkey=value" ), cli );
>      }
>
> +    public void testShouldSpecifyCustomPropertyWithSpacesInValueFromRequest()
> +    throws IOException
> +    {
> +        logTestStart();
> +
> +        Commandline cli = new Commandline();
> +
> +        Properties properties = new Properties();
> +        properties.setProperty( "key", "value with spaces" );
> +
> +        TestCommandLineBuilder tcb = new TestCommandLineBuilder();
> +        tcb.setProperties( new DefaultInvocationRequest().setProperties( properties ), cli );
> +
> +        assertArgumentsPresent( Collections.singleton( "-Dkey=value with spaces" ), cli );
> +    }
> +
> +    public void testShouldSpecifyCustomPropertyWithSpacesInKeyFromRequest()
> +    throws IOException
> +    {
> +        logTestStart();
> +
> +        Commandline cli = new Commandline();
> +
> +        Properties properties = new Properties();
> +        properties.setProperty( "key with spaces", "value with spaces" );
> +
> +        TestCommandLineBuilder tcb = new TestCommandLineBuilder();
> +        tcb.setProperties( new DefaultInvocationRequest().setProperties( properties ), cli );
> +
> +        assertArgumentsPresent( Collections.singleton( "-Dkey with spaces=value with spaces" ), cli );
> +    }
> +
>      public void testShouldSpecifySingleGoalFromRequest()
>          throws IOException
>      {
> @@ -801,6 +833,44 @@
>          assertEquals( projectDir.getCanonicalPath(), commandline.getWorkingDirectory().getCanonicalPath() );
>      }
>
> +    public void testShouldSetEnvVar_MAVEN_TERMINATE_CMD() throws Exception {
> +        logTestStart();
> +        File mavenDir = setupTempMavenHomeIfMissing();
> +
> +        InvocationRequest request = new DefaultInvocationRequest();
> +
> +        File tmpDir = getTempDir();
> +        File projectDir = new File( tmpDir, "invoker-tests/maven-terminate-cmd-options-set" );
> +
> +        projectDir.mkdirs();
> +        toDelete.add( projectDir.getParentFile() );
> +
> +        request.setBaseDirectory( projectDir );
> +
> +        createDummyFile( projectDir, "pom.xml" );
> +
> +        List goals = new ArrayList();
> +
> +        goals.add( "clean" );
> +        request.setGoals( goals );
> +
> +        MavenCommandLineBuilder commandLineBuilder = new MavenCommandLineBuilder();
> +
> +        Commandline commandline = commandLineBuilder.build( request );
> +
> +        String[] environmentVariables = commandline.getEnvironmentVariables();
> +        String envVarMavenTerminateCmd = null;
> +        for ( int i = 0; i < environmentVariables.length; i++ )
> +        {
> +            String envVar = environmentVariables[i];
> +            if (envVar.startsWith( "MAVEN_TERMINATE_CMD=" )) {
> +                envVarMavenTerminateCmd = envVar;
> +                break;
> +            }
> +        }
> +        assertEquals( "MAVEN_TERMINATE_CMD=on", envVarMavenTerminateCmd);
> +
> +    }
>
>      public void setUp()
>      {
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org