You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2020/12/22 15:30:09 UTC

[maven-integration-testing] branch MNG-6957_squashed updated (7e5cf97 -> 1e804d2)

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a change to branch MNG-6957_squashed
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git.


 discard 7e5cf97  WS
 discard 5aa77cc  WS
 discard 53a6c0d  [MNG-6957] Versionless reactor dependencies/parent should work even if modules are aggregated in reverse order
     new 1e804d2  [MNG-6957] Versionless reactor dependencies/parent should work even if modules are aggregated in reverse order

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (7e5cf97)
            \
             N -- N -- N   refs/heads/MNG-6957_squashed (1e804d2)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../resources/mng-6656-buildconsumer/expected/simple-parent.pom     | 6 +++---
 .../src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml | 6 +++---
 .../src/test/resources/mng-6957-buildconsumer/expected/parent.pom   | 3 ++-
 .../resources/mng-6957-buildconsumer/expected/simple-parent.pom     | 5 ++++-
 .../resources/mng-6957-buildconsumer/expected/simple-weather.pom    | 5 +++--
 .../test/resources/mng-6957-buildconsumer/expected/utils-parent.pom | 2 +-
 .../src/test/resources/mng-6957-buildconsumer/simple-parent/pom.xml | 3 ++-
 .../mng-6957-buildconsumer/simple-parent/simple-weather/pom.xml     | 3 ++-
 8 files changed, 20 insertions(+), 13 deletions(-)


[maven-integration-testing] 01/01: [MNG-6957] Versionless reactor dependencies/parent should work even if modules are aggregated in reverse order

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch MNG-6957_squashed
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git

commit 1e804d2cca7a03ebdd7babd528f42b7a70563a38
Author: rfscholte <rf...@apache.org>
AuthorDate: Mon Dec 21 22:20:45 2020 +0100

    [MNG-6957] Versionless reactor dependencies/parent should work even if modules are aggregated in reverse order
    
    This closes #82
---
 .../org/apache/maven/it/IntegrationTestSuite.java  |  1 +
 .../maven/it/MavenITmng5576CdFriendlyVersions.java | 38 ++++++++-
 .../maven/it/MavenITmng5669ReadPomsOnce.java       |  3 +-
 ...enITmng5895CIFriendlyUsageWithPropertyTest.java | 32 +++++--
 .../maven/it/MavenITmng6090CIFriendlyTest.java     | 37 +++++++--
 .../maven/it/MavenITmng6957BuildConsumer.java      | 97 ++++++++++++++++++++++
 .../expected/simple-parent.pom                     |  6 +-
 .../mng-6656-buildconsumer/simple-parent/pom.xml   |  6 +-
 .../expected/parent.pom}                           | 28 ++-----
 .../expected/simple-parent.pom                     | 11 +--
 .../expected/simple-testutils.pom}                 | 26 ++----
 .../expected/simple-weather.pom}                   | 35 ++++----
 .../expected/simple-webapp.pom}                    | 27 +++---
 .../expected/utils-parent.pom}                     | 25 ++----
 .../pom.xml                                        | 32 ++-----
 .../simple-parent/pom.xml                          | 16 ++--
 .../simple-parent/simple-testutils}/pom.xml        | 30 ++-----
 .../simple-parent/simple-weather}/pom.xml          | 37 ++++-----
 .../simple-parent/simple-webapp}/pom.xml           | 29 +++----
 .../simple-parent/utils-parent}/pom.xml            | 28 ++-----
 20 files changed, 314 insertions(+), 230 deletions(-)

diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
index fc10839..05f8392 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
@@ -107,6 +107,7 @@ public class IntegrationTestSuite
         // -------------------------------------------------------------------------------------------------------------
         // suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137
 
+        suite.addTestSuite( MavenITmng6957BuildConsumer.class );
         suite.addTestSuite( MavenITmng7045DropUselessAndOutdatedCdiApiTest.class );
         suite.addTestSuite( MavenITmng6566ExecuteAnnotationShouldNotReExecuteGoalsTest.class );
         suite.addTestSuite( MavenITmng6754TimestampInMultimoduleProject.class );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5576CdFriendlyVersions.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5576CdFriendlyVersions.java
