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/08/26 20:22:00 UTC

svn commit: r689163 [3/3] - in /maven/components/branches/maven-2.1.x: ./ apache-maven/ apache-maven/src/assemble/ maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/ maven-core/ maven-core/src/main/java/org/apache/maven/ maven-core...

Modified: maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolatorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolatorTest.java?rev=689163&r1=689162&r2=689163&view=diff
==============================================================================
--- maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolatorTest.java (original)
+++ maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolatorTest.java Tue Aug 26 11:21:59 2008
@@ -19,365 +19,30 @@
  * under the License.
  */
 
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Organization;
-import org.apache.maven.model.Repository;
-import org.apache.maven.model.Resource;
-import org.apache.maven.model.Scm;
-import org.apache.maven.project.DefaultProjectBuilderConfiguration;
-import org.apache.maven.project.path.DefaultPathTranslator;
 import org.apache.maven.project.path.PathTranslator;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import junit.framework.TestCase;
-
 /**
  * @author jdcasey
  * @version $Id$
  */
 public class RegexBasedModelInterpolatorTest
-    extends TestCase
+    extends AbstractModelInterpolatorTest
 {
-    private Map context;
-
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-
-        context = Collections.singletonMap( "basedir", "myBasedir" );
-    }
-
-    public void testShouldNotThrowExceptionOnReferenceToNonExistentValue()
-        throws IOException, ModelInterpolationException
-    {
-        Model model = new Model();
-
-        Scm scm = new Scm();
-        scm.setConnection( "${test}/somepath" );
-
-        model.setScm( scm );
-
-        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-
-        assertEquals( "${test}/somepath", out.getScm().getConnection() );
-    }
-
-    public void testShouldThrowExceptionOnRecursiveScmConnectionReference()
-        throws IOException
-    {
-        Model model = new Model();
-
-        Scm scm = new Scm();
-        scm.setConnection( "${project.scm.connection}/somepath" );
-
-        model.setScm( scm );
-
-        try
-        {
-            Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-
-            fail( "The interpolator should not allow self-referencing expressions in POM." );
-        }
-        catch ( ModelInterpolationException e )
-        {
-
-        }
-    }
-
-    public void testShouldNotThrowExceptionOnReferenceToValueContainingNakedExpression()
-        throws IOException, ModelInterpolationException
-    {
-        Model model = new Model();
-
-        Scm scm = new Scm();
-        scm.setConnection( "${test}/somepath" );
-
-        model.setScm( scm );
-
-        model.addProperty( "test", "test" );
-
-        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-
-        assertEquals( "test/somepath", out.getScm().getConnection() );
-    }
-
-    public void testShouldInterpolateOrganizationNameCorrectly()
+    protected ModelInterpolator createInterpolator( PathTranslator translator )
         throws Exception
     {
-        String orgName = "MyCo";
-
-        Model model = new Model();
-        model.setName( "${pom.organization.name} Tools" );
-
-        Organization org = new Organization();
-        org.setName( orgName );
-
-        model.setOrganization( org );
-
-        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-
-        assertEquals( orgName + " Tools", out.getName() );
-    }
-
-    public void testShouldInterpolateDependencyVersionToSetSameAsProjectVersion()
-        throws Exception
-    {
-        Model model = new Model();
-        model.setVersion( "3.8.1" );
-
-        Dependency dep = new Dependency();
-        dep.setVersion( "${version}" );
-
-        model.addDependency( dep );
-
-        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-
-        assertEquals( "3.8.1", ( (Dependency) out.getDependencies().get( 0 ) ).getVersion() );
-    }
-
-    public void testShouldNotInterpolateDependencyVersionWithInvalidReference()
-        throws Exception
-    {
-        Model model = new Model();
-        model.setVersion( "3.8.1" );
-
-        Dependency dep = new Dependency();
-        dep.setVersion( "${something}" );
-
-        model.addDependency( dep );
-
-        /*
-         // This is the desired behaviour, however there are too many crappy poms in the repo and an issue with the
-         // timing of executing the interpolation
-
-         try
-         {
-         new RegexBasedModelInterpolator().interpolate( model, context );
-         fail( "Should have failed to interpolate with invalid reference" );
-         }
-         catch ( ModelInterpolationException expected )
-         {
-         assertTrue( true );
-         }
-         */
-
-        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-
-        assertEquals( "${something}", ( (Dependency) out.getDependencies().get( 0 ) ).getVersion() );
-    }
-
-    public void testTwoReferences()
-        throws Exception
-    {
-        Model model = new Model();
-        model.setVersion( "3.8.1" );
-        model.setArtifactId( "foo" );
-
-        Dependency dep = new Dependency();
-        dep.setVersion( "${artifactId}-${version}" );
-
-        model.addDependency( dep );
-
-        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-
-        assertEquals( "foo-3.8.1", ( (Dependency) out.getDependencies().get( 0 ) ).getVersion() );
-    }
-
-    public void testBasedir()
-        throws Exception
-    {
-        Model model = new Model();
-        model.setVersion( "3.8.1" );
-        model.setArtifactId( "foo" );
-
-        Repository repository = new Repository();
-
-        repository.setUrl( "file://localhost/${basedir}/temp-repo" );
-
-        model.addRepository( repository );
-
-        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-
-        assertEquals( "file://localhost/myBasedir/temp-repo", ( (Repository) out.getRepositories().get( 0 ) ).getUrl() );
-    }
-
-    public void testEnvars()
-        throws Exception
-    {
-        Map context = new HashMap();
-
-        context.put( "env.HOME", "/path/to/home" );
-
-        Model model = new Model();
-
-        Properties modelProperties = new Properties();
-
-        modelProperties.setProperty( "outputDirectory", "${env.HOME}" );
-
-        model.setProperties( modelProperties );
-
-        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-
-        assertEquals( out.getProperties().getProperty( "outputDirectory" ), "/path/to/home" );
-    }
-
-    public void testEnvarExpressionThatEvaluatesToNullReturnsTheLiteralString()
-        throws Exception
-    {
-        Properties envars = new Properties();
-
-        Model model = new Model();
-
-        Properties modelProperties = new Properties();
-
-        modelProperties.setProperty( "outputDirectory", "${env.DOES_NOT_EXIST}" );
-
-        model.setProperties( modelProperties );
-
-        Model out = new RegexBasedModelInterpolator( envars ).interpolate( model, context );
-
-        assertEquals( out.getProperties().getProperty( "outputDirectory" ), "${env.DOES_NOT_EXIST}" );
-    }
-
-    public void testExpressionThatEvaluatesToNullReturnsTheLiteralString()
-        throws Exception
-    {
-        Model model = new Model();
-
-        Properties modelProperties = new Properties();
-
-        modelProperties.setProperty( "outputDirectory", "${DOES_NOT_EXIST}" );
-
-        model.setProperties( modelProperties );
-
-        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
+        RegexBasedModelInterpolator interpolator = new RegexBasedModelInterpolator( translator );
+        interpolator.initialize();
 
-        assertEquals( out.getProperties().getProperty( "outputDirectory" ), "${DOES_NOT_EXIST}" );
+        return interpolator;
     }
 
