You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2008/09/04 04:37:02 UTC
svn commit: r691855 - in
/maven/components/branches/sisbell-maven-2.1-profile:
maven-embedder/src/test/java/org/apache/maven/error/
maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/
maven-embedder/s...
Author: sisbell
Date: Wed Sep 3 19:37:00 2008
New Revision: 691855
URL: http://svn.apache.org/viewvc?rev=691855&view=rev
Log:
Refactor of dead code. Better encapsulation.
Added:
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/TestModelDefaultsInjector.java (contents, props changed)
- copied, changed from r691843, maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java
Removed:
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/artifact/AttachedArtifact.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/artifact/PomMetadataSource.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/injection/
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/profiles/
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java
Modified:
maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java
maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml
maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/main/resources/META-INF/plexus/components.xml
maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/build/model/ModelLineageBuilder.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/resources/META-INF/plexus/components.xml
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/injection/DefaultModelDefaultsInjectorTest.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java Wed Sep 3 19:37:00 2008
@@ -1121,7 +1121,8 @@
reporterCtl.verify();
}
-
+ /*
+ //This is now in maven-core: ReactorManager
public void testReportProjectCollision()
throws IOException
{
@@ -1139,7 +1140,7 @@
reporterCtl.verify();
}
-
+ */
/*
TODO: Disabled - add back in
public void testReportProjectValidationFailure()
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml Wed Sep 3 19:37:00 2008
@@ -24,15 +24,9 @@
<implementation>org.apache.maven.project.DefaultMavenProjectBuilder</implementation>
<requirements>
<requirement>
- <role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.interpolation.ModelInterpolator</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.inheritance.ModelInheritanceAssembler</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/main/resources/META-INF/plexus/components.xml?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/main/resources/META-INF/plexus/components.xml Wed Sep 3 19:37:00 2008
@@ -120,15 +120,7 @@
<role>org.apache.maven.project.interpolation.ModelInterpolator</role>
<implementation>org.apache.maven.project.interpolation.RegexBasedModelInterpolator</implementation>
</component>
-<!--
- |
- |
- |
- -->
- <component>
- <role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
- <implementation>org.apache.maven.project.injection.DefaultModelDefaultsInjector</implementation>
- </component>
+
<!--
|
|
@@ -148,10 +140,6 @@
<implementation>org.apache.maven.project.DefaultMavenProjectBuilder</implementation>
<requirements>
<requirement>
- <role>org.apache.maven.project.build.model.ModelLineageBuilder</role>
- <role-hint>default</role-hint>
- </requirement>
- <requirement>
<role>org.apache.maven.profiles.build.ProfileAdvisor</role>
<role-hint>default</role-hint>
</requirement>
@@ -159,15 +147,9 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.interpolation.ModelInterpolator</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.inheritance.ModelInheritanceAssembler</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml Wed Sep 3 19:37:00 2008
@@ -92,9 +92,6 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.interpolation.ModelInterpolator</role>
</requirement>
<requirement>
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml Wed Sep 3 19:37:00 2008
@@ -79,10 +79,6 @@
<implementation>org.apache.maven.project.TestProjectBuilder</implementation>
<requirements>
<requirement>
- <role>org.apache.maven.project.build.model.ModelLineageBuilder</role>
- <role-hint>default</role-hint>
- </requirement>
- <requirement>
<role>org.apache.maven.profiles.build.ProfileAdvisor</role>
<role-hint>default</role-hint>
</requirement>
@@ -90,15 +86,9 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.interpolation.ModelInterpolator</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.inheritance.ModelInheritanceAssembler</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Wed Sep 3 19:37:00 2008
@@ -41,7 +41,6 @@
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.project.builder.PomArtifactResolver;
import org.apache.maven.project.builder.ProjectBuilder;
-import org.apache.maven.project.injection.ModelDefaultsInjector;
import org.apache.maven.project.interpolation.ModelInterpolationException;
import org.apache.maven.project.interpolation.ModelInterpolator;
import org.apache.maven.project.path.PathTranslator;
@@ -116,8 +115,6 @@
private PathTranslator pathTranslator;
- private ModelDefaultsInjector modelDefaultsInjector;
-
private ModelInterpolator modelInterpolator;
private ProfileAdvisor profileAdvisor;
@@ -449,7 +446,7 @@
}
// interpolation is before injection, because interpolation is off-limits in the injected variables
- modelDefaultsInjector.injectDefaults(model);
+ new DefaultModelDefaultsInjector().injectDefaults(model);
// We will return a different project object using the new model (hence the need to return a project, not just modify the parameter)
MavenProject project = new MavenProject(model, artifactFactory, mavenTools, repositoryHelper, this, config);
@@ -666,4 +663,109 @@
setBuildOutputDirectoryOnParent(parent);
}
}
+
+ private static class DefaultModelDefaultsInjector
+ {
+ public void injectDefaults( Model model )
+ {
+ injectDependencyDefaults( model.getDependencies(), model.getDependencyManagement() );
+ if ( model.getBuild() != null )
+ {
+ injectPluginDefaults( model.getBuild(), model.getBuild().getPluginManagement() );
+ }
+ }
+
+ private static void injectPluginDefaults( Build build, PluginManagement pluginManagement )
+ {
+ if ( pluginManagement == null )
+ {
+ // nothing to inject.
+ return ;
+ }
+
+ List buildPlugins = build.getPlugins();
+
+ if ( buildPlugins != null && !buildPlugins.isEmpty() )
+ {
+ Map pmPlugins = pluginManagement.getPluginsAsMap();
+
+ if ( pmPlugins != null && !pmPlugins.isEmpty() )
+ {
+ for ( Iterator it = buildPlugins.iterator(); it.hasNext(); )
+ {
+ Plugin buildPlugin = (Plugin) it.next();
+
+ Plugin pmPlugin = (Plugin) pmPlugins.get( buildPlugin.getKey() );
+
+ if ( pmPlugin != null )
+ {
+ ModelUtils.mergePluginDefinitions( buildPlugin, pmPlugin, false );
+ }
+ }
+ }
+ }
+
+ }
+
+ private static void injectDependencyDefaults( List dependencies, DependencyManagement dependencyManagement )
+ {
+ if ( dependencyManagement != null )
+ {
+ // a given project's dependencies should be smaller than the
+ // group-defined defaults set...
+ // in other words, the project's deps will probably be a subset of
+ // those specified in defaults.
+ Map depsMap = new TreeMap();
+ for ( Iterator it = dependencies.iterator(); it.hasNext(); )
+ {
+ Dependency dep = (Dependency) it.next();
+ depsMap.put( dep.getManagementKey(), dep );
+ }
+
+ List managedDependencies = dependencyManagement.getDependencies();
+
+ for ( Iterator it = managedDependencies.iterator(); it.hasNext(); )
+ {
+ Dependency def = (Dependency) it.next();
+ String key = def.getManagementKey();
+
+ Dependency dep = (Dependency) depsMap.get( key );
+ if ( dep != null )
+ {
+ mergeDependencyWithDefaults( dep, def );
+ }
+ }
+ }
+ }
+
+ private static void mergeDependencyWithDefaults( Dependency dep, Dependency def )
+ {
+ if ( dep.getScope() == null && def.getScope() != null )
+ {
+ dep.setScope( def.getScope() );
+ dep.setSystemPath( def.getSystemPath() );
+ }
+
+ if ( dep.getVersion() == null && def.getVersion() != null )
+ {
+ dep.setVersion( def.getVersion() );
+ }
+
+ if ( dep.getClassifier() == null && def.getClassifier() != null )
+ {
+ dep.setClassifier( def.getClassifier() );
+ }
+
+ if ( dep.getType() == null && def.getType() != null )
+ {
+ dep.setType( def.getType() );
+ }
+
+ List exclusions = dep.getExclusions();
+ if ( exclusions == null || exclusions.isEmpty() )
+ {
+ dep.setExclusions( def.getExclusions() );
+ }
+ }
+ }
}
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java Wed Sep 3 19:37:00 2008
@@ -20,14 +20,20 @@
*/
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
+import org.apache.maven.artifact.InvalidArtifactRTException;
+import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
import org.apache.maven.model.Resource;
-import org.apache.maven.project.artifact.AttachedArtifact;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import java.io.File;
import java.util.List;
+import java.util.Collections;
+import java.util.Collection;
public class DefaultMavenProjectHelper
extends AbstractLogEnabled
@@ -119,4 +125,138 @@
project.addTestResource( resource );
}
+ private static class AttachedArtifact
+ extends DefaultArtifact
+ {
+
+ private final Artifact parent;
+
+ public AttachedArtifact( Artifact parent, String type, String classifier, ArtifactHandler artifactHandler )
+ {
+ super( parent.getGroupId(), parent.getArtifactId(), parent.getVersionRange(), parent.getScope(), type,
+ classifier, artifactHandler, parent.isOptional() );
+
+ setDependencyTrail( Collections.singletonList( parent.getId() ) );
+
+ this.parent = parent;
+
+ if ( getId().equals( parent.getId() ) )
+ {
+ throw new InvalidArtifactRTException( parent.getGroupId(), parent.getArtifactId(), parent.getVersion(), parent.getType(), "An attached artifact must have a different ID than its corresponding main artifact." );
+ }
+ }
+
+ public AttachedArtifact( Artifact parent, String type, ArtifactHandler artifactHandler )
+ {
+ this( parent, type, null, artifactHandler );
+ }
+
+ public void setArtifactId( String artifactId )
+ {
+ // ignore this. We should ALWAYS use the information from the parent artifact.
+ }
+
+ public List getAvailableVersions()
+ {
+ return parent.getAvailableVersions();
+ }
+
+ public void setAvailableVersions( List availableVersions )
+ {
+ // ignore this. We should ALWAYS use the information from the parent artifact.
+ }
+
+ public String getBaseVersion()
+ {
+ return parent.getBaseVersion();
+ }
+
+ public void setBaseVersion( String baseVersion )
+ {
+ // ignore this. We should ALWAYS use the information from the parent artifact.
+ }
+
+ public String getDownloadUrl()
+ {
+ return parent.getDownloadUrl();
+ }
+
+ public void setDownloadUrl( String downloadUrl )
+ {
+ // ignore this. We should ALWAYS use the information from the parent artifact.
+ }
+
+ public void setGroupId( String groupId )
+ {
+ // ignore this. We should ALWAYS use the information from the parent artifact.
+ }
+
+ public ArtifactRepository getRepository()
+ {
+ return parent.getRepository();
+ }
+
+ public void setRepository( ArtifactRepository repository )
+ {
+ // ignore this. We should ALWAYS use the information from the parent artifact.
+ }
+
+ public String getScope()
+ {
+ return parent.getScope();
+ }
+
+ public void setScope( String scope )
+ {
+ // ignore this. We should ALWAYS use the information from the parent artifact.
+ }
+
+ public String getVersion()
+ {
+ return parent.getVersion();
+ }
+
+ public void setVersion( String version )
+ {
+ // ignore this. We should ALWAYS use the information from the parent artifact.
+ }
+
+ public VersionRange getVersionRange()
+ {
+ return parent.getVersionRange();
+ }
+
+ public void setVersionRange( VersionRange range )
+ {
+ // ignore this. We should ALWAYS use the information from the parent artifact.
+ }
+
+ public boolean isRelease()
+ {
+ return parent.isRelease();
+ }
+
+ public void setRelease( boolean release )
+ {
+ // ignore this. We should ALWAYS use the information from the parent artifact.
+ }
+
+ public boolean isSnapshot()
+ {
+ return parent.isSnapshot();
+ }
+
+ public void addMetadata( ArtifactMetadata metadata )
+ {
+ // ignore. The parent artifact will handle metadata.
+ // we must fail silently here to avoid problems with the artifact transformers.
+ }
+
+ public Collection getMetadataList()
+ {
+ return Collections.EMPTY_LIST;
+ }
+
+ }
+
}
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java Wed Sep 3 19:37:00 2008
@@ -62,54 +62,6 @@
{
/**
- * Given this plugin list:
- *
- * A1 -> B -> C -> A2 -> D
- *
- * Rearrange it to this:
- *
- * A(A1 + A2) -> B -> C -> D
- *
- * In cases of overlapping definitions, A1 is overridden by A2
- *
- */
- public static void mergeDuplicatePluginDefinitions( PluginContainer pluginContainer )
- {
- if ( pluginContainer == null )
- {
- return;
- }
-
- List originalPlugins = pluginContainer.getPlugins();
-
- if ( ( originalPlugins == null ) || originalPlugins.isEmpty() )
- {
- return;
- }
-
- List normalized = new ArrayList( originalPlugins.size() );
-
- for ( Iterator it = originalPlugins.iterator(); it.hasNext(); )
- {
- Plugin currentPlugin = (Plugin) it.next();
-
- if ( normalized.contains( currentPlugin ) )
- {
- int idx = normalized.indexOf( currentPlugin );
- Plugin firstPlugin = (Plugin) normalized.get( idx );
-
- mergePluginDefinitions( firstPlugin, currentPlugin, false );
- }
- else
- {
- normalized.add( currentPlugin );
- }
- }
-
- pluginContainer.setPlugins( normalized );
- }
-
- /**
* This should be the resulting ordering of plugins after merging:
*
* Given:
@@ -262,67 +214,6 @@
return results;
}
- public static void mergeReportPluginLists( Reporting child, Reporting parent, boolean handleAsInheritance )
- {
- if ( ( child == null ) || ( parent == null ) )
- {
- // nothing to do.
- return;
- }
-
- List parentPlugins = parent.getPlugins();
-
- if ( ( parentPlugins != null ) && !parentPlugins.isEmpty() )
- {
- Map assembledPlugins = new TreeMap();
-
- Map childPlugins = child.getReportPluginsAsMap();
-
- for ( Iterator it = parentPlugins.iterator(); it.hasNext(); )
- {
- ReportPlugin parentPlugin = (ReportPlugin) it.next();
-
- String parentInherited = parentPlugin.getInherited();
-
- if ( !handleAsInheritance || ( parentInherited == null ) ||
- Boolean.valueOf( parentInherited ).booleanValue() )
- {
-
- ReportPlugin assembledPlugin = parentPlugin;
-
- ReportPlugin childPlugin = (ReportPlugin) childPlugins.get( parentPlugin.getKey() );
-
- if ( childPlugin != null )
- {
- assembledPlugin = childPlugin;
-
- mergeReportPluginDefinitions( childPlugin, parentPlugin, handleAsInheritance );
- }
-
- if ( handleAsInheritance && ( parentInherited == null ) )
- {
- assembledPlugin.unsetInheritanceApplied();
- }
-
- assembledPlugins.put( assembledPlugin.getKey(), assembledPlugin );
- }
- }
-
- for ( Iterator it = childPlugins.values().iterator(); it.hasNext(); )
- {
- ReportPlugin childPlugin = (ReportPlugin) it.next();
-
- if ( !assembledPlugins.containsKey( childPlugin.getKey() ) )
- {
- assembledPlugins.put( childPlugin.getKey(), childPlugin );
- }
- }
-
- child.setPlugins( new ArrayList( assembledPlugins.values() ) );
-
- child.flushReportPluginMap();
- }
- }
public static void mergePluginDefinitions( Plugin child, Plugin parent, boolean handleAsInheritance )
{
@@ -413,77 +304,6 @@
}
- public static void mergeReportPluginDefinitions( ReportPlugin child, ReportPlugin parent,
- boolean handleAsInheritance )
- {
- if ( ( child == null ) || ( parent == null ) )
- {
- // nothing to do.
- return;
- }
-
- if ( ( child.getVersion() == null ) && ( parent.getVersion() != null ) )
- {
- child.setVersion( parent.getVersion() );
- }
-
- // from here to the end of the method is dealing with merging of the <executions/> section.
- String parentInherited = parent.getInherited();
-
- boolean parentIsInherited = ( parentInherited == null ) || Boolean.valueOf( parentInherited ).booleanValue();
-
- List parentReportSets = parent.getReportSets();
-
- if ( ( parentReportSets != null ) && !parentReportSets.isEmpty() )
- {
- Map assembledReportSets = new TreeMap();
-
- Map childReportSets = child.getReportSetsAsMap();
-
- for ( Iterator it = parentReportSets.iterator(); it.hasNext(); )
- {
- ReportSet parentReportSet = (ReportSet) it.next();
-
- if ( !handleAsInheritance || parentIsInherited )
- {
- ReportSet assembledReportSet = parentReportSet;
-
- ReportSet childReportSet = (ReportSet) childReportSets.get( parentReportSet.getId() );
-
- if ( childReportSet != null )
- {
- mergeReportSetDefinitions( childReportSet, parentReportSet );
-
- assembledReportSet = childReportSet;
- }
- else if ( handleAsInheritance && ( parentInherited == null ) )
- {
- parentReportSet.unsetInheritanceApplied();
- }
-
- assembledReportSets.put( assembledReportSet.getId(), assembledReportSet );
- }
- }
-
- for ( Iterator it = childReportSets.entrySet().iterator(); it.hasNext(); )
- {
- Map.Entry entry = (Map.Entry) it.next();
-
- String id = (String) entry.getKey();
-
- if ( !assembledReportSets.containsKey( id ) )
- {
- assembledReportSets.put( id, entry.getValue() );
- }
- }
-
- child.setReportSets( new ArrayList( assembledReportSets.values() ) );
-
- child.flushReportSetMap();
- }
-
- }
-
private static void mergePluginExecutionDefinitions( PluginExecution child, PluginExecution parent )
{
if ( child.getPhase() == null )
@@ -524,41 +344,6 @@
child.setConfiguration( childConfiguration );
}
- private static void mergeReportSetDefinitions( ReportSet child, ReportSet parent )
- {
- List parentReports = parent.getReports();
- List childReports = child.getReports();
-
- List reports = new ArrayList();
-
- if ( ( childReports != null ) && !childReports.isEmpty() )
- {
- reports.addAll( childReports );
- }
-
- if ( parentReports != null )
- {
- for ( Iterator i = parentReports.iterator(); i.hasNext(); )
- {
- String report = (String) i.next();
-
- if ( !reports.contains( report ) )
- {
- reports.add( report );
- }
- }
- }
-
- child.setReports( reports );
-
- Xpp3Dom childConfiguration = (Xpp3Dom) child.getConfiguration();
- Xpp3Dom parentConfiguration = (Xpp3Dom) parent.getConfiguration();
-
- childConfiguration = Xpp3Dom.mergeXpp3Dom( childConfiguration, parentConfiguration );
-
- child.setConfiguration( childConfiguration );
- }
-
public static Model cloneModel( Model model )
{
// TODO: would be nice for the modello:java code to generate this as a copy constructor
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java Wed Sep 3 19:37:00 2008
@@ -139,57 +139,6 @@
return lineage;
}
- public void resumeBuildingModelLineage( ModelLineage lineage,
- ProjectBuilderConfiguration config,
- boolean allowStubs,
- boolean isReactorProject )
- throws ProjectBuildingException
- {
- if ( lineage.size() == 0 )
- {
- throw new ProjectBuildingException( "unknown",
- "Cannot resume a ModelLineage that doesn't contain at least one Model instance." );
- }
-
- List currentRemoteRepositories = lineage.getDeepestAncestorArtifactRepositoryList();
-
- if ( currentRemoteRepositories == null )
- {
- currentRemoteRepositories = new ArrayList();
- }
-
- ModelAndFile current = new ModelAndFile( lineage.getDeepestAncestorModel(),
- lineage.getDeepestAncestorFile(),
- lineage.isDeepestAncestorUsingProfilesXml() );
-
- // use the above information to re-bootstrap the resolution chain...
- current = resolveParentPom( current,
- currentRemoteRepositories,
- config,
- allowStubs,
- isReactorProject);
-
- while ( current != null )
- {
- lineage.addParent( current.getModel(),
- current.getFile(),
- currentRemoteRepositories,
- current.isValidProfilesXmlLocation() );
-
- currentRemoteRepositories = updateRepositorySet( current.getModel(),
- currentRemoteRepositories,
- current.getFile(),
- config,
- current.isValidProfilesXmlLocation() );
-
- current = resolveParentPom( current,
- currentRemoteRepositories,
- config,
- allowStubs,
- isReactorProject );
- }
- }
-
/**
* Read the Model instance from the given POM file. Skip caching the Model on this call, since
* it's meant for diagnostic purposes (to determine a parent match).
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/build/model/ModelLineageBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/build/model/ModelLineageBuilder.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/build/model/ModelLineageBuilder.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/build/model/ModelLineageBuilder.java Wed Sep 3 19:37:00 2008
@@ -61,25 +61,4 @@
boolean isReactorProject )
throws ProjectBuildingException;
- /**
- * Resume the process of constructing a lineage of inherited models, picking up using the deepest
- * parent already in the lineage.
- *
- * @param lineage The ModelLineage instance in progress, which should be completed.
- *
- * @param config The project-building configuration to use, which contains the global profile manager,
- * local repository, and execution- and user-level properties.
- *
- * @param allowStubs Whether stubbed-out Model instances should be constructed in the event that
- * a parent-POM cannot be resolved.
- *
- * @param isReactorProject Whether the model being built is part of the build we're trying to execute,
- * or if it's actually being read from the repository.
- */
- void resumeBuildingModelLineage( ModelLineage lineage,
- ProjectBuilderConfiguration config,
- boolean allowStubs,
- boolean isReactorProject )
- throws ProjectBuildingException;
-
}
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java Wed Sep 3 19:37:00 2008
@@ -19,19 +19,10 @@
* under the License.
*/
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.DeploymentRepository;
-import org.apache.maven.model.DistributionManagement;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.PluginManagement;
-import org.apache.maven.model.Reporting;
-import org.apache.maven.model.Resource;
-import org.apache.maven.model.Scm;
-import org.apache.maven.model.Site;
+import org.apache.maven.model.*;
import org.apache.maven.project.ModelUtils;
import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
import java.util.ArrayList;
import java.util.Iterator;
@@ -52,19 +43,132 @@
public class DefaultModelInheritanceAssembler
implements ModelInheritanceAssembler
{
- public void copyModel( Model dest, Model source )
+
+ // TODO: Remove this!
+ @SuppressWarnings("unchecked")
+ public void assembleBuildInheritance( Build childBuild,
+ Build parentBuild,
+ boolean handleAsInheritance )
{
- assembleModelInheritance( dest, source, null, false );
+ // The build has been set but we want to step in here and fill in
+ // values that have not been set by the child.
+
+ if ( childBuild.getSourceDirectory() == null )
+ {
+ childBuild.setSourceDirectory( parentBuild.getSourceDirectory() );
+ }
+
+ if ( childBuild.getScriptSourceDirectory() == null )
+ {
+ childBuild.setScriptSourceDirectory( parentBuild.getScriptSourceDirectory() );
+ }
+
+ if ( childBuild.getTestSourceDirectory() == null )
+ {
+ childBuild.setTestSourceDirectory( parentBuild.getTestSourceDirectory() );
+ }
+
+ if ( childBuild.getOutputDirectory() == null )
+ {
+ childBuild.setOutputDirectory( parentBuild.getOutputDirectory() );
+ }
+
+ if ( childBuild.getTestOutputDirectory() == null )
+ {
+ childBuild.setTestOutputDirectory( parentBuild.getTestOutputDirectory() );
+ }
+
+ // Extensions are accumlated
+ ModelUtils.mergeExtensionLists( childBuild, parentBuild );
+
+ if ( childBuild.getDirectory() == null )
+ {
+ childBuild.setDirectory( parentBuild.getDirectory() );
+ }
+
+ if ( childBuild.getDefaultGoal() == null )
+ {
+ childBuild.setDefaultGoal( parentBuild.getDefaultGoal() );
+ }
+
+ if ( childBuild.getFinalName() == null )
+ {
+ childBuild.setFinalName( parentBuild.getFinalName() );
+ }
+
+ ModelUtils.mergeFilterLists( childBuild.getFilters(), parentBuild.getFilters() );
+
+ List<Resource> resources = childBuild.getResources();
+ if ( ( resources == null ) || resources.isEmpty() )
+ {
+ childBuild.setResources( parentBuild.getResources() );
+ }
+
+ resources = childBuild.getTestResources();
+ if ( ( resources == null ) || resources.isEmpty() )
+ {
+ childBuild.setTestResources( parentBuild.getTestResources() );
+ }
+
+ // Plugins are aggregated if Plugin.inherit != false
+ ModelUtils.mergePluginLists( childBuild, parentBuild, handleAsInheritance );
+
+ // Plugin management :: aggregate
+ PluginManagement dominantPM = childBuild.getPluginManagement();
+ PluginManagement recessivePM = parentBuild.getPluginManagement();
+
+ if ( ( dominantPM == null ) && ( recessivePM != null ) )
+ {
+ // FIXME: Filter out the inherited == false stuff!
+ childBuild.setPluginManagement( recessivePM );
+ }
+ else
+ {
+ ModelUtils.mergePluginLists( childBuild.getPluginManagement(), parentBuild.getPluginManagement(),
+ false );
+ }
}
- public void assembleModelInheritance( Model child, Model parent, String childPathAdjustment )
+ private void assembleScmInheritance( Model child, Model parent, String childPathAdjustment, boolean appendPaths )
{
- assembleModelInheritance( child, parent, childPathAdjustment, true );
+ if ( parent.getScm() != null )
+ {
+ Scm parentScm = parent.getScm();
+
+ Scm childScm = child.getScm();
+
+ if ( childScm == null )
+ {
+ childScm = new Scm();
+
+ child.setScm( childScm );
+ }
+
+ if ( StringUtils.isEmpty( childScm.getConnection() ) && !StringUtils.isEmpty( parentScm.getConnection() ) )
+ {
+ 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 ) );
+ }
+
+ if ( StringUtils.isEmpty( childScm.getUrl() ) && !StringUtils.isEmpty( parentScm.getUrl() ) )
+ {
+ childScm.setUrl(
+ appendPath( parentScm.getUrl(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
+ }
+ }
}
- public void assembleModelInheritance( Model child, Model parent )
+ public void copyModel( Model dest, Model source )
{
- assembleModelInheritance( child, parent, null, true );
+ assembleModelInheritance( dest, source, null, false );
}
private void assembleModelInheritance( Model child, Model parent, String childPathAdjustment, boolean appendPaths )
@@ -243,177 +347,224 @@
childReporting.setOutputDirectory( parentReporting.getOutputDirectory() );
}
- ModelUtils.mergeReportPluginLists( childReporting, parentReporting, true );
+ mergeReportPluginLists( childReporting, parentReporting, true );
}
}
- // TODO: Remove this!
- @SuppressWarnings("unchecked")
- private void assembleDependencyInheritance( Model child, Model parent )
+ private static void mergeReportPluginLists( Reporting child, Reporting parent, boolean handleAsInheritance )
{
- Map<String, Dependency> depsMap = new LinkedHashMap<String, Dependency>();
-
- List<Dependency> deps = parent.getDependencies();
-
- if ( deps != null )
+ if ( ( child == null ) || ( parent == null ) )
{
- for ( Iterator<Dependency> it = deps.iterator(); it.hasNext(); )
- {
- Dependency dependency = it.next();
- depsMap.put( dependency.getManagementKey(), dependency );
- }
+ // nothing to do.
+ return;
}
- deps = child.getDependencies();
+ List parentPlugins = parent.getPlugins();
- if ( deps != null )
+ if ( ( parentPlugins != null ) && !parentPlugins.isEmpty() )
{
- for ( Iterator<Dependency> it = deps.iterator(); it.hasNext(); )
+ Map assembledPlugins = new TreeMap();
+
+ Map childPlugins = child.getReportPluginsAsMap();
+
+ for ( Iterator it = parentPlugins.iterator(); it.hasNext(); )
{
- Dependency dependency = it.next();
- depsMap.put( dependency.getManagementKey(), dependency );
- }
- }
+ ReportPlugin parentPlugin = (ReportPlugin) it.next();
- child.setDependencies( new ArrayList<Dependency>( depsMap.values() ) );
- }
+ String parentInherited = parentPlugin.getInherited();
- private void assembleBuildInheritance( Model child, Model parent )
- {
- Build childBuild = child.getBuild();
- Build parentBuild = parent.getBuild();
+ if ( !handleAsInheritance || ( parentInherited == null ) ||
+ Boolean.valueOf( parentInherited ).booleanValue() )
+ {
- if ( parentBuild != null )
- {
- if ( childBuild == null )
+ ReportPlugin assembledPlugin = parentPlugin;
+
+ ReportPlugin childPlugin = (ReportPlugin) childPlugins.get( parentPlugin.getKey() );
+
+ if ( childPlugin != null )
+ {
+ assembledPlugin = childPlugin;
+
+ mergeReportPluginDefinitions( childPlugin, parentPlugin, handleAsInheritance );
+ }
+
+ if ( handleAsInheritance && ( parentInherited == null ) )
+ {
+ assembledPlugin.unsetInheritanceApplied();
+ }
+
+ assembledPlugins.put( assembledPlugin.getKey(), assembledPlugin );
+ }
+ }
+
+ for ( Iterator it = childPlugins.values().iterator(); it.hasNext(); )
{
- childBuild = new Build();
- child.setBuild( childBuild );
+ ReportPlugin childPlugin = (ReportPlugin) it.next();
+
+ if ( !assembledPlugins.containsKey( childPlugin.getKey() ) )
+ {
+ assembledPlugins.put( childPlugin.getKey(), childPlugin );
+ }
}
- assembleBuildInheritance( childBuild, parentBuild, true );
+ child.setPlugins( new ArrayList( assembledPlugins.values() ) );
+
+ child.flushReportPluginMap();
}
}
- // TODO: Remove this!
- @SuppressWarnings("unchecked")
- public void assembleBuildInheritance( Build childBuild,
- Build parentBuild,
- boolean handleAsInheritance )
+ private static void mergeReportSetDefinitions( ReportSet child, ReportSet parent )
{
- // The build has been set but we want to step in here and fill in
- // values that have not been set by the child.
+ List parentReports = parent.getReports();
+ List childReports = child.getReports();
- if ( childBuild.getSourceDirectory() == null )
- {
- childBuild.setSourceDirectory( parentBuild.getSourceDirectory() );
- }
+ List reports = new ArrayList();
- if ( childBuild.getScriptSourceDirectory() == null )
+ if ( ( childReports != null ) && !childReports.isEmpty() )
{
- childBuild.setScriptSourceDirectory( parentBuild.getScriptSourceDirectory() );
+ reports.addAll( childReports );
}
- if ( childBuild.getTestSourceDirectory() == null )
+ if ( parentReports != null )
{
- childBuild.setTestSourceDirectory( parentBuild.getTestSourceDirectory() );
- }
+ for ( Iterator i = parentReports.iterator(); i.hasNext(); )
+ {
+ String report = (String) i.next();
- if ( childBuild.getOutputDirectory() == null )
- {
- childBuild.setOutputDirectory( parentBuild.getOutputDirectory() );
+ if ( !reports.contains( report ) )
+ {
+ reports.add( report );
+ }
+ }
}
- if ( childBuild.getTestOutputDirectory() == null )
- {
- childBuild.setTestOutputDirectory( parentBuild.getTestOutputDirectory() );
- }
+ child.setReports( reports );
- // Extensions are accumlated
- ModelUtils.mergeExtensionLists( childBuild, parentBuild );
+ Xpp3Dom childConfiguration = (Xpp3Dom) child.getConfiguration();
+ Xpp3Dom parentConfiguration = (Xpp3Dom) parent.getConfiguration();
- if ( childBuild.getDirectory() == null )
- {
- childBuild.setDirectory( parentBuild.getDirectory() );
- }
+ childConfiguration = Xpp3Dom.mergeXpp3Dom( childConfiguration, parentConfiguration );
- if ( childBuild.getDefaultGoal() == null )
+ child.setConfiguration( childConfiguration );
+ }
+
+
+ public static void mergeReportPluginDefinitions( ReportPlugin child, ReportPlugin parent,
+ boolean handleAsInheritance )
+ {
+ if ( ( child == null ) || ( parent == null ) )
{
- childBuild.setDefaultGoal( parentBuild.getDefaultGoal() );
+ // nothing to do.
+ return;
}
- if ( childBuild.getFinalName() == null )
+ if ( ( child.getVersion() == null ) && ( parent.getVersion() != null ) )
{
- childBuild.setFinalName( parentBuild.getFinalName() );
+ child.setVersion( parent.getVersion() );
}
- ModelUtils.mergeFilterLists( childBuild.getFilters(), parentBuild.getFilters() );
+ // from here to the end of the method is dealing with merging of the <executions/> section.
+ String parentInherited = parent.getInherited();
- List<Resource> resources = childBuild.getResources();
- if ( ( resources == null ) || resources.isEmpty() )
- {
- childBuild.setResources( parentBuild.getResources() );
- }
+ boolean parentIsInherited = ( parentInherited == null ) || Boolean.valueOf( parentInherited ).booleanValue();
- resources = childBuild.getTestResources();
- if ( ( resources == null ) || resources.isEmpty() )
+ List parentReportSets = parent.getReportSets();
+
+ if ( ( parentReportSets != null ) && !parentReportSets.isEmpty() )
{
- childBuild.setTestResources( parentBuild.getTestResources() );
- }
+ Map assembledReportSets = new TreeMap();
- // Plugins are aggregated if Plugin.inherit != false
- ModelUtils.mergePluginLists( childBuild, parentBuild, handleAsInheritance );
+ Map childReportSets = child.getReportSetsAsMap();
- // Plugin management :: aggregate
- PluginManagement dominantPM = childBuild.getPluginManagement();
- PluginManagement recessivePM = parentBuild.getPluginManagement();
+ for ( Iterator it = parentReportSets.iterator(); it.hasNext(); )
+ {
+ ReportSet parentReportSet = (ReportSet) it.next();
- if ( ( dominantPM == null ) && ( recessivePM != null ) )
- {
- // FIXME: Filter out the inherited == false stuff!
- childBuild.setPluginManagement( recessivePM );
- }
- else
- {
- ModelUtils.mergePluginLists( childBuild.getPluginManagement(), parentBuild.getPluginManagement(),
- false );
- }
- }
+ if ( !handleAsInheritance || parentIsInherited )
+ {
+ ReportSet assembledReportSet = parentReportSet;
- private void assembleScmInheritance( Model child, Model parent, String childPathAdjustment, boolean appendPaths )
- {
- if ( parent.getScm() != null )
- {
- Scm parentScm = parent.getScm();
+ ReportSet childReportSet = (ReportSet) childReportSets.get( parentReportSet.getId() );
- Scm childScm = child.getScm();
+ if ( childReportSet != null )
+ {
+ mergeReportSetDefinitions( childReportSet, parentReportSet );
- if ( childScm == null )
+ assembledReportSet = childReportSet;
+ }
+ else if ( handleAsInheritance && ( parentInherited == null ) )
+ {
+ parentReportSet.unsetInheritanceApplied();
+ }
+
+ assembledReportSets.put( assembledReportSet.getId(), assembledReportSet );
+ }
+ }
+
+ for ( Iterator it = childReportSets.entrySet().iterator(); it.hasNext(); )
{
- childScm = new Scm();
+ Map.Entry entry = (Map.Entry) it.next();
- child.setScm( childScm );
+ String id = (String) entry.getKey();
+
+ if ( !assembledReportSets.containsKey( id ) )
+ {
+ assembledReportSets.put( id, entry.getValue() );
+ }
}
- if ( StringUtils.isEmpty( childScm.getConnection() ) && !StringUtils.isEmpty( parentScm.getConnection() ) )
+ child.setReportSets( new ArrayList( assembledReportSets.values() ) );
+
+ child.flushReportSetMap();
+ }
+
+ }
+
+ // TODO: Remove this!
+ @SuppressWarnings("unchecked")
+ private void assembleDependencyInheritance( Model child, Model parent )
+ {
+ Map<String, Dependency> depsMap = new LinkedHashMap<String, Dependency>();
+
+ List<Dependency> deps = parent.getDependencies();
+
+ if ( deps != null )
+ {
+ for ( Iterator<Dependency> it = deps.iterator(); it.hasNext(); )
{
- childScm.setConnection(
- appendPath( parentScm.getConnection(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
+ Dependency dependency = it.next();
+ depsMap.put( dependency.getManagementKey(), dependency );
}
+ }
- if ( StringUtils.isEmpty( childScm.getDeveloperConnection() ) &&
- !StringUtils.isEmpty( parentScm.getDeveloperConnection() ) )
+ deps = child.getDependencies();
+
+ if ( deps != null )
+ {
+ for ( Iterator<Dependency> it = deps.iterator(); it.hasNext(); )
{
- childScm
- .setDeveloperConnection( appendPath( parentScm.getDeveloperConnection(), child.getArtifactId(),
- childPathAdjustment, appendPaths ) );
+ Dependency dependency = it.next();
+ depsMap.put( dependency.getManagementKey(), dependency );
}
+ }
- if ( StringUtils.isEmpty( childScm.getUrl() ) && !StringUtils.isEmpty( parentScm.getUrl() ) )
+ child.setDependencies( new ArrayList<Dependency>( depsMap.values() ) );
+ }
+
+ private void assembleBuildInheritance( Model child, Model parent )
+ {
+ Build childBuild = child.getBuild();
+ Build parentBuild = parent.getBuild();
+
+ if ( parentBuild != null )
+ {
+ if ( childBuild == null )
{
- childScm.setUrl(
- appendPath( parentScm.getUrl(), child.getArtifactId(), childPathAdjustment, appendPaths ) );
+ childBuild = new Build();
+ child.setBuild( childBuild );
}
+
+ assembleBuildInheritance( childBuild, parentBuild, true );
}
}
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java Wed Sep 3 19:37:00 2008
@@ -30,10 +30,6 @@
{
String ROLE = ModelInheritanceAssembler.class.getName();
- void assembleModelInheritance( Model child, Model parent, String childPathAdjustment );
-
- void assembleModelInheritance( Model child, Model parent );
-
void assembleBuildInheritance( Build childBuild,
Build parentBuild,
boolean handleAsInheriance );
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/resources/META-INF/plexus/components.xml?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/resources/META-INF/plexus/components.xml Wed Sep 3 19:37:00 2008
@@ -87,15 +87,7 @@
</requirement>
</requirements>
</component>
-<!--
- |
- |
- |
- -->
- <component>
- <role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
- <implementation>org.apache.maven.project.injection.DefaultModelDefaultsInjector</implementation>
- </component>
+
<!--
|
|
@@ -150,9 +142,6 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.interpolation.ModelInterpolator</role>
</requirement>
<requirement>
@@ -328,17 +317,6 @@
</component>
<component>
- <role>org.apache.maven.artifact.resolver.metadata.MetadataSource</role>
- <role-hint>default</role-hint>
- <implementation>org.apache.maven.project.artifact.PomMetadataSource</implementation>
- <requirements>
- <requirement>
- <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
- </requirement>
- </requirements>
- </component>
-
- <component>
<role>org.apache.maven.MavenTools</role>
<implementation>org.apache.maven.DefaultMavenTools</implementation>
<requirements>
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java Wed Sep 3 19:37:00 2008
@@ -493,31 +493,6 @@
assertEquals( expected, actual );
}
- public void testShouldMergeTwoPluginDependenciesOnMergeDupePluginDefs()
- {
- PluginContainer first = new PluginContainer();
- Plugin fPlugin = createPlugin( "g", "a", "1", Collections.EMPTY_MAP );
- Dependency fDep = new Dependency();
- fDep.setGroupId( "group" );
- fDep.setArtifactId( "artifact" );
- fDep.setVersion( "1" );
-
- first.addPlugin( fPlugin );
- fPlugin.addDependency( fDep );
-
- Plugin sPlugin = createPlugin( "g", "a", "1", Collections.EMPTY_MAP );
- Dependency sDep = new Dependency();
- sDep.setGroupId( "group" );
- sDep.setArtifactId( "artifact2" );
- sDep.setVersion( "1" );
- first.addPlugin( sPlugin );
- sPlugin.addDependency( sDep );
-
- ModelUtils.mergeDuplicatePluginDefinitions( first );
-
- assertEquals( 2, ((Plugin)first.getPlugins().get( 0 ) ).getDependencies().size() );
- }
-
public void testShouldNotMergePluginExecutionWhenExecInheritedIsFalseAndTreatAsInheritanceIsTrue()
{
String gid = "group";
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java Wed Sep 3 19:37:00 2008
@@ -27,6 +27,7 @@
import org.apache.maven.artifact.metadata.ResolutionGroup;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
@@ -35,8 +36,7 @@
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Model;
+import org.apache.maven.model.*;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
@@ -50,10 +50,7 @@
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
public class TestArtifactResolver
extends DefaultArtifactResolver
@@ -240,4 +237,108 @@
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
+ public static final class ProjectUtils
+ {
+ private ProjectUtils()
+ {
+ }
+
+ public static List buildArtifactRepositories( List repositories,
+ ArtifactRepositoryFactory artifactRepositoryFactory,
+ PlexusContainer container )
+ throws InvalidRepositoryException
+ {
+
+ List repos = new ArrayList();
+
+ for ( Iterator i = repositories.iterator(); i.hasNext(); )
+ {
+ Repository mavenRepo = (Repository) i.next();
+
+ ArtifactRepository artifactRepo =
+ buildArtifactRepository( mavenRepo, artifactRepositoryFactory, container );
+
+ if ( !repos.contains( artifactRepo ) )
+ {
+ repos.add( artifactRepo );
+ }
+ }
+ return repos;
+ }
+
+ public static ArtifactRepository buildDeploymentArtifactRepository( DeploymentRepository repo,
+ ArtifactRepositoryFactory artifactRepositoryFactory,
+ PlexusContainer container )
+ throws InvalidRepositoryException
+ {
+ if ( repo != null )
+ {
+ String id = repo.getId();
+ String url = repo.getUrl();
+
+ return artifactRepositoryFactory.createDeploymentArtifactRepository( id, url, repo.getLayout(),
+ repo.isUniqueVersion() );
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public static ArtifactRepository buildArtifactRepository( Repository repo,
+ ArtifactRepositoryFactory artifactRepositoryFactory,
+ PlexusContainer container )
+ throws InvalidRepositoryException
+ {
+ if ( repo != null )
+ {
+ String id = repo.getId();
+ String url = repo.getUrl();
+
+ if ( id == null || id.trim().length() < 1 )
+ {
+ throw new MissingRepositoryElementException( "Repository ID must not be empty (URL is: " + url + ")." );
+ }
+
+ if ( url == null || url.trim().length() < 1 )
+ {
+ throw new MissingRepositoryElementException( "Repository URL must not be empty (ID is: " + id + ").", id );
+ }
+
+ ArtifactRepositoryPolicy snapshots = buildArtifactRepositoryPolicy( repo.getSnapshots() );
+ ArtifactRepositoryPolicy releases = buildArtifactRepositoryPolicy( repo.getReleases() );
+
+ return artifactRepositoryFactory.createArtifactRepository( id, url, repo.getLayout(), snapshots, releases );
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ private static ArtifactRepositoryPolicy buildArtifactRepositoryPolicy( RepositoryPolicy policy )
+ {
+ boolean enabled = true;
+ String updatePolicy = null;
+ String checksumPolicy = null;
+
+ if ( policy != null )
+ {
+ enabled = policy.isEnabled();
+ if ( policy.getUpdatePolicy() != null )
+ {
+ updatePolicy = policy.getUpdatePolicy();
+ }
+ if ( policy.getChecksumPolicy() != null )
+ {
+ checksumPolicy = policy.getChecksumPolicy();
+ }
+ }
+
+ return new ArtifactRepositoryPolicy( enabled, updatePolicy, checksumPolicy );
+ }
+
+ }
+
+
}
\ No newline at end of file
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java Wed Sep 3 19:37:00 2008
@@ -29,7 +29,6 @@
import org.apache.maven.model.Exclusion;
import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.injection.ModelDefaultsInjector;
import org.codehaus.plexus.PlexusTestCase;
import java.util.ArrayList;
@@ -155,7 +154,7 @@
MavenProject project = new MavenProject( model );
- ModelDefaultsInjector injector = (ModelDefaultsInjector) lookup( ModelDefaultsInjector.ROLE );
+ TestModelDefaultsInjector injector = new TestModelDefaultsInjector();
injector.injectDefaults( model );
Copied: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/TestModelDefaultsInjector.java (from r691843, maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java)
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/TestModelDefaultsInjector.java?p2=maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/TestModelDefaultsInjector.java&p1=maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java&r1=691843&r2=691855&rev=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/TestModelDefaultsInjector.java Wed Sep 3 19:37:00 2008
@@ -1,4 +1,4 @@
-package org.apache.maven.project.injection;
+package org.apache.maven.project.artifact;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -35,8 +35,7 @@
/**
* @author jdcasey Created on Feb 1, 2005
*/
-public class DefaultModelDefaultsInjector
- implements ModelDefaultsInjector
+public class TestModelDefaultsInjector
{
public void injectDefaults( Model model )
{
@@ -47,7 +46,7 @@
}
}
- private void injectPluginDefaults( Build build, PluginManagement pluginManagement )
+ private static void injectPluginDefaults( Build build, PluginManagement pluginManagement )
{
if ( pluginManagement == null )
{
@@ -71,7 +70,7 @@
if ( pmPlugin != null )
{
- mergePluginWithDefaults( buildPlugin, pmPlugin );
+ ModelUtils.mergePluginDefinitions( buildPlugin, pmPlugin, false );
}
}
}
@@ -79,12 +78,7 @@
}
- public void mergePluginWithDefaults( Plugin plugin, Plugin def )
- {
- ModelUtils.mergePluginDefinitions( plugin, def, false );
- }
-
- private void injectDependencyDefaults( List dependencies, DependencyManagement dependencyManagement )
+ private static void injectDependencyDefaults( List dependencies, DependencyManagement dependencyManagement )
{
if ( dependencyManagement != null )
{
@@ -115,7 +109,7 @@
}
}
- private void mergeDependencyWithDefaults( Dependency dep, Dependency def )
+ private static void mergeDependencyWithDefaults( Dependency dep, Dependency def )
{
if ( dep.getScope() == null && def.getScope() != null )
{
@@ -144,5 +138,4 @@
dep.setExclusions( def.getExclusions() );
}
}
-
}
\ No newline at end of file
Propchange: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/TestModelDefaultsInjector.java
------------------------------------------------------------------------------
cvs2svn:cvs-rev = 1.8
Propchange: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/TestModelDefaultsInjector.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/artifact/TestModelDefaultsInjector.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/injection/DefaultModelDefaultsInjectorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/injection/DefaultModelDefaultsInjectorTest.java?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/injection/DefaultModelDefaultsInjectorTest.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/java/org/apache/maven/project/injection/DefaultModelDefaultsInjectorTest.java Wed Sep 3 19:37:00 2008
@@ -24,6 +24,7 @@
import org.apache.maven.model.DependencyManagement;
import org.apache.maven.model.Exclusion;
import org.apache.maven.model.Model;
+import org.apache.maven.project.artifact.TestModelDefaultsInjector;
import java.util.List;
@@ -35,7 +36,7 @@
{
public void testShouldConstructWithNoParams()
{
- new DefaultModelDefaultsInjector();
+ new TestModelDefaultsInjector();
}
public void testShouldMergeManagedDependencyOfTypeEJBToDependencyList()
@@ -66,7 +67,7 @@
model.addDependency( dep );
- new DefaultModelDefaultsInjector().injectDefaults( model );
+ new TestModelDefaultsInjector().injectDefaults( model );
List resultingDeps = model.getDependencies();
@@ -99,7 +100,7 @@
model.setDependencyManagement( depMgmt );
- new DefaultModelDefaultsInjector().injectDefaults( model );
+ new TestModelDefaultsInjector().injectDefaults( model );
List deps = model.getDependencies();
assertEquals( 1, deps.size() );
@@ -136,7 +137,7 @@
model.setDependencyManagement( depMgmt );
- new DefaultModelDefaultsInjector().injectDefaults( model );
+ new TestModelDefaultsInjector().injectDefaults( model );
List deps = model.getDependencies();
assertEquals( 1, deps.size() );
@@ -174,7 +175,7 @@
model.setDependencyManagement( depMgmt );
- new DefaultModelDefaultsInjector().injectDefaults( model );
+ new TestModelDefaultsInjector().injectDefaults( model );
List deps = model.getDependencies();
assertEquals( 1, deps.size() );
@@ -204,7 +205,7 @@
model.setDependencyManagement( depMgmt );
- new DefaultModelDefaultsInjector().injectDefaults( model );
+ new TestModelDefaultsInjector().injectDefaults( model );
List deps = model.getDependencies();
assertEquals( 1, deps.size() );
@@ -234,7 +235,7 @@
model.setDependencyManagement( depMgmt );
- new DefaultModelDefaultsInjector().injectDefaults( model );
+ new TestModelDefaultsInjector().injectDefaults( model );
List deps = model.getDependencies();
assertEquals( 1, deps.size() );
@@ -261,7 +262,7 @@
model.setDependencyManagement( depMgmt );
- new DefaultModelDefaultsInjector().injectDefaults( model );
+ new TestModelDefaultsInjector().injectDefaults( model );
List deps = model.getDependencies();
assertEquals( 1, deps.size() );
@@ -289,7 +290,7 @@
model.setDependencyManagement( depMgmt );
- new DefaultModelDefaultsInjector().injectDefaults( model );
+ new TestModelDefaultsInjector().injectDefaults( model );
List deps = model.getDependencies();
assertEquals( 1, deps.size() );
@@ -322,7 +323,7 @@
model.setDependencyManagement( depMgmt );
- new DefaultModelDefaultsInjector().injectDefaults( model );
+ new TestModelDefaultsInjector().injectDefaults( model );
List deps = model.getDependencies();
assertEquals( 1, deps.size() );
@@ -353,7 +354,7 @@
// try
// {
- new DefaultModelDefaultsInjector().injectDefaults( model );
+ new TestModelDefaultsInjector().injectDefaults( model );
Dependency dependency = (Dependency) model.getDependencies().get( 0 );
assertNull( "check version is null", dependency.getVersion() );
// fail("Should fail to validate dependency without a version.");
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml Wed Sep 3 19:37:00 2008
@@ -134,9 +134,6 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.interpolation.ModelInterpolator</role>
</requirement>
<requirement>
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml?rev=691855&r1=691854&r2=691855&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml Wed Sep 3 19:37:00 2008
@@ -131,9 +131,6 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.interpolation.ModelInterpolator</role>
</requirement>
<requirement>