]> source.dussan.org Git - archiva.git/commitdiff
[MRM-731]
authorMaria Odea B. Ching <oching@apache.org>
Thu, 19 Mar 2009 06:14:43 +0000 (06:14 +0000)
committerMaria Odea B. Ching <oching@apache.org>
Thu, 19 Mar 2009 06:14:43 +0000 (06:14 +0000)
submitted by Jan Ancajas
o fix project properties being left out during cloning of the archivaProject (with unit test)

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@755846 13f79535-47bb-0310-9956-ffa450edef68

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

index b778401500de38dcf5aeaae8054ae18cc9d74541..a4bfed13b1b2a9608fe7271247f436b78854b508 100644 (file)
@@ -65,6 +65,7 @@ public class ArchivaModelCloner
         cloned.setPlugins( clonePlugins( model.getPlugins() ) );
         cloned.setReports( cloneReports( model.getReports() ) );
         cloned.setDependencyManagement( cloneDependencies( model.getDependencyManagement() ) );
+        cloned.setProperties( clone(model.getProperties() ) );
 
         return cloned;
     }
index aa4ec3513b50d2c58e830e86ffdb5f4a902d356a..fae996e6fe80c56bc167dfae02ba943cc53c711e 100644 (file)
@@ -158,6 +158,67 @@ public class EffectiveProjectModelFilterTest
                           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