-    public void testShouldInterpolateSourceDirectoryReferencedFromResourceDirectoryCorrectly()
+    protected ModelInterpolator createInterpolator()
         throws Exception
     {
-        Model model = new Model();
-
-        Build build = new Build();
-        build.setSourceDirectory( "correct" );
-
-        Resource res = new Resource();
-        res.setDirectory( "${project.build.sourceDirectory}" );
-
-        build.addResource( res );
-
-        Resource res2 = new Resource();
-        res2.setDirectory( "${pom.build.sourceDirectory}" );
-
-        build.addResource( res2 );
-
-        Resource res3 = new Resource();
-        res3.setDirectory( "${build.sourceDirectory}" );
-
-        build.addResource( res3 );
-
-        model.setBuild( build );
-
-        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-
-        List outResources = out.getBuild().getResources();
-        Iterator resIt = outResources.iterator();
-
-        assertEquals( build.getSourceDirectory(), ( (Resource) resIt.next() ).getDirectory() );
-        assertEquals( build.getSourceDirectory(), ( (Resource) resIt.next() ).getDirectory() );
-        assertEquals( build.getSourceDirectory(), ( (Resource) resIt.next() ).getDirectory() );
-    }
-
-    public void testShouldInterpolateUnprefixedBasedirExpression()
-        throws ModelInterpolationException, IOException
-    {
-        File basedir = new File( "/test/path" );
-        Model model = new Model();
-        Dependency dep = new Dependency();
-        dep.setSystemPath( "${basedir}/artifact.jar" );
-
-        model.addDependency( dep );
+        RegexBasedModelInterpolator interpolator = new RegexBasedModelInterpolator();
+        interpolator.initialize();
 
-        Model result = new RegexBasedModelInterpolator().interpolate( model, basedir, new DefaultProjectBuilderConfiguration(), true );
-
-        List rDeps = result.getDependencies();
-        assertNotNull( rDeps );
-        assertEquals( 1, rDeps.size() );
-        assertEquals( new File( basedir, "artifact.jar" ).getAbsolutePath(), new File( ( (Dependency) rDeps.get( 0 ) )
-            .getSystemPath() ).getAbsolutePath() );
+        return interpolator;
     }