index d66b6ec..2104187 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5576CdFriendlyVersions.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5576CdFriendlyVersions.java
@@ -28,7 +28,7 @@ import java.util.Properties;
 
 /**
  * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-5576">MNG-5576</a>.
- * 
+ *
  * @author Jason van Zyl
  */
 public class MavenITmng5576CdFriendlyVersions
@@ -43,7 +43,7 @@ public class MavenITmng5576CdFriendlyVersions
      * Verifies that property references with dotted notation work within
      * POM interpolation.
      */
-    public void testContinuousDeliveryFriendlyVersionsAreWarningFree()
+    public void testContinuousDeliveryFriendlyVersionsAreWarningFreeWithoutBuildConsumer()
         throws Exception
     {
         File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-5576-cd-friendly-versions" );
@@ -51,14 +51,15 @@ public class MavenITmng5576CdFriendlyVersions
         Verifier verifier = newVerifier( testDir.getAbsolutePath() );
         verifier.setAutoclean( false );
         verifier.deleteDirectory( "target" );
-        verifier.addCliOption( "-Dchangelist=changelist" ); 
+        verifier.addCliOption( "-Dchangelist=changelist" );
+        verifier.addCliOption( "-Dmaven.experimental.buildconsumer=false" );
         verifier.executeGoal( "validate" );
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
 
         Properties props = verifier.loadProperties( "target/pom.properties" );
         assertEquals( "1.0.0.changelist", props.getProperty( "project.version" ) );
-        
+
         List<String> lines = verifier.loadFile( new File( testDir, "log.txt" ), false );
         for( String line : lines )
         {
@@ -66,4 +67,33 @@ public class MavenITmng5576CdFriendlyVersions
         }
     }
 
+    /**
+     * Verifies that property references with dotted notation work within
+     * POM interpolation.
+     */
+    public void testContinuousDeliveryFriendlyVersionsAreWarningFreeWithBuildConsumer()
+        throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-5576-cd-friendly-versions" );
+
+        Verifier verifier = newVerifier( testDir.getAbsolutePath() );
+        verifier.setLogFileName( "log-bc.txt" );
+        verifier.setAutoclean( false );
+        verifier.deleteDirectory( "target" );
+        verifier.addCliOption( "-Dchangelist=changelist" );
+        verifier.addCliOption( "-Dmaven.experimental.buildconsumer=true" );
+        verifier.executeGoal( "validate" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+
+        Properties props = verifier.loadProperties( "target/pom.properties" );
+        assertEquals( "1.0.0.changelist", props.getProperty( "project.version" ) );
+
+        List<String> lines = verifier.loadFile( new File( testDir, "log-bc.txt" ), false );
+        for( String line : lines )
+        {
+            assertFalse( line, line.contains( "WARNING" ) );
+        }
+    }
+
 }
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5669ReadPomsOnce.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5669ReadPomsOnce.java
index 5ce5331..de432d5 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5669ReadPomsOnce.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5669ReadPomsOnce.java
@@ -109,6 +109,7 @@ public class MavenITmng5669ReadPomsOnce
                                       verifier.getArtifactPath( "mng-coreit", "javaagent", "1.0-SNAPSHOT", "jar" ) );
         verifier.filterFile( ".mvn/jvm.config", ".mvn/jvm.config", null, filterProperties );
 
+        verifier.setLogFileName( "log-bc.txt" );
         verifier.setForkJvm( true ); // pick up agent
         verifier.setMavenDebug( false );
         verifier.setAutoclean( false );
@@ -118,7 +119,7 @@ public class MavenITmng5669ReadPomsOnce
         verifier.executeGoals( Arrays.asList( "verify" ) );
         verifier.resetStreams();
 
