You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ev...@apache.org on 2006/11/17 15:34:09 UTC

svn commit: r476153 - in /maven/components/branches/maven-2.0.x/maven-project/src: main/java/org/apache/maven/project/ main/java/org/apache/maven/project/inheritance/ test/java/org/apache/maven/project/inheritance/

Author: evenisse
Date: Fri Nov 17 06:34:08 2006
New Revision: 476153

URL: http://svn.apache.org/viewvc?view=rev&rev=476153
Log:
Calculate correctly scm urls when artifactId != directory name

Modified:
    maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
    maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
    maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
    maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java

Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?view=diff&rev=476153&r1=476152&r2=476153
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri Nov 17 06:34:08 2006
@@ -731,7 +731,14 @@
                 getLogger().debug( "Cannot determine whether " + currentProject.getId() + " is a module of " + previousProject.getId() + ". Reason: " + e.getMessage(), e );
             }
 
-            modelInheritanceAssembler.assembleModelInheritance( current, previous, pathAdjustment );
+            if ( currentProject.getFile() != null )
+            {
+                modelInheritanceAssembler.assembleModelInheritance( current, previous, pathAdjustment, currentProject.getFile().getName() );
+            }
+            else
+            {
+                modelInheritanceAssembler.assembleModelInheritance( current, previous, pathAdjustment );
+            }
 
             previous = current;
             previousProject = currentProject;

Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java?view=diff&rev=476153&r1=476152&r2=476153
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java Fri Nov 17 06:34:08 2006
@@ -51,20 +51,20 @@
 {
     public void copyModel( Model dest, Model source )
     {
-        assembleModelInheritance( dest, source, null, false );
+        assembleModelInheritance( dest, source, null, null, false );
     }
 
-    public void assembleModelInheritance( Model child, Model parent, String childPathAdjustment )
+    public void assembleModelInheritance( Model child, Model parent, String childPathAdjustment, String moduleName )
     {
-        assembleModelInheritance( child, parent, childPathAdjustment, true );
+        assembleModelInheritance( child, parent, childPathAdjustment, moduleName, true );
     }
 
-    public void assembleModelInheritance( Model child, Model parent )
+    public void assembleModelInheritance( Model child, Model parent, String moduleName )
     {
-        assembleModelInheritance( child, parent, null, true );
+        assembleModelInheritance( child, parent, null, moduleName, true );
     }
 
-    private void assembleModelInheritance( Model child, Model parent, String childPathAdjustment, boolean appendPaths )
+    private void assembleModelInheritance( Model child, Model parent, String childPathAdjustment, String moduleName, boolean appendPaths )
     {
         // cannot inherit from null parent.
         if ( parent == null )
@@ -130,7 +130,7 @@
         }
 
         // Scm
-        assembleScmInheritance( child, parent, childPathAdjustment, appendPaths );
+        assembleScmInheritance( child, parent, childPathAdjustment, moduleName, appendPaths );
 
         // ciManagement
         if ( child.getCiManagement() == null )
@@ -363,7 +363,7 @@
         }
     }
 
