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 ); }