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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]