You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2008/02/01 03:13:51 UTC
svn commit: r617330 - in /maven/components/trunk/maven-project/src/test:
java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
java/org/apache/maven/project/ModelUtilsTest.java
resources/projects/duplicate-plugins-merged-pom.xml
Author: jdcasey
Date: Thu Jan 31 18:13:36 2008
New Revision: 617330
URL: http://svn.apache.org/viewvc?rev=617330&view=rev
Log:
[MNG-2145] Adding some more unit tests to protect against these problems in future.
Added:
maven/components/trunk/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml (with props)
Modified:
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java
Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java?rev=617330&r1=617329&r2=617330&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java Thu Jan 31 18:13:36 2008
@@ -22,6 +22,7 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.model.Plugin;
import org.codehaus.plexus.util.FileUtils;
import java.io.File;
@@ -92,6 +93,16 @@
// it's the building of the grandchild project, having already cached the child project
// (but not the parent project), which causes the problem.
getProject( f2 );
+ }
+
+ public void testDuplicatePluginDefinitionsMerged()
+ throws Exception
+ {
+ File f1 = getTestFile( "src/test/resources/projects/duplicate-plugins-merged-pom.xml" );
+
+ MavenProject project = getProject( f1 );
+
+ assertEquals( 2, ( (Plugin) project.getBuildPlugins().get( 0 ) ).getDependencies().size() );
}
protected ArtifactRepository getLocalRepository()
Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java?rev=617330&r1=617329&r2=617330&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java Thu Jan 31 18:13:36 2008
@@ -489,4 +489,29 @@
assertEquals( "two", item[1].getValue() );
assertEquals( "three", item[2].getValue() );
}
+
+ public void testShouldMergeTwoPluginDependenciesOnMergeDupePluginDefs()
+ {
+ PluginContainer first = new PluginContainer();
+ Plugin fPlugin = createPlugin( "g", "a", "1", Collections.EMPTY_MAP );
+ Dependency fDep = new Dependency();
+ fDep.setGroupId( "group" );
+ fDep.setArtifactId( "artifact" );
+ fDep.setVersion( "1" );
+
+ first.addPlugin( fPlugin );
+ fPlugin.addDependency( fDep );
+
+ Plugin sPlugin = createPlugin( "g", "a", "1", Collections.EMPTY_MAP );
+ Dependency sDep = new Dependency();
+ sDep.setGroupId( "group" );
+ sDep.setArtifactId( "artifact2" );
+ sDep.setVersion( "1" );
+ first.addPlugin( sPlugin );
+ sPlugin.addDependency( sDep );
+
+ ModelUtils.mergeDuplicatePluginDefinitions( first );
+
+ assertEquals( 2, ((Plugin)first.getPlugins().get( 0 ) ).getDependencies().size() );
+ }
}
Added: maven/components/trunk/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml?rev=617330&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml Thu Jan 31 18:13:36 2008
@@ -0,0 +1,32 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>tests.project</groupId>
+ <artifactId>duplicate-plugin-defs-merged</artifactId>
+ <version>1</version>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>group</groupId>
+ <artifactId>first</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>group</groupId>
+ <artifactId>second</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Propchange: maven/components/trunk/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-project/src/test/resources/projects/duplicate-plugins-merged-pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"