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 2008/04/03 17:13:30 UTC

svn commit: r644352 - in /maven/components/trunk: ./ maven-embedder-integration-tests/ maven-embedder-integration-tests/src/ maven-embedder-integration-tests/src/test/ maven-embedder-integration-tests/src/test/java/ maven-embedder-integration-tests/src...

Author: jdcasey
Date: Thu Apr  3 08:13:24 2008
New Revision: 644352

URL: http://svn.apache.org/viewvc?rev=644352&view=rev
Log:
Adding plexus-interpolation to the POM and build.xml/.properties, to prepare for the fix to MNG-3355 and MNG-2339(a)...also adding a new embedder-driven integration-test project to eventually hold the error-reporting tests currently in the maven-embedder tests.

Added:
    maven/components/trunk/maven-embedder-integration-tests/
    maven/components/trunk/maven-embedder-integration-tests/pom.xml   (with props)
    maven/components/trunk/maven-embedder-integration-tests/src/
    maven/components/trunk/maven-embedder-integration-tests/src/test/
    maven/components/trunk/maven-embedder-integration-tests/src/test/java/
    maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/
    maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/
    maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/maven/
    maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/maven/embedder/
    maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/maven/embedder/its/
    maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/maven/embedder/its/MNG3355Test.java   (with props)
    maven/components/trunk/maven-embedder-integration-tests/src/test/projects/
    maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/
    maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/pom.xml   (with props)
    maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/readme.txt   (with props)
Modified:
    maven/components/trunk/build.properties
    maven/components/trunk/build.xml
    maven/components/trunk/pom.xml

Modified: maven/components/trunk/build.properties
URL: http://svn.apache.org/viewvc/maven/components/trunk/build.properties?rev=644352&r1=644351&r2=644352&view=diff
==============================================================================
--- maven/components/trunk/build.properties (original)
+++ maven/components/trunk/build.properties Thu Apr  3 08:13:24 2008
@@ -21,7 +21,8 @@
 backport.version=3.0
 classworlds.version=1.2-alpha-10
 plexus.version=1.0-alpha-44
-plexus-utils.version=1.4.5
+plexus-utils.version=1.5.2-SNAPSHOT
+plexus-interpolation.version=1.0-SNAPSHOT
 maven-artifact.version=3.0-SNAPSHOT
 commons-cli.version=1.0
 wagon.version=1.0-beta-2

Modified: maven/components/trunk/build.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/build.xml?rev=644352&r1=644351&r2=644352&view=diff
==============================================================================
--- maven/components/trunk/build.xml (original)
+++ maven/components/trunk/build.xml Thu Apr  3 08:13:24 2008
@@ -120,6 +120,7 @@
     <pull orgpath="backport-util-concurrent/backport-util-concurrent" version="${backport.version}" name="backport-util-concurrent"/>        
     <pull orgpath="commons-cli/commons-cli" version="${commons-cli.version}" name="commons-cli"/>
     <pull orgpath="org/codehaus/plexus/plexus-utils" version="${plexus-utils.version}" name="plexus-utils" repository="codehaus"/>
+    <pull orgpath="org/codehaus/plexus/plexus-interpolation" version="${plexus-interpolation.version}" name="plexus-interpolation" repository="codehaus"/>
     <pull orgpath="org/codehaus/plexus/plexus-container-default" version="${plexus.version}" name="plexus-container-default" repository="codehaus"/>
     <pull orgpath="org/codehaus/plexus/plexus-classworlds" version="${classworlds.version}" name="plexus-classworlds" repository="codehaus"/>
     <pull orgpath="org/apache/maven/maven-parent" version="4" name="maven-parent" type="pom"/>
@@ -149,6 +150,7 @@
       <pathelement location="${maven.repo.local}/commons-cli/commons-cli/${commons-cli.version}/commons-cli-${commons-cli.version}.jar"/>
       <pathelement location="${maven.repo.local}/commons-lang/commons-lang/${commons-lang.version}/commons-lang-${commons-lang.version}.jar"/>
       <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-utils/${plexus-utils.version}/plexus-utils-${plexus-utils.version}.jar"/>
+      <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-interpolation/${plexus-interpolation.version}/plexus-interpolation-${plexus-interpolation.version}.jar"/>
       <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-container-default/${plexus.version}/plexus-container-default-${plexus.version}.jar"/>
       <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-classworlds/${classworlds.version}/plexus-classworlds-${classworlds.version}.jar"/>
       <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-interactivity-api/${plexus-interactivity-api.version}/plexus-interactivity-api-${plexus-interactivity-api.version}.jar"/>

Added: maven/components/trunk/maven-embedder-integration-tests/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder-integration-tests/pom.xml?rev=644352&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder-integration-tests/pom.xml (added)
+++ maven/components/trunk/maven-embedder-integration-tests/pom.xml Thu Apr  3 08:13:24 2008
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+    <parent>
+        <groupId>org.apache.maven</groupId>
+        <artifactId>maven</artifactId>
+        <version>2.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>maven-embedder-integration-tests</artifactId>
+    <name>Integration Tests for Maven Embedder</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-embedder</artifactId>
+            <version>2.1-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+    
+</project>

