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 2006/02/21 03:30:35 UTC
svn commit: r379311 - in /maven/components/trunk/maven-project/src:
main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java
Author: brett
Date: Mon Feb 20 18:30:32 2006
New Revision: 379311
URL: http://svn.apache.org/viewcvs?rev=379311&view=rev
Log:
[MNG-1999] fix reporting > excludeDefaults inheritance
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=379311&r1=379310&r2=379311&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 Mon Feb 20 18:30:32 2006
@@ -16,15 +16,6 @@
* limitations under the License.
*/
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.StringTokenizer;
-import java.util.TreeMap;
-
import org.apache.maven.model.Build;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
@@ -38,6 +29,15 @@
import org.apache.maven.project.ModelUtils;
import org.codehaus.plexus.util.StringUtils;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.StringTokenizer;
+import java.util.TreeMap;
+
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
* @version $Id: DefaultModelInheritanceAssembler.java,v 1.4 2004/08/23 20:24:54
@@ -275,6 +275,8 @@
child.setReporting( childReporting );
}
+ childReporting.setExcludeDefaults( parentReporting.isExcludeDefaults() );
+
if ( StringUtils.isEmpty( childReporting.getOutputDirectory() ) )
{
childReporting.setOutputDirectory( parentReporting.getOutputDirectory() );
@@ -422,25 +424,28 @@
if ( StringUtils.isEmpty( childScm.getConnection() ) && !StringUtils.isEmpty( parentScm.getConnection() ) )
{
- childScm.setConnection( appendPath( parentScm.getConnection(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
+ childScm.setConnection(
+ appendPath( parentScm.getConnection(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
}
if ( StringUtils.isEmpty( childScm.getDeveloperConnection() ) &&
!StringUtils.isEmpty( parentScm.getDeveloperConnection() ) )
{
childScm
- .setDeveloperConnection(
- appendPath( parentScm.getDeveloperConnection(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
+ .setDeveloperConnection( appendPath( parentScm.getDeveloperConnection(), child.getArtifactId(),
+ childPathAdjustment, appendPaths ) );
}
if ( StringUtils.isEmpty( childScm.getUrl() ) && !StringUtils.isEmpty( parentScm.getUrl() ) )
{
- childScm.setUrl( appendPath( parentScm.getUrl(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
+ childScm.setUrl(
+ appendPath( parentScm.getUrl(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
}
}
}
- private void assembleDistributionInheritence( Model child, Model parent, String childPathAdjustment, boolean appendPaths )
+ private void assembleDistributionInheritence( Model child, Model parent, String childPathAdjustment,
+ boolean appendPaths )
{
if ( parent.getDistributionManagement() != null )
{
@@ -471,7 +476,8 @@
if ( site.getUrl() != null )
{
- site.setUrl( appendPath( site.getUrl(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
+ site.setUrl(
+ appendPath( site.getUrl(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
}
}
}
@@ -517,56 +523,56 @@
protected String appendPath( String parentPath, String childPath, String pathAdjustment, boolean appendPaths )
{
List pathFragments = new ArrayList();
-
+
String rootPath = parentPath;
String protocol = null;
int protocolIdx = rootPath.indexOf( "://" );
-
+
if ( protocolIdx > -1 )
{
protocol = rootPath.substring( 0, protocolIdx + 3 );
rootPath = rootPath.substring( protocolIdx + 3 );
}
-
+
pathFragments.add( rootPath );
-
+
if ( appendPaths )
{
if ( pathAdjustment != null )
{
pathFragments.add( pathAdjustment );
}
-
+
pathFragments.add( childPath );
}
-
+
StringBuffer cleanedPath = new StringBuffer();
-
+
if ( protocol != null )
{
cleanedPath.append( protocol );
}
-
+
if ( rootPath.startsWith( "/" ) )
{
cleanedPath.append( '/' );
}
-
+
String lastToken = null;
String currentToken = null;
-
+
for ( Iterator it = pathFragments.iterator(); it.hasNext(); )
{
String pathFragment = (String) it.next();
-
+
StringTokenizer tokens = new StringTokenizer( pathFragment, "/" );
-
- while( tokens.hasMoreTokens() )
+
+ while ( tokens.hasMoreTokens() )
{
lastToken = currentToken;
currentToken = tokens.nextToken();
-
+
if ( "..".equals( currentToken ) )
{
// trim the previous path part off...
@@ -579,12 +585,12 @@
}
}
}
-
+
if ( !childPath.endsWith( "/" ) && appendPaths )
{
cleanedPath.setLength( cleanedPath.length() - 1 );
}
-
+
return cleanedPath.toString();
}
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=379311&r1=379310&r2=379311&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 Mon Feb 20 18:30:32 2006
@@ -17,7 +17,6 @@
*/
import junit.framework.TestCase;
-
import org.apache.maven.model.Build;
import org.apache.maven.model.Model;
import org.apache.maven.model.Parent;
@@ -43,17 +42,18 @@
extends TestCase
{
private ModelInheritanceAssembler assembler = new DefaultModelInheritanceAssembler();
-
+
public void testShouldAppendPathWithChildPathAdjustment()
{
String parentPath = "http://maven.apache.org/shared/maven-shared-parent";
String childPath = "file-management";
String pathAdjustment = "..";
-
- String result = ((DefaultModelInheritanceAssembler) assembler).appendPath( parentPath, childPath, pathAdjustment, true );
-
+
+ String result =
+ ( (DefaultModelInheritanceAssembler) assembler ).appendPath( parentPath, childPath, pathAdjustment, true );
+
System.out.println( "Resulting path is: \'" + result + "\'" );
-
+
assertEquals( "Append with path adjustment failed.", "http://maven.apache.org/shared/file-management", result );
}
@@ -151,8 +151,8 @@
Model artifact1_1 = makeScmModel( "artifact1-1" );
- Model artifact2 = makeScmModel( "artifact2", "scm:foo:/scm-root/yay-artifact2",
- "scm:foo:/scm-dev-root/yay-artifact2", null );
+ Model artifact2 =
+ makeScmModel( "artifact2", "scm:foo:/scm-root/yay-artifact2", "scm:foo:/scm-dev-root/yay-artifact2", null );
Model artifact2_1 = makeScmModel( "artifact2-1" );
@@ -424,6 +424,29 @@
assertTrue( "Unexpected goals specification",
( testExecutionsMap == null || testExecutionsMap.isEmpty() ) );
}
+ }
+
+ public void testReportingExcludeDefaultsInheritance()
+ {
+ Model parent = makeBaseModel( "parent" );
+
+ Model child = makeBaseModel( "child" );
+
+ Reporting parentBuild = new Reporting();
+ parentBuild.setExcludeDefaults( false );
+ parent.setReporting( parentBuild );
+
+ assembler.assembleModelInheritance( child, parent );
+
+ assertFalse( "Check excludeDefaults is inherited", child.getReporting().isExcludeDefaults() );
+
+ child = makeBaseModel( "child" );
+
+ parentBuild.setExcludeDefaults( true );
+
+ assembler.assembleModelInheritance( child, parent );
+
+ assertTrue( "Check excludeDefaults is inherited", child.getReporting().isExcludeDefaults() );
}
public void testReportInheritanceWhereParentReportWithoutInheritFlagAndChildHasNoReports()