You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/07/28 08:52:08 UTC
svn commit: r225717 -
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java
Author: brett
Date: Wed Jul 27 23:52:04 2005
New Revision: 225717
URL: http://svn.apache.org/viewcvs?rev=225717&view=rev
Log:
PR: MNG-326
take plugins, reports and extensions into account when sorting modules for reactor build
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java?rev=225717&r1=225716&r2=225717&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java Wed Jul 27 23:52:04 2005
@@ -17,6 +17,8 @@
*/
import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Extension;
+import org.apache.maven.model.Plugin;
import org.codehaus.plexus.util.dag.CycleDetectedException;
import org.codehaus.plexus.util.dag.DAG;
import org.codehaus.plexus.util.dag.TopologicalSorter;
@@ -96,6 +98,44 @@
dag.addEdge( id, parentId );
}
}
+
+ List buildPlugins = project.getBuildPlugins();
+ if ( buildPlugins != null )
+ {
+ for ( Iterator j = buildPlugins.iterator(); j.hasNext(); )
+ {
+ Plugin plugin = (Plugin) j.next();
+ String pluginId = getPluginId( plugin );
+ if ( dag.getVertex( pluginId ) != null )
+ {
+ dag.addEdge( id, pluginId );
+ }
+ }
+ }
+
+ List reportPlugins = project.getReportPlugins();
+ if ( reportPlugins != null )
+ {
+ for ( Iterator j = reportPlugins.iterator(); j.hasNext(); )
+ {
+ Plugin plugin = (Plugin) j.next();
+ String pluginId = getPluginId( plugin );
+ if ( dag.getVertex( pluginId ) != null )
+ {
+ dag.addEdge( id, pluginId );
+ }
+ }
+ }
+
+ for ( Iterator j = project.getBuildExtensions().iterator(); j.hasNext(); )
+ {
+ Extension extension = (Extension) j.next();
+ String extensionId = getExtensionId( extension );
+ if ( dag.getVertex( extensionId ) != null )
+ {
+ dag.addEdge( id, extensionId );
+ }
+ }
}
List sortedProjects = new ArrayList();
@@ -108,6 +148,16 @@
}
return sortedProjects;
+ }
+
+ private static String getExtensionId( Extension extension )
+ {
+ return extension.getGroupId() + ":" + extension.getArtifactId();
+ }
+
+ private static String getPluginId( Plugin plugin )
+ {
+ return plugin.getGroupId() + ":" + plugin.getArtifactId();
}
private static String getDependencyId( Dependency dependency )
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org