-        List<String> logTxt = verifier.loadLines( "log.txt", "utf-8" );
+        List<String> logTxt = verifier.loadLines( "log-bc.txt", "utf-8" );
         for ( String line : logTxt )
         {
             if ( line.startsWith( "Picked up JAVA_TOOL_OPTIONS:" ) )
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5895CIFriendlyUsageWithPropertyTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5895CIFriendlyUsageWithPropertyTest.java
index 7d13fd4..df4587b 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5895CIFriendlyUsageWithPropertyTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5895CIFriendlyUsageWithPropertyTest.java
@@ -25,12 +25,12 @@ import org.apache.maven.it.util.ResourceExtractor;
 import java.io.File;
 
 /**
- * The usage of a <code>${revision}</code> for the version in the pom file and furthermore 
+ * The usage of a <code>${revision}</code> for the version in the pom file and furthermore
  * defining the property in the pom file and overwrite it via command line.
  * <a href="https://issues.apache.org/jira/browse/MNG-5895">MNG-5895</a>.
- * 
+ *
  * This will result in a failure without the fix for this issue.
- * 
+ *
  * @author Karl Heinz Marbaise khmarbaise@apache.org
  */
 public class MavenITmng5895CIFriendlyUsageWithPropertyTest
@@ -45,11 +45,11 @@ public class MavenITmng5895CIFriendlyUsageWithPropertyTest
     }
 
     /**
-     * Check that the resulting run will not fail in case 
+     * Check that the resulting run will not fail in case
      * of defining the property via command line which is
-     * already defined inside the pom. 
+     * already defined inside the pom.
      */
-    public void testitShouldResolveTheDependencies()
+    public void testitShouldResolveTheDependenciesWithoutBuildConsumer()
         throws Exception
     {
         File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-5895-ci-friendly-usage-with-property" );
@@ -60,6 +60,26 @@ public class MavenITmng5895CIFriendlyUsageWithPropertyTest
 
         //verifier.setLogFileName( "log-only.txt" );
         verifier.addCliOption( "-Drevision=1.2" );
+        verifier.addCliOption( "-Dmaven.experimental.buildconsumer=false" );
+        verifier.executeGoal( "clean" );
+        verifier.executeGoal( "package" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+
+    }
+
+    public void testitShouldResolveTheDependenciesWithBuildConsumer()
+                    throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-5895-ci-friendly-usage-with-property" );
+
+        Verifier verifier = newVerifier( testDir.getAbsolutePath(), false );
+        verifier.setMavenDebug( false );
+        verifier.setAutoclean( false );
+
+        verifier.setLogFileName( "log-bc.txt" );
+        verifier.addCliOption( "-Drevision=1.2" );
+        verifier.addCliOption( "-Dmaven.experimental.buildconsumer=true" );
         verifier.executeGoal( "clean" );
         verifier.executeGoal( "package" );
         verifier.verifyErrorFreeLog();
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
index 77b7248..9d72eba 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6090CIFriendlyTest.java
@@ -26,11 +26,11 @@ import java.io.File;
 import java.util.Arrays;
 
 /**
- * The usage of a <code>${revision}</code> for the version in the pom file and furthermore 
+ * The usage of a <code>${revision}</code> for the version in the pom file and furthermore
  * defining the property in the pom file and overwrite it via command line and
  * try to build a partial reactor via <code>mvn -pl ..</code>
  * <a href="https://issues.apache.org/jira/browse/MNG-6090">MNG-6090</a>.
- * 
+ *
  * @author Karl Heinz Marbaise khmarbaise@apache.org
  */
 public class MavenITmng6090CIFriendlyTest
@@ -45,12 +45,12 @@ public class MavenITmng6090CIFriendlyTest
     }
 
     /**
-     * Check that the resulting run will not fail in case 
+     * Check that the resulting run will not fail in case
      * of defining the property via command line and
      * install the projects and afterwards just build
      * a part of the whole reactor.
      */