Propchange: maven/components/trunk/maven-embedder-integration-tests/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-embedder-integration-tests/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/maven/embedder/its/MNG3355Test.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/maven/embedder/its/MNG3355Test.java?rev=644352&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/maven/embedder/its/MNG3355Test.java (added)
+++ maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/maven/embedder/its/MNG3355Test.java Thu Apr  3 08:13:24 2008
@@ -0,0 +1,112 @@
+package org.apache.maven.embedder.its;
+
+import org.apache.maven.embedder.Configuration;
+import org.apache.maven.embedder.DefaultConfiguration;
+import org.apache.maven.embedder.MavenEmbedder;
+import org.apache.maven.embedder.MavenEmbedderConsoleLogger;
+import org.apache.maven.embedder.MavenEmbedderLogger;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionResult;
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.util.FileUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+
+public class MNG3355Test
+    extends PlexusTestCase
+{
+    protected String basedir;
+
+    protected MavenEmbedder maven;
+
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        basedir = System.getProperty( "basedir" );
+
+        if ( basedir == null )
+        {
+            basedir = new File( "." ).getCanonicalPath();
+        }
+
+        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+
+        Configuration configuration = new DefaultConfiguration()
+            .setClassLoader( classLoader )
+            .setMavenEmbedderLogger( new MavenEmbedderConsoleLogger() );
+
+        maven = new MavenEmbedder( configuration );
+    }
+
+    protected void tearDown()
+        throws Exception
+    {
+        maven.stop();
+    }
+
+    protected void assertNoExceptions( MavenExecutionResult result )
+    {
+        List exceptions = result.getExceptions();
+        if ( ( exceptions == null ) || exceptions.isEmpty() )
+        {
+            // everything is a-ok.
+            return;
+        }
+
+        System.err.println( "Encountered " + exceptions.size() + " exception(s)." );
+        Iterator it = exceptions.iterator();
+        while ( it.hasNext() )
+        {
+            Exception exception = (Exception) it.next();
+            exception.printStackTrace( System.err );
+        }
+
+        fail( "Encountered Exceptions in MavenExecutionResult during " + getName() );
+    }
+
+    public void testMNG_3355()
+        throws Exception
+    {
+        File targetDirectory = getProjectDirectory( "mng-3355" );
+
+        List goals = new ArrayList();
+
+        goals.add( "clean" );
+        goals.add( "validate" );
+
+        Properties userProperties = new Properties();
+        userProperties.setProperty( "version", "foo" );
+
+        MavenExecutionRequest request = new DefaultMavenExecutionRequest().setBaseDirectory( targetDirectory )
+                                                                          .setLoggingLevel( MavenEmbedderLogger.LEVEL_DEBUG )
+                                                                          .setUserProperties( userProperties )
+                                                                          .setGoals( goals );
+
+        MavenExecutionResult result = maven.execute( request );
+
+        assertNoExceptions( result );
+
+//        MavenProject project = result.getProject();
+    }
+
+    private File getProjectDirectory( String projectPath )
+        throws IOException
+    {
+        File testDirectory = new File( basedir, "src/test/projects/" + projectPath );
+
+        File targetDirectory = new File( basedir, "target/projects/" + projectPath );
+
+        FileUtils.copyDirectoryStructure( testDirectory, targetDirectory );
+
+        return targetDirectory;
+    }
+
+}

Propchange: maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/maven/embedder/its/MNG3355Test.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-embedder-integration-tests/src/test/java/org/apache/maven/embedder/its/MNG3355Test.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/pom.xml?rev=644352&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/pom.xml (added)
+++ maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/pom.xml Thu Apr  3 08:13:24 2008
@@ -0,0 +1,25 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.its.mng2339</groupId>
+  <artifactId>translated-path-property-expression-interpolation</artifactId>
+  <version>1</version>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.plugins</groupId>
+        <artifactId>maven-it-plugin-project-interpolation</artifactId>
+        <version>2.1-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>check-property</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <properties>
+    <myDirectory>${project.build.directory}/foo</myDirectory>
+  </properties>
+</project>

Propchange: maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/readme.txt
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/readme.txt?rev=644352&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/readme.txt (added)
+++ maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/readme.txt Thu Apr  3 08:13:24 2008
@@ -0,0 +1,5 @@
+Verifies that references to ${project.build.directory} are interpolated with absolute path values, even when referenced in places that the pathTranslator doesn't touch, like properties. Simply run:
+
+mvn validate
+
+to see this test work. The maven-it-plugin-project-interpolation does the rest, verifying that the <myDirectory/> property has been interpolated to the result of ${project.build.directory}/foo.
\ No newline at end of file

Propchange: maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/readme.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-embedder-integration-tests/src/test/projects/mng-3355/readme.txt
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/components/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/pom.xml?rev=644352&r1=644351&r2=644352&view=diff
==============================================================================
--- maven/components/trunk/pom.xml (original)
+++ maven/components/trunk/pom.xml Thu Apr  3 08:13:24 2008
@@ -245,6 +245,11 @@
         <version>1.5.1</version>
       </dependency>
       <dependency>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-interpolation</artifactId>
+        <version>1.0-SNAPSHOT</version>
+      </dependency>
+      <dependency>
         <groupId>org.apache.maven.wagon</groupId>
         <artifactId>wagon-provider-api</artifactId>
         <version>${wagonVersion}</version>
@@ -361,6 +366,7 @@
     <profile>
       <id>run-its</id>
       <modules>
+        <module>maven-embedder-integration-tests</module>
         <module>maven-core-it-runner</module>
       </modules>
     </profile>