You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2008/11/22 22:18:23 UTC
svn commit: r719921 -
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
Author: bentmann
Date: Sat Nov 22 13:18:23 2008
New Revision: 719921
URL: http://svn.apache.org/viewvc?rev=719921&view=rev
Log:
[MNG-3843] Main/test resources are not properly inherited
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java?rev=719921&r1=719920&r2=719921&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java Sat Nov 22 13:18:23 2008
@@ -203,9 +203,17 @@
boolean containsBuildResources = false;
boolean containsTestResources = false;
boolean containsPluginRepositories = false;
+ boolean containsLicenses = false;
+ boolean containsDevelopers = false;
+ boolean containsContributors = false;
+ boolean containsMailingLists = false;
+
+ int domainModelIndex = -1;
for ( DomainModel domainModel : domainModels )
{
+ domainModelIndex++;
+
if ( !( domainModel instanceof PomClassicDomainModel ) )
{
throw new IllegalArgumentException( "domainModels: Invalid domain model" );
@@ -235,7 +243,7 @@
}
//Modules Not Inherited Rule
- if ( domainModels.indexOf( domainModel ) != 0 )
+ if ( domainModelIndex > 0 )
{
ModelProperty modulesProperty = getPropertyFor( ProjectUri.Modules.xUri, tmp );
if ( modulesProperty != null )
@@ -257,7 +265,7 @@
}
//Not inherited plugin execution rule
- if ( domainModels.indexOf( domainModel ) > 0 )
+ if ( domainModelIndex > 0 )
{
List<ModelProperty> removeProperties = new ArrayList<ModelProperty>();
ModelDataSource source = new DefaultModelDataSource();
@@ -287,7 +295,7 @@
tmp.removeAll( removeProperties );
}
//Not inherited plugin rule
- if ( domainModels.indexOf( domainModel ) > 0 )
+ if ( domainModelIndex > 0 )
{
List<ModelProperty> removeProperties = new ArrayList<ModelProperty>();
ModelDataSource source = new DefaultModelDataSource();
@@ -327,63 +335,56 @@
// SCM Developer Rule
adjustUrl( scmDeveloperUrl, tmp, ProjectUri.Scm.developerConnection, projectNames );
- //Project Name Inheritance Rule
- //Packaging Inheritance Rule
- //Profiles not inherited rule
- //parent.relativePath not inherited rule
- for ( ModelProperty mp : tmp )
+ // Project Name Rule: not inherited
+ // Packaging Rule: not inherited
+ // Profiles Rule: not inherited
+ // Parent.relativePath Rule: not inherited
+ // Prerequisites Rule: not inherited
+ // DistributionManagent.Relocation Rule: not inherited
+ if ( domainModelIndex > 0 )
{
- String uri = mp.getUri();
- if ( domainModels.indexOf( domainModel ) > 0 && ( uri.equals( ProjectUri.name ) ||
- uri.equals( ProjectUri.packaging ) || uri.startsWith( ProjectUri.Profiles.xUri ) )
- || uri.startsWith( ProjectUri.Parent.relativePath ))
+ for ( ModelProperty mp : tmp )
{
- clearedProperties.add( mp );
+ String uri = mp.getUri();
+ if ( uri.equals( ProjectUri.name ) || uri.equals( ProjectUri.packaging )
+ || uri.startsWith( ProjectUri.Profiles.xUri )
+ || uri.startsWith( ProjectUri.Parent.relativePath )
+ || uri.startsWith( ProjectUri.Prerequisites.xUri )
+ || uri.startsWith( ProjectUri.DistributionManagement.Relocation.xUri ) )
+ {
+ clearedProperties.add( mp );
+ }
}
}
- //Remove Plugin Repository Inheritance Rule
- //Build Resources Inheritence Rule
- //Build Test Resources Inheritance Rule
- //Only inherit IF: the above is contained in super pom (domainModels.size() -1) && the child doesn't has it's own respective field
- if ( domainModels.indexOf( domainModel ) == 0 )
- {
- containsBuildResources = hasProjectUri( ProjectUri.Build.Resources.xUri, tmp );
- containsTestResources = hasProjectUri( ProjectUri.Build.TestResources.xUri, tmp );
- containsPluginRepositories = hasProjectUri( ProjectUri.PluginRepositories.xUri, tmp );
- }
+ // Remove Plugin Repository Inheritance Rule
+ // License Rule: only inherited if not specified in child
+ // Developers Rule: only inherited if not specified in child
+ // Contributors Rule: only inherited if not specified in child
+ // Mailing Lists Rule: only inherited if not specified in child
+ // Build Resources Rule: only inherited if not specified in child
+ // Build Test Resources Rule: only inherited if not specified in child
for ( ModelProperty mp : tmp )
{
- if ( domainModels.indexOf( domainModel ) > 0 )
+ String uri = mp.getUri();
+ if ( ( containsBuildResources && uri.startsWith( ProjectUri.Build.Resources.xUri ) )
+ || ( containsTestResources && uri.startsWith( ProjectUri.Build.TestResources.xUri ) )
+ || ( containsPluginRepositories && uri.startsWith( ProjectUri.PluginRepositories.xUri ) )
+ || ( containsLicenses && uri.startsWith( ProjectUri.Licenses.xUri ) )
+ || ( containsDevelopers && uri.startsWith( ProjectUri.Developers.xUri ) )
+ || ( containsContributors && uri.startsWith( ProjectUri.Contributors.xUri ) )
+ || ( containsMailingLists && uri.startsWith( ProjectUri.MailingLists.xUri ) ) )
{
- String uri = mp.getUri();
- boolean isNotSuperPom = domainModels.indexOf( domainModel ) != ( domainModels.size() - 1 );
- if ( isNotSuperPom )
- {
- if ( uri.startsWith( ProjectUri.Build.Resources.xUri ) ||
- uri.startsWith( ProjectUri.Build.TestResources.xUri ) ||
- uri.startsWith( ProjectUri.PluginRepositories.xUri ) )
- {
- clearedProperties.add( mp );
- }
- }
- else
- {
- if ( containsBuildResources && uri.startsWith( ProjectUri.Build.Resources.xUri ) )
- {
- clearedProperties.add( mp );
- }
- else if ( containsTestResources && uri.startsWith( ProjectUri.Build.TestResources.xUri ) )
- {
- clearedProperties.add( mp );
- }
- else if ( containsPluginRepositories && uri.startsWith( ProjectUri.PluginRepositories.xUri ) )
- {
- clearedProperties.add( mp );
- }
- }
+ clearedProperties.add( mp );
}
}
+ containsBuildResources |= hasProjectUri( ProjectUri.Build.Resources.xUri, tmp );
+ containsTestResources |= hasProjectUri( ProjectUri.Build.TestResources.xUri, tmp );
+ containsPluginRepositories |= hasProjectUri( ProjectUri.PluginRepositories.xUri, tmp );
+ containsLicenses |= hasProjectUri( ProjectUri.Licenses.xUri, tmp );
+ containsDevelopers |= hasProjectUri( ProjectUri.Developers.xUri, tmp );
+ containsContributors |= hasProjectUri( ProjectUri.Contributors.xUri, tmp );
+ containsMailingLists |= hasProjectUri( ProjectUri.MailingLists.xUri, tmp );
ModelProperty artifactId = getPropertyFor( ProjectUri.artifactId, tmp );
if ( artifactId != null )