-    private void assembleScmInheritance( Model child, Model parent, String childPathAdjustment, boolean appendPaths )
+    private void assembleScmInheritance( Model child, Model parent, String childPathAdjustment, String moduleName, boolean appendPaths )
     {
         if ( parent.getScm() != null )
         {
@@ -378,24 +378,31 @@
                 child.setScm( childScm );
             }
 
+            String childPath = moduleName;
+
+            if ( StringUtils.isEmpty( moduleName ) )
+            {
+                childPath = child.getArtifactId();
+            }
+
             if ( StringUtils.isEmpty( childScm.getConnection() ) && !StringUtils.isEmpty( parentScm.getConnection() ) )
             {
                 childScm.setConnection(
-                    appendPath( parentScm.getConnection(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
+                    appendPath( parentScm.getConnection(), childPath, childPathAdjustment, appendPaths ) );
             }
 
             if ( StringUtils.isEmpty( childScm.getDeveloperConnection() ) &&
                 !StringUtils.isEmpty( parentScm.getDeveloperConnection() ) )
             {
                 childScm
-                    .setDeveloperConnection( appendPath( parentScm.getDeveloperConnection(), child.getArtifactId(),
+                    .setDeveloperConnection( appendPath( parentScm.getDeveloperConnection(), childPath,
                                                          childPathAdjustment, appendPaths ) );
             }
 
             if ( StringUtils.isEmpty( childScm.getUrl() ) && !StringUtils.isEmpty( parentScm.getUrl() ) )
             {
                 childScm.setUrl(
-                    appendPath( parentScm.getUrl(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
+                    appendPath( parentScm.getUrl(), childPath, childPathAdjustment, appendPaths ) );
             }
         }
     }

Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java?view=diff&rev=476153&r1=476152&r2=476153
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java Fri Nov 17 06:34:08 2006
@@ -26,9 +26,9 @@
 {
     String ROLE = ModelInheritanceAssembler.class.getName();
 
-    void assembleModelInheritance( Model child, Model parent, String childPathAdjustment );
+    void assembleModelInheritance( Model child, Model parent, String childPathAdjustment, String moduleName );
 
-    void assembleModelInheritance( Model child, Model parent );
+    void assembleModelInheritance( Model child, Model parent, String moduleName );
 
     void copyModel( Model dest, Model source );
 }

Modified: maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java?view=diff&rev=476153&r1=476152&r2=476153
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java Fri Nov 17 06:34:08 2006
@@ -63,7 +63,7 @@
         
         parent.addModule( "../child" );
         
-        assembler.assembleModelInheritance( child, parent, ".." );
+        assembler.assembleModelInheritance( child, parent, "..", "child" );
         
         String resultingUrl = child.getUrl();
         
@@ -86,8 +86,8 @@
         
         middle.addModule( "../bottom" );
         
-        assembler.assembleModelInheritance( middle, top, ".." );
-        assembler.assembleModelInheritance( bottom, middle, ".." );
+        assembler.assembleModelInheritance( middle, top, "..", "middle" );
+        assembler.assembleModelInheritance( bottom, middle, "..", "bottom" );
         
         String resultingUrl = bottom.getUrl();
         
@@ -122,9 +122,9 @@
         
         bottom.setDependencyManagement( bottomMgmt );
         
-        assembler.assembleModelInheritance( mid, top );
+        assembler.assembleModelInheritance( mid, top, null );
         
-        assembler.assembleModelInheritance( bottom, mid );
+        assembler.assembleModelInheritance( bottom, mid, null );
         
         DependencyManagement result = bottom.getDependencyManagement();
         
@@ -153,9 +153,9 @@
         
         Model bottom = makeBaseModel( "bottom" );
         
-        assembler.assembleModelInheritance( mid, top );
+        assembler.assembleModelInheritance( mid, top, null );
         
-        assembler.assembleModelInheritance( bottom, mid );
+        assembler.assembleModelInheritance( bottom, mid, null );
         
         DependencyManagement result = bottom.getDependencyManagement();
         
@@ -250,7 +250,7 @@
 
         parent.setDistributionManagement( distributionManagement );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         DistributionManagement childDistMgmt = child.getDistributionManagement();
         assertNotNull( "Check distMgmt inherited", childDistMgmt );
@@ -320,7 +320,7 @@
         Build childBuild = new Build();
         child.setBuild( childBuild );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertEquals( "source directory should be from parent", "src/main/java",
                       child.getBuild().getSourceDirectory() );
@@ -362,6 +362,9 @@
      *   |--artifact2 (in another directory called a2 so it has it's own scm section)
      *             |
      *             |--artifact2-1
+     *   |--artifact3 (in another directory called a3 and artifactId called artifact3 without it's own scm section)
+     *             |
+     *             |--artifact3-1
      * </pre>
      */
     public void testScmInheritance()
@@ -379,14 +382,22 @@
 
         Model artifact2_1 = makeScmModel( "artifact2-1" );
 
+        Model artifact3 = makeScmModel( "artifact3" );
+
+        Model artifact3_1 = makeScmModel( "artifact3-1" );
+
         // Assemble
-        assembler.assembleModelInheritance( artifact1, root );
+        assembler.assembleModelInheritance( artifact1, root, null );
+
+        assembler.assembleModelInheritance( artifact1_1, artifact1, null );
 
-        assembler.assembleModelInheritance( artifact1_1, artifact1 );
+        assembler.assembleModelInheritance( artifact2, root, null );
 
-        assembler.assembleModelInheritance( artifact2, root );
+        assembler.assembleModelInheritance( artifact2_1, artifact2, null );
 
-        assembler.assembleModelInheritance( artifact2_1, artifact2 );
+        assembler.assembleModelInheritance( artifact3, root, "a3" );
+
+        assembler.assembleModelInheritance( artifact3_1, artifact3, null );
 
         // --- -- -
 
@@ -399,6 +410,11 @@
 
         assertConnection( "scm:foo:/scm-root/yay-artifact2/artifact2-1",
                           "scm:foo:/scm-dev-root/yay-artifact2/artifact2-1", artifact2_1 );
+
+        assertConnection( "scm:foo:/scm-root/a3", "scm:foo:/scm-dev-root/a3", artifact3 );
+
+        assertConnection( "scm:foo:/scm-root/a3/artifact3-1", "scm:foo:/scm-dev-root/a3/artifact3-1",
+                          artifact3_1 );
     }
 
     public void testScmInheritanceWhereParentHasConnectionAndTheChildDoesnt()
@@ -407,7 +423,7 @@
 
         Model child = makeScmModel( "child" );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertScm( "scm:foo:bar:/scm-root/child", null, null, child.getScm() );
     }
@@ -418,7 +434,7 @@
 
         Model child = makeScmModel( "child", "scm:foo:bar:/another-root", null, null );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertScm( "scm:foo:bar:/another-root", null, null, child.getScm() );
     }
@@ -429,7 +445,7 @@
 
         Model child = makeScmModel( "child" );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertScm( null, "scm:foo:bar:/scm-dev-root/child", null, child.getScm() );
     }
@@ -440,7 +456,7 @@
 
         Model child = makeScmModel( "child", null, "scm:foo:bar:/another-dev-root", null );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertScm( null, "scm:foo:bar:/another-dev-root", null, child.getScm() );
     }
@@ -451,7 +467,7 @@
 
         Model child = makeScmModel( "child" );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertScm( null, null, "http://foo/bar/child", child.getScm() );
     }
@@ -462,7 +478,7 @@
 
         Model child = makeScmModel( "child", null, null, "http://bar/foo/" );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertScm( null, null, "http://bar/foo/", child.getScm() );
     }