-    
-    public void testTwoLevelRecursiveBasedirAlignedExpression()
-        throws Exception
-    {
-        Model model = new Model();
-        Build build = new Build();
-        
-        model.setBuild( build );
-        
-        build.setDirectory( "${project.basedir}/target" );
-        build.setOutputDirectory( "${project.build.directory}/classes" );
-        
-        PathTranslator translator = new DefaultPathTranslator();
-        RegexBasedModelInterpolator interpolator = new RegexBasedModelInterpolator( translator );
-        
-        File basedir = new File( System.getProperty( "java.io.tmpdir" ), "base" );
-        
-        String value = interpolator.interpolate( "${project.build.outputDirectory}/foo", model, basedir, new DefaultProjectBuilderConfiguration(), true );
-        value = value.replace( '/', File.separatorChar ).replace( '\\', File.separatorChar );
-        
-        String check = new File( basedir, "target/classes/foo" ).getAbsolutePath();
-        check = check.replace( '/', File.separatorChar ).replace( '\\', File.separatorChar );
-        
-        assertEquals( check, value );
-    }
-
-//    public void testPOMExpressionDoesNotUseSystemProperty()
-//        throws Exception
-//    {
-//        Model model = new Model();
-//        model.setVersion( "1.0" );
-//
-//        Properties modelProperties = new Properties();
-//        modelProperties.setProperty( "version", "prop version" );
-//        modelProperties.setProperty( "foo.version", "prop foo.version" );
-//        modelProperties.setProperty( "pom.version", "prop pom.version" );
-//        modelProperties.setProperty( "project.version", "prop project.version" );
-//
-//        model.setProperties( modelProperties );
-//
-//        Dependency dep = new Dependency();
-//        model.addDependency( dep );
-//
-//        checkDep( "prop version", "${version}", model );
-//        checkDep( "1.0", "${pom.version}", model );
-//        checkDep( "1.0", "${project.version}", model );
-//        checkDep( "prop foo.version", "${foo.version}", model );
-//    }
-//
-//    private void checkDep( String expectedVersion,
-//                           String depVersionExpr,
-//                           Model model )
-//        throws Exception
-//    {
-//        ( (Dependency) model.getDependencies().get( 0 ) ).setVersion( depVersionExpr );
-//        Model out = new RegexBasedModelInterpolator().interpolate( model, context );
-//        String result = ( (Dependency) out.getDependencies().get( 0 ) ).getVersion();
-//        assertEquals( "Expected '" + expectedVersion + "' for version expression '"
-//                      + depVersionExpr + "', but was '" + result + "'", expectedVersion, result );
-//    }
-
 }

Modified: maven/components/branches/maven-2.1.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java?rev=689163&r1=689162&r2=689163&view=diff
==============================================================================
--- maven/components/branches/maven-2.1.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java (original)
+++ maven/components/branches/maven-2.1.x/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java Tue Aug 26 11:21:59 2008
@@ -192,6 +192,11 @@
         for ( Iterator profiles = settings.getProfiles().iterator(); profiles.hasNext(); )
         {
             Profile profile = (Profile) profiles.next();
+            if ( profile.getId() == null )
+            {
+                profile.setId( "default" );
+            }
+            
             if ( profile.getActivation() != null && profile.getActivation().isActiveByDefault()
                 && !activeProfiles.contains( profile.getId() ) )
             {

Modified: maven/components/branches/maven-2.1.x/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.x/pom.xml?rev=689163&r1=689162&r2=689163&view=diff
==============================================================================
--- maven/components/branches/maven-2.1.x/pom.xml (original)
+++ maven/components/branches/maven-2.1.x/pom.xml Tue Aug 26 11:21:59 2008
@@ -190,6 +190,7 @@
           <configuration>
             <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
             <autoVersionSubmodules>true</autoVersionSubmodules>
+            <preparationGoals>install</preparationGoals>
           </configuration>
         </plugin>
         <plugin>
@@ -226,6 +227,7 @@
               <!-- TODO: These represent method ADDITIONS from 2.0.9, and should be removed after 
                    2.0.10 is released. -->
               <exclude>org/apache/maven/lifecycle/LifecycleExecutor*</exclude>
+              <exclude>org/apache/maven/artifact/metadata/AbstractArtifactMetadata*</exclude>
               <exclude>org/apache/maven/artifact/metadata/ArtifactMetadataSource*</exclude>
               <exclude>org/apache/maven/project/MavenProjectBuilder*</exclude>
               <exclude>org/apache/maven/project/ProjectBuilderConfiguration*</exclude>
@@ -387,7 +389,7 @@
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-interpolation</artifactId>
-        <version>1.1</version>
+        <version>1.4</version>
       </dependency>
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
@@ -421,8 +423,8 @@
       </dependency>
       <dependency>
         <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-webdav</artifactId>
-        <version>1.0-beta-2</version>
+        <artifactId>wagon-webdav-jackrabbit</artifactId>
+        <version>${wagonVersion}</version>
       </dependency>
       <dependency>
         <groupId>org.apache.maven.wagon</groupId>
@@ -454,33 +456,6 @@
 
   <profiles>
     <profile>
-      <id>release</id>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-assembly-plugin</artifactId>
-            <inherited>false</inherited>
-            <configuration>
-              <descriptors>
-                <descriptor>src/main/assembly/src.xml</descriptor>
-              </descriptors>
-              <tarLongFileMode>gnu</tarLongFileMode>
-              <finalName>maven-${project.version}-src</finalName>
-            </configuration>
-            <executions>
-              <execution>
-                <id>make-assembly</id>
-                <phase>package</phase>
-                <goals>
-                  <goal>single</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
       <id>run-its</id>
       <modules>
         <module>maven-core-it-runner</module>