You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2007/10/18 05:11:43 UTC
svn commit: r585812 - in
/maven/components/branches/maven-2.0.x/maven-project/src:
main/java/org/apache/maven/project/inheritance/
test/java/org/apache/maven/project/inheritance/
Author: brianf
Date: Wed Oct 17 20:11:42 2007
New Revision: 585812
URL: http://svn.apache.org/viewvc?rev=585812&view=rev
Log:
MNG-3244: fix site url inheritence, patch from James Dumay
Modified:
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/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/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?rev=585812&r1=585811&r2=585812&view=diff
==============================================================================
--- 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 Wed Oct 17 20:11:42 2007
@@ -432,7 +432,7 @@
site.setUrl( parentDistMgmt.getSite().getUrl() );
- if ( site.getUrl() != null )
+ if ( site.getUrl() != null && (site.getUrl().endsWith( "/" )|| site.getUrl().endsWith( "\\" )))
{
site.setUrl(
appendPath( site.getUrl(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
@@ -494,10 +494,30 @@
if ( appendPaths )
{
if ( pathAdjustment != null )
- uncleanPath += "/" + pathAdjustment;
+ {
+ if (uncleanPath.endsWith( "/" )|| uncleanPath.endsWith( "\\" ))
+ {
+ uncleanPath += pathAdjustment;
+
+ }
+ else
+ {
+ uncleanPath += "/" + pathAdjustment;
+ }
+ }
if ( childPath != null )
- uncleanPath += "/" + childPath;
+ {
+
+ if (uncleanPath.endsWith( "/" )|| uncleanPath.endsWith( "\\" ))
+ {
+ uncleanPath += childPath;
+ }
+ else
+ {
+ uncleanPath += "/" + childPath;
+ }
+ }
}
String cleanedPath = "";
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?rev=585812&r1=585811&r2=585812&view=diff
==============================================================================
--- 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 Wed Oct 17 20:11:42 2007
@@ -53,6 +53,66 @@
{
private ModelInheritanceAssembler assembler = new DefaultModelInheritanceAssembler();
+ public void testSiteUrlWithTrailingForwardSlashInParentHasArtifactIdAppendedInChild()
+ {
+ Site site = new Site();
+ site.setName("docs");
+ site.setUrl("sftp://machine/path/to/site/");
+
+ DistributionManagement distributionManagement = new DistributionManagement();
+ distributionManagement.setSite(site);
+
+ Model parent = makeBaseModel( "parent" );
+ parent.setDistributionManagement(distributionManagement);
+
+ Model child = makeBaseModel( "child" );
+ child.setParent(parent.getParent());
+
+ assembler.assembleModelInheritance(child, parent);
+
+ assertEquals(site.getUrl()+ "child", child.getDistributionManagement().getSite().getUrl());
+ }
+
+ public void testSiteUrlWithTrailingBackSlashInParentHasArtifactIdAppendedInChild()
+ {
+ Site site = new Site();
+ site.setName("docs");
+ site.setUrl("file://machine\\path\\to\\site\\");
+
+ DistributionManagement distributionManagement = new DistributionManagement();
+ distributionManagement.setSite(site);
+
+ Model parent = makeBaseModel( "parent" );
+ parent.setDistributionManagement(distributionManagement);
+
+ Model child = makeBaseModel( "child" );
+ child.setParent(parent.getParent());
+
+ assembler.assembleModelInheritance(child, parent);
+
+ assertEquals(site.getUrl()+ "child", child.getDistributionManagement().getSite().getUrl());
+ }
+
+ public void testSiteUrlWithoutTrailingSlashInParentHasNoArtifactIdAppendedInChild()
+ {
+ Site site = new Site();
+ site.setName("docs");
+ site.setUrl("sftp://machine/path/to/site");
+
+ DistributionManagement distributionManagement = new DistributionManagement();
+ distributionManagement.setSite(site);
+
+ Model parent = makeBaseModel( "parent" );
+ parent.setDistributionManagement(distributionManagement);
+
+ Model child = makeBaseModel( "child" );
+ child.setParent(parent.getParent());
+
+ assembler.assembleModelInheritance(child, parent);
+
+ assertEquals(site.getUrl(), child.getDistributionManagement().getSite().getUrl());
+ }
+
public void testShouldAdjustChildUrlBasedOnParentAndModulePathInSiblingDir()
{
Model parent = makeBaseModel( "parent" );