You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2009/03/19 07:14:43 UTC

svn commit: r755846 - in /archiva/trunk/archiva-modules/archiva-base: archiva-model/src/main/java/org/apache/maven/archiva/model/ archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/

Author: oching
Date: Thu Mar 19 06:14:43 2009
New Revision: 755846

URL: http://svn.apache.org/viewvc?rev=755846&view=rev
Log:
[MRM-731]
submitted by Jan Ancajas
o fix project properties being left out during cloning of the archivaProject (with unit test)

Modified:
    archiva/trunk/archiva-modules/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaModelCloner.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaModelCloner.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaModelCloner.java?rev=755846&r1=755845&r2=755846&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaModelCloner.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-model/src/main/java/org/apache/maven/archiva/model/ArchivaModelCloner.java Thu Mar 19 06:14:43 2009
@@ -65,6 +65,7 @@
         cloned.setPlugins( clonePlugins( model.getPlugins() ) );
         cloned.setReports( cloneReports( model.getReports() ) );
         cloned.setDependencyManagement( cloneDependencies( model.getDependencyManagement() ) );
+        cloned.setProperties( clone(model.getProperties() ) );
 
         return cloned;
     }

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java?rev=755846&r1=755845&r2=755846&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java Thu Mar 19 06:14:43 2009
@@ -158,6 +158,67 @@
                           effectiveModel.getVersion() );
         }
     }
+    
+    /*
+     * Test before and after the properties are evaluated. pom snippet: <maven.version>2.0.5</maven.version>
+     * <wagon.version>1.0-beta-2</wagon.version> <plexus-security.version>1.0-alpha-10-SNAPSHOT</plexus-security.version>
+     */
+    public void testEffectiveProjectProperty()
+        throws Exception
+    {
+        initTestResolverFactory();
+        EffectiveProjectModelFilter filter = lookupEffective();
+
+        String pomFile = "/org/apache/maven/archiva/archiva/1.0-SNAPSHOT/archiva-1.0-SNAPSHOT.pom";
+        ArchivaProjectModel startModel = createArchivaProjectModel( DEFAULT_REPOSITORY + pomFile );
+
+        String plexusSecurityVersion = "1.0-alpha-10-SNAPSHOT";
+        String wagonVersion = "1.0-beta-2";
+
+        boolean passedPlexusVersionChecking = false;
+        boolean passedWagonVersionChecking = false;
+
+        List<Dependency> startDeps = startModel.getDependencyManagement();
+        for ( Dependency startDep : startDeps )
+        {
+            if ( "org.codehaus.plexus.security".equals( startDep.getGroupId() ) )
+            {
+                assertEquals( startDep.getVersion(), "${plexus-security.version}" );
+            }
+            else if ( "org.apache.maven.wagon".equals( startDep.getGroupId() ) )
+            {
+                assertEquals( startDep.getVersion(), "${wagon.version}" );
+            }
+        }
+
+        ArchivaProjectModel effectiveModel = filter.filter( startModel );
+
+        List<Dependency> effectiveDeps = effectiveModel.getDependencyManagement();
+        for ( Dependency dependency : effectiveDeps )
+        {
+            if ( "org.codehaus.plexus.security".equals( dependency.getGroupId() ) )
+            {
+                assertEquals( dependency.getVersion(), plexusSecurityVersion );
+
+                if ( !passedPlexusVersionChecking )
+                {
+                    passedPlexusVersionChecking = true;
+                }
+            }
+            else if ( "org.apache.maven.wagon".equals( dependency.getGroupId() ) )
+            {
+                assertEquals( dependency.getVersion(), wagonVersion );
+
+                if ( !passedWagonVersionChecking )
+                {
+                    passedWagonVersionChecking = true;
+                }
+            }
+
+        }
+        assertTrue( passedPlexusVersionChecking );
+        assertTrue( passedWagonVersionChecking );
+    }
 
     private ProjectModelResolverFactory initTestResolverFactory()
         throws Exception