Author: brett
Date: Tue Sep  6 21:08:30 2005
New Revision: 279237

URL: http://svn.apache.org/viewcvs?rev=279237&view=rev
Log:
fix issues with cloning appending extra paths

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

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java?rev=279237&r1=279236&r2=279237&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
 Tue Sep  6 21:08:30 2005
@@ -466,7 +466,7 @@
         newModel.setVersion( model.getVersion() );
         newModel.setArtifactId( model.getArtifactId() );
         newModel.setModules( cloneModules( model.getModules() ) );
-        assembler.assembleModelInheritance( newModel, model );
+        assembler.copyModel( newModel, model );
         return newModel;
     }
 

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=279237&r1=279236&r2=279237&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
 Tue Sep  6 21:08:30 2005
@@ -46,8 +46,18 @@
 public class DefaultModelInheritanceAssembler
     implements ModelInheritanceAssembler
 {
+    public void copyModel( Model dest, Model source )
+    {
+        assembleModelInheritance( dest, source, false );
+    }
+
     public void assembleModelInheritance( Model child, Model parent )
     {
+        assembleModelInheritance( child, parent, true );
+    }
+
+    private void assembleModelInheritance( Model child, Model parent, boolean 
appendPaths )
+    {
         // cannot inherit from null parent.
         if ( parent == null )
         {
@@ -83,7 +93,7 @@
         {
             if ( parent.getUrl() != null )
             {
-                child.setUrl( appendPath( parent.getUrl(), 
child.getArtifactId() ) );
+                child.setUrl( appendPath( parent.getUrl(), 
child.getArtifactId(), appendPaths ) );
             }
             else
             {
@@ -95,7 +105,7 @@
         // Distribution
         // 
----------------------------------------------------------------------
 
-        assembleDistributionInheritence( child, parent );
+        assembleDistributionInheritence( child, parent, appendPaths );
 
         // issueManagement
         if ( child.getIssueManagement() == null )
@@ -116,7 +126,7 @@
         }
 
         // Scm
-        assembleScmInheritance( child, parent );
+        assembleScmInheritance( child, parent, appendPaths );
 
         // ciManagement
         if ( child.getCiManagement() == null )
@@ -382,7 +392,7 @@
     }
 
 
-    private void assembleScmInheritance( Model child, Model parent )
+    private void assembleScmInheritance( Model child, Model parent, boolean 
appendPaths )
     {
         if ( parent.getScm() != null )
         {
@@ -399,24 +409,25 @@
 
             if ( StringUtils.isEmpty( childScm.getConnection() ) && 
!StringUtils.isEmpty( parentScm.getConnection() ) )
             {
-                childScm.setConnection( appendPath( parentScm.getConnection(), 
child.getArtifactId() ) );
+                childScm.setConnection( appendPath( parentScm.getConnection(), 
child.getArtifactId(), appendPaths ) );
             }
 
             if ( StringUtils.isEmpty( childScm.getDeveloperConnection() ) &&
                 !StringUtils.isEmpty( parentScm.getDeveloperConnection() ) )
             {
                 childScm
-                    .setDeveloperConnection( appendPath( 
parentScm.getDeveloperConnection(), child.getArtifactId() ) );
+                    .setDeveloperConnection(
+                        appendPath( parentScm.getDeveloperConnection(), 
child.getArtifactId(), appendPaths ) );
             }
 
             if ( StringUtils.isEmpty( childScm.getUrl() ) && 
!StringUtils.isEmpty( parentScm.getUrl() ) )
             {
-                childScm.setUrl( appendPath( parentScm.getUrl(), 
child.getArtifactId() ) );
+                childScm.setUrl( appendPath( parentScm.getUrl(), 
child.getArtifactId(), appendPaths ) );
             }
         }
     }
 
-    private void assembleDistributionInheritence( Model child, Model parent )
+    private void assembleDistributionInheritence( Model child, Model parent, 
boolean appendPaths )
     {
         if ( parent.getDistributionManagement() != null )
         {
@@ -447,7 +458,7 @@
 
                     if ( site.getUrl() != null )
                     {
-                        site.setUrl( appendPath( site.getUrl(), 
child.getArtifactId() ) );
+                        site.setUrl( appendPath( site.getUrl(), 
child.getArtifactId(), appendPaths ) );
                     }
                 }
             }
@@ -486,15 +497,22 @@
         }
     }
 
-    private String appendPath( String url, String path )
+    private String appendPath( String url, String path, boolean appendPaths )
     {
-        if ( url.endsWith( "/" ) )
+        if ( appendPaths )
         {
-            return url + path;
+            if ( url.endsWith( "/" ) )
+            {
+                return url + path;
+            }
+            else
+            {
+                return url + "/" + path;
+            }
         }
         else
         {
-            return url + "/" + path;
+            return url;
         }
     }
 

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java?rev=279237&r1=279236&r2=279237&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
 Tue Sep  6 21:08:30 2005
@@ -27,4 +27,6 @@
     String ROLE = ModelInheritanceAssembler.class.getName();
 
     void assembleModelInheritance( Model child, Model parent );
+
+    void copyModel( Model dest, Model source );
 }



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

Reply via email to