@@ -475,7 +491,7 @@
 
         Model child = makeBaseModel( "child" );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         // TODO: a lot easier if modello generated equals() :)
         assertRepositories( repos, child.getRepositories() );
@@ -491,7 +507,7 @@
 
         repos.addAll( child.getRepositories() );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         // TODO: a lot easier if modello generated equals() :)
         assertRepositories( repos, child.getRepositories() );
@@ -506,7 +522,7 @@
         // We want to get the child repository here.
         List repos = new ArrayList( child.getRepositories() );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         // TODO: a lot easier if modello generated equals() :)
         assertRepositories( repos, child.getRepositories() );
@@ -530,7 +546,7 @@
 
         parent.setBuild( parentBuild );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertPlugins( parentPlugins, child );
     }
@@ -554,7 +570,7 @@
 
         parent.setBuild( parentBuild );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertPlugins( parentPlugins, child );
     }
@@ -578,7 +594,7 @@
 
         parent.setBuild( parentBuild );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertPlugins( new ArrayList(), child );
     }
@@ -659,7 +675,7 @@
         parentBuild.setExcludeDefaults( false );
         parent.setReporting( parentBuild );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertFalse( "Check excludeDefaults is inherited", child.getReporting().isExcludeDefaults() );
 
@@ -667,7 +683,7 @@
 
         parentBuild.setExcludeDefaults( true );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertTrue( "Check excludeDefaults is inherited", child.getReporting().isExcludeDefaults() );
     }
@@ -690,7 +706,7 @@
 
         parent.setReporting( parentBuild );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertReports( parentPlugins, child );
     }
@@ -714,7 +730,7 @@
 
         parent.setReporting( parentBuild );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertReports( parentPlugins, child );
     }
@@ -738,7 +754,7 @@
 
         parent.setReporting( parentBuild );
 
-        assembler.assembleModelInheritance( child, parent );
+        assembler.assembleModelInheritance( child, parent, null );
 
         assertReports( new ArrayList(), child );
     }