-    public void testitShouldResolveTheDependencies()
+    public void testitShouldResolveTheDependenciesWithoutBuildConsumer()
         throws Exception
     {
         File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-6090-ci-friendly" );
@@ -58,8 +58,9 @@ public class MavenITmng6090CIFriendlyTest
         Verifier verifier = newVerifier( testDir.getAbsolutePath(), false );
         verifier.setMavenDebug( false );
         verifier.setAutoclean( false );
-        
+
         verifier.addCliOption( "-Drevision=1.2" );
+        verifier.addCliOption( "-Dmaven.experimental.buildconsumer=false" );
         verifier.setLogFileName( "install-log.txt" );
         verifier.executeGoals( Arrays.asList( "clean", "install" ) );
         verifier.verifyErrorFreeLog();
@@ -74,7 +75,33 @@ public class MavenITmng6090CIFriendlyTest
         verifier.executeGoal( "package" );
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
+    }
 
+    public void testitShouldResolveTheDependenciesWithBuildConsumer()
+                    throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-6090-ci-friendly" );
+
+        Verifier verifier = newVerifier( testDir.getAbsolutePath(), false );
+        verifier.setMavenDebug( false );
+        verifier.setAutoclean( false );
+
+        verifier.addCliOption( "-Drevision=1.2" );
+        verifier.addCliOption( "-Dmaven.experimental.buildconsumer=true" );
+        verifier.setLogFileName( "install-log.txt" );
+        verifier.executeGoals( Arrays.asList( "clean", "install" ) );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+
+        verifier = newVerifier( testDir.getAbsolutePath(), false );
+        verifier.setMavenDebug( false );
+        verifier.setAutoclean( false );
+
+        verifier.addCliOption( "-Drevision=1.2" );
+        verifier.addCliOption( "-pl module-3" );
+        verifier.executeGoal( "package" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
     }
 
 }
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6957BuildConsumer.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6957BuildConsumer.java
new file mode 100644
index 0000000..6486d45
--- /dev/null
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6957BuildConsumer.java
@@ -0,0 +1,97 @@
+package org.apache.maven.it;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.it.util.ResourceExtractor;
+import org.apache.maven.shared.utils.io.FileUtils;
+
+import java.io.File;
+import java.util.Arrays;
+
+/**
+ * With the build-consumer the POM will be adjusted during the process.
+ * <ul>
+ *   <li>CI-friendly versions will be resolved</li>
+ *   <li>parents can omit the version if the relative path points to the correct parent</li>
+ *   <li>dependencies can omit the version if it is part of the reactor</li>
+ * </ul>
+ *
+ * During install the POM will be cleaned up
+ * <ul>
+ *   <li>the modules will be removed</li>
+ *   <li>the relativePath will be removed</li>
+ * </ul>
+ *
+ * <a href="https://issues.apache.org/jira/browse/MNG-6656">MNG-6656</a>.
+ *
+ */
+public class MavenITmng6957BuildConsumer
+    extends AbstractMavenIntegrationTestCase
+{
+
+    public MavenITmng6957BuildConsumer()
+    {
+        super( "[4.0.0-alpha-1,)" );
+    }
+
+    /**
+     * Verifies:
+     * <ul>
+     *   <li>preserve license</li>
+     *   <li>consistent line separators</li>
+     *   <li>resolved project versions (at least 2 levels deep) in parent and dependencies</li>
+     *   <li>removal of modules in aggregators</li>
+     * </ul>
+     * @throws Exception
+     */
+    public void testPublishedPoms()
+                    throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-6957-buildconsumer" );
+
+        Verifier verifier = newVerifier( testDir.getAbsolutePath(), false );
+        verifier.setMavenDebug( false );
+        verifier.setAutoclean( false );
+        verifier.addCliOption( "-Dchangelist=MNG6957" );
+
+        verifier.executeGoals( Arrays.asList( "install" ) );
+        verifier.verifyErrorFreeLog();
+
+        String content;
+        content = FileUtils.fileRead( new File( testDir, "expected/parent.pom") );
+        verifier.assertArtifactContents( "org.sonatype.mavenbook.multi", "parent", "0.9-MNG6957-SNAPSHOT", "pom", content );
+
+        content = FileUtils.fileRead( new File( testDir, "expected/simple-parent.pom") );
+        verifier.assertArtifactContents( "org.sonatype.mavenbook.multi", "simple-parent", "0.9-MNG6957-SNAPSHOT", "pom", content );
+
+        content = FileUtils.fileRead( new File( testDir, "expected/simple-weather.pom") );
+        verifier.assertArtifactContents( "org.sonatype.mavenbook.multi", "simple-weather", "0.9-MNG6957-SNAPSHOT", "pom", content );
+
+        content = FileUtils.fileRead( new File( testDir, "expected/simple-webapp.pom") );
+        verifier.assertArtifactContents( "org.sonatype.mavenbook.multi", "simple-webapp", "0.9-MNG6957-SNAPSHOT", "pom", content );
+
+        content = FileUtils.fileRead( new File( testDir, "expected/simple-testutils.pom") );
+        verifier.assertArtifactContents( "org.sonatype.mavenbook.multi", "simple-testutils", "0.9-MNG6957-SNAPSHOT", "pom", content );
+
+        content = FileUtils.fileRead( new File( testDir, "expected/utils-parent.pom") );
+        verifier.assertArtifactContents( "org.sonatype.mavenbook.multi", "utils-parent", "0.9-MNG6957-SNAPSHOT", "pom", content );
+    }
+
+}
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom b/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
index ecef8df..8a92423 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
+++ b/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
@@ -18,9 +18,9 @@ under the License.
 --><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
