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 ); } } }