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