-  	<version>0.9-MNG6656-SNAPSHOT</version>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>parent</artifactId>
+    <version>0.9-MNG6656-SNAPSHOT</version>
   </parent>
   <artifactId>simple-parent</artifactId>
   <packaging>pom</packaging>
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml b/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
index f162121..2fbd5b2 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
+++ b/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
@@ -19,13 +19,13 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" 
+<project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>parent</artifactId>
   </parent>
   <artifactId>simple-parent</artifactId>
   <packaging>pom</packaging>
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/parent.pom
similarity index 63%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/parent.pom
index ecef8df..bfe5879 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/parent.pom
@@ -15,28 +15,14 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
-  <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
-  	<version>0.9-MNG6656-SNAPSHOT</version>
-  </parent>
-  <artifactId>simple-parent</artifactId>
+  <groupId>org.sonatype.mavenbook.multi</groupId>
+  <artifactId>parent</artifactId>
+  <version>0.9-MNG6957-SNAPSHOT</version>
   <packaging>pom</packaging>
-  <name>Multi Chapter Simple Parent Project</name>
- 
-  
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
+  <name>Multi Chapter Parent Project</name>
 
+  <!-- Optimized from https://github.com/sonatype/maven-example-en/tree/master/examples/ch-multi -->
+  
 </project>
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-parent.pom
similarity index 79%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-parent.pom
index ecef8df..69c705e 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-parent.pom
@@ -15,12 +15,12 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
-  	<version>0.9-MNG6656-SNAPSHOT</version>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>parent</artifactId>
+    <version>0.9-MNG6957-SNAPSHOT</version>
   </parent>
   <artifactId>simple-parent</artifactId>
   <packaging>pom</packaging>
@@ -33,7 +33,8 @@ under the License.
       <plugins>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>0.1-stub-SNAPSHOT</version>
         </plugin>
       </plugins>
     </pluginManagement>
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-testutils.pom
similarity index 62%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-testutils.pom
index ecef8df..ce7a73c 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-testutils.pom
@@ -15,28 +15,12 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
-  	<version>0.9-MNG6656-SNAPSHOT</version>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>utils-parent</artifactId>
+    <version>0.9-MNG6957-SNAPSHOT</version>
   </parent>
-  <artifactId>simple-parent</artifactId>
-  <packaging>pom</packaging>
-  <name>Multi Chapter Simple Parent Project</name>
- 
-  
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
+  <artifactId>simple-testutils</artifactId>
 </project>
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-weather.pom
similarity index 62%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-weather.pom
index ecef8df..9d75f1d 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-weather.pom
@@ -15,28 +15,25 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
-  	<version>0.9-MNG6656-SNAPSHOT</version>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>simple-parent</artifactId>
+    <version>0.9-MNG6957-SNAPSHOT</version>
   </parent>
