You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/12/24 00:59:26 UTC
svn commit: r729179 - in /maven/enforcer/trunk/enforcer-rules/src:
main/java/org/apache/maven/plugins/enforcer/utils/
test/java/org/apache/maven/plugins/enforcer/utils/
test/resources/requirePluginVersions/parentExpression/
test/resources/requirePlugin...
Author: brett
Date: Tue Dec 23 15:59:25 2008
New Revision: 729179
URL: http://svn.apache.org/viewvc?rev=729179&view=rev
Log:
[MENFORCER-57] properly locate a parent POM from the source directory when the relativePath is a directory and not a pom.xml file
Added:
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/parent/
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/parent/pom.xml (with props)
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/pom.xml (with props)
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/parent/
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/parent/pom.xml (with props)
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/pom.xml (with props)
Modified:
maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestEnforcerRuleUtils.java
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/child/pom.xml
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/pom.xml
Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java?rev=729179&r1=729178&r2=729179&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java Tue Dec 23 15:59:25 2008
@@ -249,6 +249,12 @@
}
// calculate the recursive path
File parentPom = new File( pom.getParent(), relativePath );
+
+ // if relative path is a directory, append pom.xml
+ if ( parentPom.isDirectory() )
+ {
+ parentPom = new File( parentPom, "pom.xml" );
+ }
models = getModelsRecursively( parent.getGroupId(), parent.getArtifactId(), parent.getVersion(), parentPom );
}
Modified: maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestEnforcerRuleUtils.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestEnforcerRuleUtils.java?rev=729179&r1=729178&r2=729179&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestEnforcerRuleUtils.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestEnforcerRuleUtils.java Tue Dec 23 15:59:25 2008
@@ -165,7 +165,7 @@
// bit backwards - the project here should really be the one read in the first stage of getModelsRecursively
MockProject parent = new MockProject();
parent.setGroupId( "org.apache.maven.plugins.enforcer.test" );
- parent.setArtifactId( "child" );
+ parent.setArtifactId( "parent" );
parent.setVersion( "1.0-SNAPSHOT" );
MockProject project = new MockProject();
@@ -180,6 +180,60 @@
assertEquals( 2, models.size() );
}
+ public void testGetModelsRecursivelyParentRelativePath()
+ throws ArtifactResolutionException, ArtifactNotFoundException, IOException, XmlPullParserException
+ {
+ String path = "target/test-classes/requirePluginVersions/parentRelativePath";
+
+ StringUtils.replace( path, "/", File.separator );
+
+ File pom = new File( getBasedir() + File.separator + path, "pom.xml" );
+
+ // bit backwards - the project here should really be the one read in the first stage of getModelsRecursively
+ MockProject parent = new MockProject();
+ parent.setGroupId( "org.apache.maven.plugins.enforcer.test" );
+ parent.setArtifactId( "parent" );
+ parent.setVersion( "1.0-SNAPSHOT" );
+
+ MockProject project = new MockProject();
+ project.setParent( parent );
+
+ EnforcerRuleUtils utils = new EnforcerRuleUtils( EnforcerTestUtils.getHelper( project ) );
+
+ List models =
+ utils.getModelsRecursively( "org.apache.maven.plugins.enforcer.test", "aggregate", "1.0-SNAPSHOT", pom );
+
+ // there should be 1
+ assertEquals( 2, models.size() );
+ }
+
+ public void testGetModelsRecursivelyParentRelativePathDirectory()
+ throws ArtifactResolutionException, ArtifactNotFoundException, IOException, XmlPullParserException
+ {
+ String path = "target/test-classes/requirePluginVersions/parentRelativePathDirectory";
+
+ StringUtils.replace( path, "/", File.separator );
+
+ File pom = new File( getBasedir() + File.separator + path, "pom.xml" );
+
+ // bit backwards - the project here should really be the one read in the first stage of getModelsRecursively
+ MockProject parent = new MockProject();
+ parent.setGroupId( "org.apache.maven.plugins.enforcer.test" );
+ parent.setArtifactId( "parent" );
+ parent.setVersion( "1.0-SNAPSHOT" );
+
+ MockProject project = new MockProject();
+ project.setParent( parent );
+
+ EnforcerRuleUtils utils = new EnforcerRuleUtils( EnforcerTestUtils.getHelper( project ) );
+
+ List models =
+ utils.getModelsRecursively( "org.apache.maven.plugins.enforcer.test", "aggregate", "1.0-SNAPSHOT", pom );
+
+ // there should be 1
+ assertEquals( 2, models.size() );
+ }
+
/**
* Simpler wrapper to execute and deal with the expected result.
*
Modified: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/child/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/child/pom.xml?rev=729179&r1=729178&r2=729179&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/child/pom.xml (original)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/child/pom.xml Tue Dec 23 15:59:25 2008
@@ -1,4 +1,5 @@
<project>
+ <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.maven.plugins.enforcer.test
</groupId>
Modified: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/pom.xml?rev=729179&r1=729178&r2=729179&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/pom.xml (original)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/pom.xml Tue Dec 23 15:59:25 2008
@@ -1,4 +1,5 @@
<project>
+ <modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven.plugins.enforcer.test</groupId>
<artifactId>parentExpression</artifactId>
<version>1.0-SNAPSHOT</version>
Added: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/parent/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/parent/pom.xml?rev=729179&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/parent/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/parent/pom.xml Tue Dec 23 15:59:25 2008
@@ -0,0 +1,8 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.plugins.enforcer.test
+ </groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+</project>
\ No newline at end of file
Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/parent/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/pom.xml?rev=729179&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/pom.xml Tue Dec 23 15:59:25 2008
@@ -0,0 +1,13 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.plugins.enforcer.test
+ </groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>parent/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven.plugins.enforcer.test</groupId>
+ <artifactId>aggregate</artifactId>
+ <version>1.0-SNAPSHOT</version>
+</project>
\ No newline at end of file
Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePath/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/parent/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/parent/pom.xml?rev=729179&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/parent/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/parent/pom.xml Tue Dec 23 15:59:25 2008
@@ -0,0 +1,8 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.plugins.enforcer.test
+ </groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+</project>
\ No newline at end of file
Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/parent/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/pom.xml?rev=729179&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/pom.xml Tue Dec 23 15:59:25 2008
@@ -0,0 +1,13 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.plugins.enforcer.test
+ </groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>parent</relativePath>
+ </parent>
+ <groupId>org.apache.maven.plugins.enforcer.test</groupId>
+ <artifactId>aggregate</artifactId>
+ <version>1.0-SNAPSHOT</version>
+</project>
\ No newline at end of file
Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentRelativePathDirectory/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native