You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ke...@apache.org on 2006/12/20 16:30:11 UTC
svn commit: r489114 -
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java
Author: kenney
Date: Wed Dec 20 07:30:10 2006
New Revision: 489114
URL: http://svn.apache.org/viewvc?view=rev&rev=489114
Log:
Added a note on project sorting and cycles.
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/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java?view=diff&rev=489114&r1=489113&r2=489114
==============================================================================
--- 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 Dec 20 07:30:10 2006
@@ -58,6 +58,17 @@
* </ul>
* @throws DuplicateProjectException if any projects are duplicated by id
*/
+ // MAVENAPI FIXME: the DAG used is NOT only used to represent the dependency relation,
+ // but also for <parent>, <build><plugin>, <reports>. We need multiple DAG's
+ // since a DAG can only handle 1 type of relationship properly.
+ // Usecase: This is detected as a cycle:
+ // org.apache.maven:maven-plugin-api -(PARENT)->
+ // org.apache.maven:maven -(inherited REPORTING)->
+ // org.apache.maven.plugins:maven-checkstyle-plugin -(DEPENDENCY)->
+ // org.apache.maven:maven-plugin-api
+ // In this case, both the verify and the report goals are called
+ // in a different lifecycle. Though the compiler-plugin has a valid usecase, although
+ // that seems to work fine. We need to take versions and lifecycle into account.
public ProjectSorter( List projects )
throws CycleDetectedException, DuplicateProjectException
{