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 2008/10/24 18:47:40 UTC

svn commit: r707679 - in /maven/core-integration-testing/trunk/core-it-suite/src/test: java/org/apache/maven/it/ resources/mng-3284-usingCachedPlugins/ resources/mng-3284-usingCachedPlugins/PomA/ resources/mng-3284-usingCachedPlugins/PomB/ resources/mn...

Author: bentmann
Date: Fri Oct 24 09:47:39 2008
New Revision: 707679

URL: http://svn.apache.org/viewvc?rev=707679&view=rev
Log:
o Decoupled mng-3284 from Groovy and used pre-packaged plugins to speed up execution

Added:
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/pom.xml   (with props)
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.1/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.1/maven-it-plugin-version-0.1.jar   (with props)
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.1/maven-it-plugin-version-0.1.pom
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml   (with props)
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-metadata.xml   (with props)
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/pom.xml   (with props)
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.2/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.2/maven-it-plugin-version-0.2.jar   (with props)
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.2/maven-it-plugin-version-0.2.pom
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml   (with props)
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-metadata.xml   (with props)
Removed:
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/PomA/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/PomB/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mojo/
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mojo2/
Modified:
    maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3284UsingCachedPluginsTest.java
    maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/pom.xml

Modified: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3284UsingCachedPluginsTest.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3284UsingCachedPluginsTest.java?rev=707679&r1=707678&r2=707679&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3284UsingCachedPluginsTest.java (original)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3284UsingCachedPluginsTest.java Fri Oct 24 09:47:39 2008
@@ -20,10 +20,6 @@
  */
 
 import java.io.File;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.Assert;
 
 import org.apache.maven.it.Verifier;
 import org.apache.maven.it.util.ResourceExtractor;