-  <artifactId>simple-parent</artifactId>
-  <packaging>pom</packaging>
-  <name>Multi Chapter Simple Parent Project</name>
- 
-  
+  <artifactId>simple-weather</artifactId>
+  <packaging>jar</packaging>
 
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
+  <name>Multi Chapter Simple Weather API</name>
+  
+  <dependencies>
+    <dependency>
+      <groupId>org.sonatype.mavenbook.multi</groupId>
+      <artifactId>simple-testutils</artifactId>
+      <scope>test</scope>
+      <version>0.9-MNG6957-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-webapp.pom
similarity index 63%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-webapp.pom
index ecef8df..dd8e443 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-webapp.pom
@@ -15,28 +15,33 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
-  	<version>0.9-MNG6656-SNAPSHOT</version>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>simple-parent</artifactId>
+    <version>0.9-MNG6957-SNAPSHOT</version>
   </parent>
-  <artifactId>simple-parent</artifactId>
-  <packaging>pom</packaging>
-  <name>Multi Chapter Simple Parent Project</name>
- 
-  
 
+  <artifactId>simple-webapp</artifactId>
+  <name>Multi Chapter Simple Web Application Project</name>
+  <dependencies>
+    <dependency>
+      <groupId>org.sonatype.mavenbook.multi</groupId>
+      <artifactId>simple-weather</artifactId>
+      <version>0.9-MNG6957-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
   <build>
+    <finalName>simple-webapp</finalName>
     <pluginManagement>
       <plugins>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
+          <artifactId>maven-war-plugin</artifactId>
+          <version>2.6</version>
         </plugin>
       </plugins>
     </pluginManagement>
   </build>
-
 </project>
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/utils-parent.pom
similarity index 64%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/utils-parent.pom
index ecef8df..29064fd 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/expected/simple-parent.pom
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/utils-parent.pom
@@ -15,28 +15,13 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
-  	<version>0.9-MNG6656-SNAPSHOT</version>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>simple-parent</artifactId>
+    <version>0.9-MNG6957-SNAPSHOT</version>
   </parent>
-  <artifactId>simple-parent</artifactId>
+  <artifactId>utils-parent</artifactId>
   <packaging>pom</packaging>
-  <name>Multi Chapter Simple Parent Project</name>
- 
-  
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
 </project>
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml b/core-it-suite/src/test/resources/mng-6957-buildconsumer/pom.xml
similarity index 62%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/pom.xml
index f162121..46c4767 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/pom.xml
@@ -19,32 +19,18 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" 
+<project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
-  <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
-  </parent>
-  <artifactId>simple-parent</artifactId>
+  <groupId>org.sonatype.mavenbook.multi</groupId>
+  <artifactId>parent</artifactId>
+  <version>0.9-${changelist}-SNAPSHOT</version>
   <packaging>pom</packaging>
-  <name>Multi Chapter Simple Parent Project</name>
- 
+  <name>Multi Chapter Parent Project</name>
+
+  <!-- Optimized from https://github.com/sonatype/maven-example-en/tree/master/examples/ch-multi -->
   <modules>
-    <module>simple-weather</module>
-    <module>simple-webapp</module>
+    <module>simple-parent</module>
   </modules>
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
 </project>
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml b/core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/pom.xml
similarity index 73%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/pom.xml
index f162121..40c8b0f 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/pom.xml
@@ -19,13 +19,13 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" 
+<project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>parent</artifactId>
   </parent>
   <artifactId>simple-parent</artifactId>
   <packaging>pom</packaging>
@@ -34,6 +34,11 @@ under the License.
   <modules>
     <module>simple-weather</module>
     <module>simple-webapp</module>
+
+    <!-- On purpose at the end, project graph is responsible for ordering -->
+    <!-- Build/consumer should not be effected by reverse order -->
+    <module>simple-testutils</module>
+    <module>utils-parent</module>
   </modules>
 
   <build>
