You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jd...@apache.org on 2005/06/21 06:20:20 UTC
svn commit: r191621 -
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
Author: jdcasey
Date: Mon Jun 20 21:20:18 2005
New Revision: 191621
URL: http://svn.apache.org/viewcvs?rev=191621&view=rev
Log:
Forcing collision of plugin-execution id's in non-inherited, direct-goal invocation scenarios.
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=191621&r1=191620&r2=191621&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Mon Jun 20 21:20:18 2005
@@ -243,13 +243,16 @@
}
MavenProject project = assembleLineage( model, lineage, aggregatedRemoteWagonRepositories, localRepository );
-
+
+ // we don't have to force the collision exception for superModel here, it's already been done in getSuperModel()
Model previous = superModel;
-
+
for ( Iterator i = lineage.iterator(); i.hasNext(); )
{
Model current = ( (MavenProject) i.next() ).getModel();
+ forcePluginExecutionIdCollision( current );
+
modelInheritanceAssembler.assembleModelInheritance( current, previous );
previous = current;
@@ -266,6 +269,28 @@
return project;
}
+ private void forcePluginExecutionIdCollision( Model model )
+ {
+ Build build = model.getBuild();
+
+ if ( build != null )
+ {
+ List plugins = build.getPlugins();
+
+ if ( plugins != null )
+ {
+ for ( Iterator it = plugins.iterator(); it.hasNext(); )
+ {
+ Plugin plugin = (Plugin) it.next();
+
+ // this will force an IllegalStateException, even if we don't have to do inheritance assembly.
+ plugin.getExecutionsAsMap();
+ }
+ }
+ }
+ }
+
+
/**
* @todo can this take in a model instead of a project and still be successful?
* @todo In fact, does project REALLY need a MavenProject as a parent? Couldn't it have just a wrapper around a
@@ -541,7 +566,11 @@
{
URL url = DefaultMavenProjectBuilder.class.getResource( "pom-" + MAVEN_MODEL_VERSION + ".xml" );
- return readModel( url );
+ Model superModel = readModel( url );
+
+ forcePluginExecutionIdCollision( superModel );
+
+ return superModel;
}
public void contextualize( Context context )
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org