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/23 14:52:16 UTC
svn commit: r728953 - in /maven/enforcer/trunk:
enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/
enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/
enforcer-rules/src/test/resources/requirePluginVersions/parentEx...
Author: brett
Date: Tue Dec 23 05:52:15 2008
New Revision: 728953
URL: http://svn.apache.org/viewvc?rev=728953&view=rev
Log:
[MENFORCER-30] RequirePluginVersions breaks when using project.parent.groupId and project.parent.version
Added:
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/child/
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/child/pom.xml (with props)
maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/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/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java
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=728953&r1=728952&r2=728953&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 05:52:15 2008
@@ -69,6 +69,8 @@
/** The project. */
MavenProject project;
+ private EnforcerRuleHelper helper;
+
/**
* Instantiates a new enforcer rule utils.
*
@@ -107,6 +109,7 @@
resolver = (ArtifactResolver) helper.getComponent( ArtifactResolver.class );
local = (ArtifactRepository) helper.evaluate( "${localRepository}" );
project = (MavenProject) helper.evaluate( "${project}" );
+ this.helper = helper;
remoteRepositories = project.getRemoteArtifactRepositories();
}
catch ( ComponentLookupException e )
@@ -281,11 +284,19 @@
{
modelGroup = model.getParent().getGroupId();
}
+ else
+ {
+ modelGroup = (String) helper.evaluate( modelGroup );
+ }
if ( StringUtils.isEmpty( modelVersion ) )
{
modelVersion = model.getParent().getVersion();
}
+ else
+ {
+ modelVersion = (String) helper.evaluate( modelVersion );
+ }
}
catch ( NullPointerException e )
{
@@ -295,6 +306,10 @@
// lets see if it's what we're looking for
// anyway.
}
+ catch ( ExpressionEvaluationException e )
+ {
+ // as above
+ }
return ( StringUtils.equals( groupId, modelGroup ) && StringUtils.equals( version, modelVersion ) && StringUtils
.equals( artifactId, model.getArtifactId() ) );
}
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=728953&r1=728952&r2=728953&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 05:52:15 2008
@@ -31,6 +31,7 @@
import org.apache.maven.model.Parent;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.apache.maven.plugins.enforcer.EnforcerTestUtils;
+import org.apache.maven.plugins.enforcer.MockProject;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -152,6 +153,33 @@
models.contains( m );
}
+ public void testGetModelsRecursivelyParentExpression()
+ throws ArtifactResolutionException, ArtifactNotFoundException, IOException, XmlPullParserException
+ {
+ String path = "target/test-classes/requirePluginVersions/parentExpression/child";
+
+ 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( "child" );
+ 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", "child", "1.0-SNAPSHOT", pom );
+
+ // there should be 1
+ assertEquals( 2, models.size() );
+ }
+
/**
* Simpler wrapper to execute and deal with the expected result.
*
Added: 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=728953&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/child/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/child/pom.xml Tue Dec 23 05:52:15 2008
@@ -0,0 +1,11 @@
+<project>
+ <parent>
+ <groupId>org.apache.maven.plugins.enforcer.test
+ </groupId>
+ <artifactId>parentExpression</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <groupId>${project.parent.groupId}</groupId>
+ <artifactId>child</artifactId>
+ <version>${project.parent.version}</version>
+</project>
\ No newline at end of file
Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/child/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: 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=728953&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/pom.xml (added)
+++ maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/pom.xml Tue Dec 23 05:52:15 2008
@@ -0,0 +1,5 @@
+<project>
+ <groupId>org.apache.maven.plugins.enforcer.test</groupId>
+ <artifactId>parentExpression</artifactId>
+ <version>1.0-SNAPSHOT</version>
+</project>
\ No newline at end of file
Propchange: maven/enforcer/trunk/enforcer-rules/src/test/resources/requirePluginVersions/parentExpression/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java?rev=728953&r1=728952&r2=728953&view=diff
==============================================================================
--- maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java (original)
+++ maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java Tue Dec 23 05:52:15 2008
@@ -198,6 +198,7 @@
else
{
list.add( "Rule " + i + ": " + currentRule + " failed with message:\n" + e.getMessage() );
+ log.debug( "Adding failure due to exception", e );
}
}
}