@@ -41,7 +46,8 @@ under the License.
       <plugins>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>0.1-stub-SNAPSHOT</version>
         </plugin>
       </plugins>
     </pluginManagement>
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml b/core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/simple-testutils/pom.xml
similarity index 60%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/simple-testutils/pom.xml
index f162121..3fab2e6 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/simple-testutils/pom.xml
@@ -19,32 +19,14 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" 
+<project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>utils-parent</artifactId>
+    <relativePath>../utils-parent</relativePath>
   </parent>
-  <artifactId>simple-parent</artifactId>
-  <packaging>pom</packaging>
-  <name>Multi Chapter Simple Parent Project</name>
- 
-  <modules>
-    <module>simple-weather</module>
-    <module>simple-webapp</module>
-  </modules>
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
+  <artifactId>simple-testutils</artifactId>
 </project>
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml b/core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/simple-weather/pom.xml
similarity index 60%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/simple-weather/pom.xml
index f162121..800d680 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/simple-weather/pom.xml
@@ -19,32 +19,25 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" 
+<project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>simple-parent</artifactId>
   </parent>
-  <artifactId>simple-parent</artifactId>
-  <packaging>pom</packaging>
-  <name>Multi Chapter Simple Parent Project</name>
- 
-  <modules>
-    <module>simple-weather</module>
-    <module>simple-webapp</module>
-  </modules>
+  <artifactId>simple-weather</artifactId>
+  <packaging>jar</packaging>
 
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
+  <name>Multi Chapter Simple Weather API</name>
+  
+  <dependencies>
+    <dependency>
+      <groupId>org.sonatype.mavenbook.multi</groupId>
+      <artifactId>simple-testutils</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
 
 </project>
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml b/core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/simple-webapp/pom.xml
similarity index 66%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/simple-webapp/pom.xml
index f162121..b1068b7 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/simple-webapp/pom.xml
@@ -19,32 +19,33 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" 
+<project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>simple-parent</artifactId>
   </parent>
-  <artifactId>simple-parent</artifactId>
-  <packaging>pom</packaging>
-  <name>Multi Chapter Simple Parent Project</name>
- 
-  <modules>
-    <module>simple-weather</module>
-    <module>simple-webapp</module>
-  </modules>
 
+  <artifactId>simple-webapp</artifactId>
+  <name>Multi Chapter Simple Web Application Project</name>
+  <dependencies>
+    <dependency>
+      <groupId>org.sonatype.mavenbook.multi</groupId>
+      <artifactId>simple-weather</artifactId>
+    </dependency>
+  </dependencies>
   <build>
+    <finalName>simple-webapp</finalName>
     <pluginManagement>
       <plugins>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
+          <artifactId>maven-war-plugin</artifactId>
+          <version>2.6</version>
         </plugin>
       </plugins>
     </pluginManagement>
   </build>
-
 </project>
diff --git a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml b/core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/utils-parent/pom.xml
similarity index 62%
copy from core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
copy to core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/utils-parent/pom.xml
index f162121..cff9f65 100644
--- a/core-it-suite/src/test/resources/mng-6656-buildconsumer/simple-parent/pom.xml
+++ b/core-it-suite/src/test/resources/mng-6957-buildconsumer/simple-parent/utils-parent/pom.xml
@@ -19,32 +19,14 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" 
+<project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  	<groupId>org.sonatype.mavenbook.multi</groupId>
-  	<artifactId>parent</artifactId>
+    <groupId>org.sonatype.mavenbook.multi</groupId>
+    <artifactId>simple-parent</artifactId>
   </parent>
-  <artifactId>simple-parent</artifactId>
+  <artifactId>utils-parent</artifactId>
   <packaging>pom</packaging>
-  <name>Multi Chapter Simple Parent Project</name>
- 
-  <modules>
-    <module>simple-weather</module>
-    <module>simple-webapp</module>
-  </modules>
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
 </project>