You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2013/03/27 21:34:57 UTC

svn commit: r1461843 - /maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java

Author: rfscholte
Date: Wed Mar 27 20:34:57 2013
New Revision: 1461843

URL: http://svn.apache.org/r1461843
Log:
Add isAggregator()

Modified:
    maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java

Modified: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java?rev=1461843&r1=1461842&r2=1461843&view=diff
==============================================================================
--- maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java (original)
+++ maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java Wed Mar 27 20:34:57 2013
@@ -42,7 +42,6 @@ public final class ProjectUtils
         {
             MavenProject parent = project.getParent();
 
-            // Are collectedProject the resolved modules?
             @SuppressWarnings( "unchecked" )
             List<MavenProject> collectedProjects = (List<MavenProject>) parent.getCollectedProjects();
             
@@ -60,4 +59,35 @@ public final class ProjectUtils
             return true;
         }
     }
+    
+    /**
+     * Return {@code true} if this project has modules, but is <strong>never</strong> the parent of one of them.<br/>
+     * 
+     * Return {@code false} if this project has no modules, or if 1 or more modules have this project as its parent.
+     * 
+     * @param project
+     * @return {@code true} if project is an aggregator, {@code false} if project is standalone or hybrid 
+     */
+    public static boolean isAggregator( MavenProject project )
+    {
+        @SuppressWarnings( "unchecked" )
+        List<MavenProject> collectedProjects = (List<MavenProject>) project.getCollectedProjects();
+
+        if( collectedProjects.isEmpty() )
+        {
+            return false;
+        }
+        else
+        {
+            for ( MavenProject collectedProject : collectedProjects )
+            {
+                if( project.getId().equals( collectedProject.getId() ) )
+                {
+                    return false;
+                }
+            }
+            return true;
+        }
+        
+    }
 }