You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/09/10 23:59:20 UTC

svn commit: r813613 - in /maven/plugins/trunk/maven-invoker-plugin/src: it/pom-filtering-reactor/ it/pom-filtering-reactor/src/it/mod2-parent/ it/pom-filtering-reactor/src/it/mod2-parent/mod3/ main/java/org/apache/maven/plugin/invoker/

Author: bentmann
Date: Thu Sep 10 21:59:20 2009
New Revision: 813613

URL: http://svn.apache.org/viewvc?rev=813613&view=rev
Log:
[MINVOKER-93] Filtering all POMs that are relevant to the forked build needs to consider child modules added by profiles

o Applied IT submitted by Stephen Connolly

Added:
    maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/mod3/
      - copied from r810695, maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/mod1/
Modified:
    maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/mod3/pom.xml
    maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/pom.xml
    maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/verify.bsh
    maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java

Modified: maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/mod3/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/mod3/pom.xml?rev=813613&r1=810695&r2=813613&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/mod3/pom.xml (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/mod3/pom.xml Thu Sep 10 21:59:20 2009
@@ -30,7 +30,7 @@
   </parent>
 
   <groupId>test</groupId>
-  <artifactId>mod1</artifactId>
+  <artifactId>mod3</artifactId>
   <version>0.1-SNAPSHOT</version>
   <packaging>pom</packaging>
 

Modified: maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/pom.xml?rev=813613&r1=813612&r2=813613&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/pom.xml (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/src/it/mod2-parent/pom.xml Thu Sep 10 21:59:20 2009
@@ -36,4 +36,14 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <prop0>@pom.artifactId@</prop0>
   </properties>
+
+  <profiles>
+    <profile>
+      <id>minvoker-93</id>
+      <modules>
+        <module>mod3</module>
+      </modules>
+    </profile>
+  </profiles>
+
 </project>

Modified: maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/verify.bsh?rev=813613&r1=813612&r2=813613&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/verify.bsh (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/it/pom-filtering-reactor/verify.bsh Thu Sep 10 21:59:20 2009
@@ -34,7 +34,8 @@
 try
 {
     return check( "mod2-parent", true ) && check( "mod2-parent/mod2", true ) && check( "mod2-parent/mod1-parent", true )
-            && check( "mod2-parent/mod1", true ) && check( "mod2-parent/mod1/src/it", false );
+            && check( "mod2-parent/mod1", true ) && check( "mod2-parent/mod3", true)
+            && check( "mod2-parent/mod1/src/it", false );
 }
 catch( Throwable t )
 {

Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java?rev=813613&r1=813612&r2=813613&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java Thu Sep 10 21:59:20 2009
@@ -25,6 +25,7 @@
 import org.apache.maven.plugin.invoker.model.BuildJob;
 import org.apache.maven.plugin.invoker.model.io.xpp3.BuildJobXpp3Writer;
 import org.apache.maven.model.Model;
+import org.apache.maven.model.Profile;
 import org.apache.maven.shared.invoker.InvocationRequest;
 import org.apache.maven.shared.invoker.DefaultInvocationRequest;
 import org.apache.maven.shared.invoker.MavenCommandLineBuilder;
@@ -686,16 +687,23 @@
                 collectProjects( projectsDir, parent, projectPaths, false );
             }
 
-            if ( model.getModules() != null )
+            Collection modulePaths = new LinkedHashSet();
+
+            modulePaths.addAll( model.getModules() );
+
+            for ( Iterator it = model.getProfiles().iterator(); it.hasNext(); )
             {
-                for ( Iterator it = model.getModules().iterator(); it.hasNext(); )
+                Profile profile = (Profile) it.next();
+                modulePaths.addAll( profile.getModules() );
+            }
+
+            for ( Iterator it = modulePaths.iterator(); it.hasNext(); )
+            {
+                String modulePath = (String) it.next();
+                String module = relativizePath( new File( projectDir, modulePath ), projectsRoot );
+                if ( module != null )
                 {
-                    String modulePath = (String) it.next();
-                    String module = relativizePath( new File( projectDir, modulePath ), projectsRoot );
-                    if ( module != null )
-                    {
-                        collectProjects( projectsDir, module, projectPaths, false );
-                    }
+                    collectProjects( projectsDir, module, projectPaths, false );
                 }
             }
         }