Author: brett
Date: Thu Jul 21 22:24:19 2005
New Revision: 220240

URL: http://svn.apache.org/viewcvs?rev=220240&view=rev
Log:
PR: MNG-479
Submitted by: Rahul Thakur
Reviewed by:  Brett Porter
if you define a repository it should override anything in the parent with the 
same ID
Also, cleaned up logic in assembler based on intentions

Modified:
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
    
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java?rev=220240&r1=220239&r2=220240&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
 Thu Jul 21 22:24:19 2005
@@ -66,7 +66,6 @@
         }
 
         // version
-        // TODO: I think according to the latest design docs, we don't want to 
inherit version at all
         if ( child.getVersion() == null )
         {
             // The parent version may have resolved to something different, so 
we take what we asked for...
@@ -183,10 +182,13 @@
         {
             Repository repository = (Repository) iterator.next();
 
-            if ( !childRepositories.contains( repository ) )
+            // parent will always override child repositories
+            // if there are duplicates
+            if ( childRepositories.contains( repository ) )
             {
-                child.addRepository( repository );
+                childRepositories.remove( repository );
             }
+            child.addRepository( repository );
         }
 
         // Mojo Repositories :: aggregate
@@ -395,12 +397,6 @@
 
     private void assembleBuildInheritance( Model child, Build parentBuild )
     {
-        // cannot inherit from null parent...
-        if ( parentBuild == null )
-        {
-            return;
-        }
-
         Build childBuild = child.getBuild();
 
         if ( parentBuild != null )
@@ -451,49 +447,45 @@
     private void assembleBuildBaseInheritance( BuildBase childBuild, BuildBase 
parentBuild )
     {
         // if the parent build is null, obviously we cannot inherit from it...
-        if ( parentBuild == null )
-        {
-            return;
-        }
-
-        if ( childBuild.getDefaultGoal() == null )
+        if ( parentBuild != null )
         {
-            childBuild.setDefaultGoal( parentBuild.getDefaultGoal() );
-        }
+            if ( childBuild.getDefaultGoal() == null )
+            {
+                childBuild.setDefaultGoal( parentBuild.getDefaultGoal() );
+            }
 
-        if ( childBuild.getFinalName() == null )
-        {
-            childBuild.setFinalName( parentBuild.getFinalName() );
-        }
+            if ( childBuild.getFinalName() == null )
+            {
+                childBuild.setFinalName( parentBuild.getFinalName() );
+            }
 
-        List resources = childBuild.getResources();
-        if ( resources == null || resources.isEmpty() )
-        {
-            childBuild.setResources( parentBuild.getResources() );
-        }
+            List resources = childBuild.getResources();
+            if ( resources == null || resources.isEmpty() )
+            {
+                childBuild.setResources( parentBuild.getResources() );
+            }
 
-        resources = childBuild.getTestResources();
-        if ( resources == null || resources.isEmpty() )
-        {
-            childBuild.setTestResources( parentBuild.getTestResources() );
-        }
+            resources = childBuild.getTestResources();
+            if ( resources == null || resources.isEmpty() )
+            {
+                childBuild.setTestResources( parentBuild.getTestResources() );
+            }
 
-        // Plugins are aggregated if Plugin.inherit != false
-        ModelUtils.mergePluginLists( childBuild, parentBuild, true );
+            // Plugins are aggregated if Plugin.inherit != false
+            ModelUtils.mergePluginLists( childBuild, parentBuild, true );
 
-        // Plugin management :: aggregate
-        if ( childBuild != null && parentBuild != null )
-        {
+            // Plugin management :: aggregate
             PluginManagement childPM = childBuild.getPluginManagement();
             PluginManagement parentPM = parentBuild.getPluginManagement();
-            
-            if( childPM == null && parentPM !=null )
+
+            if ( childPM == null && parentPM != null )
             {
                 childBuild.setPluginManagement( parentPM );
             }
             else
             {
-                ModelUtils.mergePluginLists( childBuild.getPluginManagement(), 
parentBuild.getPluginManagement(), false );
+                ModelUtils.mergePluginLists( childBuild.getPluginManagement(), 
parentBuild.getPluginManagement(),
+                                             false );
             }
         }
     }

Modified: 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java?rev=220240&r1=220239&r2=220240&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java
 (original)
+++ 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java
 Thu Jul 21 22:24:19 2005
@@ -263,7 +263,7 @@
 
         Model child = makeRepositoryModel( "child", "central", 
"http://repo2.maven.org/maven/"; );
 
-        List repos = new ArrayList( child.getRepositories() );
+        List repos = new ArrayList( parent.getRepositories() );
 
         assembler.assembleModelInheritance( child, parent );
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to