@@ -34,61 +30,50 @@
 public class MavenITmng3284UsingCachedPluginsTest
     extends AbstractMavenIntegrationTestCase
 {
+
     public MavenITmng3284UsingCachedPluginsTest()
     {
         super( "(2.0.8,)" ); 
     }
-    
+
+    /**
+     * Verify that the effective plugin versions used for a project are not influenced by other instances of this
+     * plugin in the reactor, i.e. each module gets exactly the plugin version it declares.
+     */
     public void testitMNG3284()
         throws Exception
     {
-
-        // The testdir is computed from the location of this
-        // file.
         File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3284-usingCachedPlugins" );
 
-        Verifier verifier;
-
-        /*
-         * Build Mojo v1
-         */
-        verifier = new Verifier( new File( testDir.getAbsolutePath(), "mojo" ).getAbsolutePath() );
-        verifier.executeGoal( "install" );
-        verifier.verifyErrorFreeLog();
-        verifier.resetStreams();
-
         /*
-         * Build Mojo v2
+         * Phase 1: Ensure both plugin versions are already in the local repo. This is a crucial prerequisite for the
+         * test because downloading the plugins just-in-time during the test build would trigger a timestamp-based
+         * reloading of the plugin container by the DefaultPluginManager in Maven 2.x, thereby hiding the bug we want
+         * to expose here.
          */
-        verifier = new Verifier( new File( testDir.getAbsolutePath(), "mojo2" ).getAbsolutePath() );
-        verifier.executeGoal( "install" );
+        Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+        verifier.setAutoclean( false );
+        verifier.deleteArtifact( "org.apache.maven.its.mng3284", "maven-it-plugin-version", "0.1", "jar" );
+        verifier.deleteArtifact( "org.apache.maven.its.mng3284", "maven-it-plugin-version", "0.2", "jar" );
+        verifier.executeGoal( "validate" ); 
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
 
         /*
-         * Run the simple build
+         * Phase 2: Now that the plugin versions have been downloaded to the local repo, run the actual test.
          */
         verifier = new Verifier( testDir.getAbsolutePath() );
-        verifier.executeGoal( "install" );
+        verifier.setAutoclean( false );
+        verifier.deleteDirectory( "mod-a/target" );
+        verifier.deleteDirectory( "mod-b/target" );
+        verifier.executeGoal( "validate" ); 
         verifier.verifyErrorFreeLog();
-
-        List lines = verifier.loadFile( testDir.getAbsolutePath(), "log.txt", false );
-        int foundVersionOne = 0;
-        int foundVersionTwo = 0;
-        for ( Iterator i = lines.iterator(); i.hasNext(); )
-        {
-
-            String line = (String) i.next();
-            if ( line.indexOf( "USING VERSION 1" ) != -1 )
-                foundVersionOne++;
-            if ( line.indexOf( "USING VERSION 2" ) != -1 )
-                foundVersionTwo++;
-        }
-
         verifier.resetStreams();
 
-        Assert.assertEquals( "Should be using plugin version 1 only once.", 1,foundVersionOne );
-        Assert.assertEquals( "Should be using plugin version 2 only once.", 1,foundVersionTwo );
-
+        verifier.assertFilePresent( "mod-a/target/version-0.1.txt" );
+        verifier.assertFileNotPresent( "mod-a/target/version-0.2.txt" );
+        verifier.assertFilePresent( "mod-b/target/version-0.2.txt" );
+        verifier.assertFileNotPresent( "mod-b/target/version-0.1.txt" );
     }
+
 }

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/pom.xml?rev=707679&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/pom.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/pom.xml Fri Oct 24 09:47:39 2008
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<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 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.mng3284</groupId>
+    <artifactId>parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>mod-a</artifactId>
+
+  <name>Maven Integration Test :: MNG-3284 :: Module A</name> 
+
+  <repositories>
+    <repository>
+      <id>maven-core-it</id>
+      <url>file:///${basedir}/repo</url>
+      <releases>
+        <checksumPolicy>ignore</checksumPolicy>
+      </releases>
+      <snapshots>
+        <checksumPolicy>ignore</checksumPolicy>
+      </snapshots>
+    </repository>
+  </repositories>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>maven-core-it</id>
+      <url>file:///${basedir}/repo</url>
+      <releases>
+        <checksumPolicy>ignore</checksumPolicy>
+      </releases>
+      <snapshots>
+        <checksumPolicy>ignore</checksumPolicy>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.mng3284</groupId>
+        <artifactId>maven-it-plugin-version</artifactId>
+        <!-- This module uses version 0.1 while the other one uses 0.2 -->
+        <version>0.1</version>
+        <configuration>
+          <outputDirectory>target</outputDirectory>
+        </configuration>
+        <executions>
+          <execution>
+            <id>test</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>version</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.1/maven-it-plugin-version-0.1.jar
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.1/maven-it-plugin-version-0.1.jar?rev=707679&view=auto
==============================================================================
Binary file - no diff available.

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.1/maven-it-plugin-version-0.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.1/maven-it-plugin-version-0.1.pom
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.1/maven-it-plugin-version-0.1.pom?rev=707679&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.1/maven-it-plugin-version-0.1.pom (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.1/maven-it-plugin-version-0.1.pom Fri Oct 24 09:47:39 2008
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<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 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3284</groupId>
+  <artifactId>maven-it-plugin-version</artifactId>
+  <version>0.1</version>
+  <packaging>maven-plugin</packaging>
+
+  <name>Maven Integration Test Plugin :: Version</name>
+  <description>
+    A test plugin that creates a file with some hard-coded name (including the plugin version) in a user-specified directory.
+  </description>
+  <inceptionYear>2008</inceptionYear>
+
+  <distributionManagement>
+    <repository>
+      <id>maven-core-it</id>
+      <url>file:///${basedir}/repo</url>
+    </repository>
+  </distributionManagement>
+
+  <properties>
+    <maven.test.skip>true</maven.test.skip>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>2.0</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <resources>
+      <resource>
+        <directory>.</directory>
+        <includes>
+          <include>pom.xml</include>
+          <include>src/**</include>
+        </includes>
+      </resource>
+      <resource>
+        <directory>src/main/resources</directory>
+      </resource>
+    </resources>
+  </build>
+</project>

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml?rev=707679&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml Fri Oct 24 09:47:39 2008
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+  <groupId>org.apache.maven.its.mng3284</groupId>
+  <artifactId>maven-it-plugin-version</artifactId>
+  <version>0.1</version>
+  <versioning>
+    <latest>0.1</latest>
+    <release>0.1</release>
+    <versions>
+      <version>0.1</version>
+    </versions>
+    <lastUpdated>20081024153135</lastUpdated>
+  </versioning>
+</metadata>
\ No newline at end of file

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-metadata.xml?rev=707679&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-metadata.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-metadata.xml Fri Oct 24 09:47:39 2008
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+  <plugins>
+    <plugin>
+      <name>Maven Integration Test Plugin :: Version</name>
+      <prefix>itversion</prefix>
+      <artifactId>maven-it-plugin-version</artifactId>
+    </plugin>
+  </plugins>
+</metadata>
\ No newline at end of file

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-metadata.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-a/repo/org/apache/maven/its/mng3284/maven-metadata.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/pom.xml?rev=707679&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/pom.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/pom.xml Fri Oct 24 09:47:39 2008
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<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 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.mng3284</groupId>
+    <artifactId>parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>mod-b</artifactId>
+
+  <name>Maven Integration Test :: MNG-3284 :: Module B</name> 
+
+  <repositories>
+    <repository>
+      <id>maven-core-it</id>
+      <url>file:///${basedir}/repo</url>
+      <releases>
+        <checksumPolicy>ignore</checksumPolicy>
+      </releases>
+      <snapshots>
+        <checksumPolicy>ignore</checksumPolicy>
+      </snapshots>
+    </repository>
+  </repositories>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>maven-core-it</id>
+      <url>file:///${basedir}/repo</url>
+      <releases>
+        <checksumPolicy>ignore</checksumPolicy>
+      </releases>
+      <snapshots>
+        <checksumPolicy>ignore</checksumPolicy>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.its.mng3284</groupId>
+        <artifactId>maven-it-plugin-version</artifactId>
+        <!-- This module uses version 0.2 while the other one uses 0.1 -->
+        <version>0.2</version>
+        <configuration>
+          <outputDirectory>target</outputDirectory>
+        </configuration>
+        <executions>
+          <execution>
+            <id>test</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>version</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.2/maven-it-plugin-version-0.2.jar
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.2/maven-it-plugin-version-0.2.jar?rev=707679&view=auto
==============================================================================
Binary file - no diff available.

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.2/maven-it-plugin-version-0.2.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.2/maven-it-plugin-version-0.2.pom
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.2/maven-it-plugin-version-0.2.pom?rev=707679&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.2/maven-it-plugin-version-0.2.pom (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/0.2/maven-it-plugin-version-0.2.pom Fri Oct 24 09:47:39 2008
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<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 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3284</groupId>
+  <artifactId>maven-it-plugin-version</artifactId>
+  <version>0.2</version>
+  <packaging>maven-plugin</packaging>
+
+  <name>Maven Integration Test Plugin :: Version</name>
+  <description>
+    A test plugin that creates a file with some hard-coded name (including the plugin version) in a user-specified directory.
+  </description>
+  <inceptionYear>2008</inceptionYear>
+
+  <distributionManagement>
+    <repository>
+      <id>maven-core-it</id>
+      <url>file:///${basedir}/repo</url>
+    </repository>
+  </distributionManagement>
+
+  <properties>
+    <maven.test.skip>true</maven.test.skip>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>2.0</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <resources>
+      <resource>
+        <directory>.</directory>
+        <includes>
+          <include>pom.xml</include>
+          <include>src/**</include>
+        </includes>
+      </resource>
+      <resource>
+        <directory>src/main/resources</directory>
+      </resource>
+    </resources>
+  </build>
+</project>

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml?rev=707679&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml Fri Oct 24 09:47:39 2008
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+  <groupId>org.apache.maven.its.mng3284</groupId>
+  <artifactId>maven-it-plugin-version</artifactId>
+  <version>0.2</version>
+  <versioning>
+    <latest>0.2</latest>
+    <release>0.2</release>
+    <versions>
+      <version>0.2</version>
+    </versions>
+    <lastUpdated>20081024153034</lastUpdated>
+  </versioning>
+</metadata>
\ No newline at end of file

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-it-plugin-version/maven-metadata.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-metadata.xml?rev=707679&view=auto
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-metadata.xml (added)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-metadata.xml Fri Oct 24 09:47:39 2008
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+  <plugins>
+    <plugin>
+      <name>Maven Integration Test Plugin :: Version</name>
+      <prefix>itversion</prefix>
+      <artifactId>maven-it-plugin-version</artifactId>
+    </plugin>
+  </plugins>
+</metadata>
\ No newline at end of file

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-metadata.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/mod-b/repo/org/apache/maven/its/mng3284/maven-metadata.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/pom.xml?rev=707679&r1=707678&r2=707679&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/pom.xml (original)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-3284-usingCachedPlugins/pom.xml Fri Oct 24 09:47:39 2008
@@ -1,12 +1,40 @@
-<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 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>test</groupId>
-	<artifactId>bug</artifactId>
-	<version>1.0-SNAPSHOT</version>
-	<packaging>pom</packaging>
-	<modules>
-		<module>PomA</module>
-		<module>PomB</module>
-	</modules>
-</project>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<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 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3284</groupId>
+  <artifactId>parent</artifactId>
+  <packaging>pom</packaging>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Maven Integration Test :: MNG-3284 :: Parent</name> 
+  <description>
+    Verify that the effective plugin versions used for a project are not influenced by other instances of this
+    plugin in the reactor, i.e. each module gets exactly the plugin version it declares.
+  </description>
+
+  <modules>
+    <module>mod-a</module>
+    <module>mod-b</module>
+  </modules>
+</project>