You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2013/06/09 14:35:20 UTC
svn commit: r1491202 - in /maven/enforcer/trunk:
enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/
enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/
maven-enforcer-plugin/src/it/mrm/repository/ maven-enforcer-plugin/sr...
Author: rfscholte
Date: Sun Jun 9 12:35:19 2013
New Revision: 1491202
URL: http://svn.apache.org/r1491202
Log:
[MENFORCER-126] requirePluginVersions misreports plugins with artifactIds defined through properties
Added:
maven/enforcer/trunk/maven-enforcer-plugin/src/it/mrm/repository/menforcer126_maven-plugin-1.0.pom
maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions/
maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions/pom.xml
Modified:
maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java?rev=1491202&r1=1491201&r2=1491202&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java Sun Jun 9 12:35:19 2013
@@ -54,6 +54,7 @@ import org.apache.maven.model.BuildBase;
import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.Profile;
+import org.apache.maven.model.ReportPlugin;
import org.apache.maven.plugin.InvalidPluginException;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.PluginManager;
@@ -1039,7 +1040,8 @@ public class RequirePluginVersions
{
try
{
- plugins.addAll( PluginWrapper.addAll( model.getBuild().getPlugins(), model.getId() + ".build.plugins" ) );
+ List<Plugin> modelPlugins = model.getBuild().getPlugins();
+ plugins.addAll( PluginWrapper.addAll( utils.resolvePlugins( modelPlugins ), model.getId() + ".build.plugins" ) );
}
catch ( NullPointerException e )
{
@@ -1048,8 +1050,9 @@ public class RequirePluginVersions
try
{
+ List<ReportPlugin> modelReportPlugins = model.getReporting().getPlugins();
// add the reporting plugins
- plugins.addAll( PluginWrapper.addAll( model.getReporting().getPlugins(), model.getId() + ".reporting" ) );
+ plugins.addAll( PluginWrapper.addAll( utils.resolveReportPlugins( modelReportPlugins ), model.getId() + ".reporting" ) );
}
catch ( NullPointerException e )
{
@@ -1058,7 +1061,8 @@ public class RequirePluginVersions
try
{
- plugins.addAll( PluginWrapper.addAll( model.getBuild().getPluginManagement().getPlugins(),
+ List<Plugin> modelPlugins = model.getBuild().getPluginManagement().getPlugins();
+ plugins.addAll( PluginWrapper.addAll( utils.resolvePlugins( modelPlugins ),
model.getId() + ".build.pluginManagement.plugins" ) );
}
catch ( NullPointerException e )
@@ -1073,7 +1077,8 @@ public class RequirePluginVersions
{
try
{
- plugins.addAll( PluginWrapper.addAll( profile.getBuild().getPlugins(), model.getId()
+ List<Plugin> modelPlugins = profile.getBuild().getPlugins();
+ plugins.addAll( PluginWrapper.addAll( utils.resolvePlugins( modelPlugins ), model.getId()
+ ".profiles.profile[" + profile.getId() + "].build.plugins" ) );
}
catch ( NullPointerException e )
@@ -1083,8 +1088,9 @@ public class RequirePluginVersions
try
{
+ List<ReportPlugin> modelReportPlugins = profile.getReporting().getPlugins();
// add the reporting plugins
- plugins.addAll( PluginWrapper.addAll( profile.getReporting().getPlugins(), model.getId()
+ plugins.addAll( PluginWrapper.addAll( utils.resolveReportPlugins( modelReportPlugins ), model.getId()
+ "profile[" + profile.getId() + "].reporting.plugins" ) );
}
catch ( NullPointerException e )
@@ -1093,8 +1099,8 @@ public class RequirePluginVersions
}
try
{
- // add the reporting plugins
- plugins.addAll( PluginWrapper.addAll( profile.getBuild().getPluginManagement().getPlugins(),
+ List<Plugin> modelPlugins = profile.getBuild().getPluginManagement().getPlugins();
+ plugins.addAll( PluginWrapper.addAll( utils.resolvePlugins( modelPlugins ),
model.getId() + "profile[" + profile.getId()
+ "].build.pluginManagement.plugins" ) );
}
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=1491202&r1=1491201&r2=1491202&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 Sun Jun 9 12:35:19 2013
@@ -34,6 +34,8 @@ import org.apache.maven.artifact.resolve
import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
import org.apache.maven.model.Model;
import org.apache.maven.model.Parent;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.ReportPlugin;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.project.MavenProject;
@@ -323,4 +325,53 @@ public class EnforcerRuleUtils
return ( StringUtils.equals( groupId, modelGroup ) && StringUtils.equals( version, modelVersion ) && StringUtils
.equals( artifactId, model.getArtifactId() ) );
}
+
+
+ private void resolve( Plugin plugin )
+ {
+ try
+ {
+ plugin.setGroupId( (String) helper.evaluate( plugin.getGroupId() ) );
+ plugin.setArtifactId( (String) helper.evaluate( plugin.getArtifactId() ) );
+ plugin.setVersion( (String) helper.evaluate( plugin.getVersion() ) );
+ }
+ catch ( ExpressionEvaluationException e )
+ {
+ // this should have gone already before
+ }
+ }
+
+ private void resolve( ReportPlugin plugin )
+ {
+ try
+ {
+ plugin.setGroupId( (String) helper.evaluate( plugin.getGroupId() ) );
+ plugin.setArtifactId( (String) helper.evaluate( plugin.getArtifactId() ) );
+ plugin.setVersion( (String) helper.evaluate( plugin.getVersion() ) );
+ }
+ catch ( ExpressionEvaluationException e )
+ {
+ // this should have gone already before
+ }
+ }
+
+ public List<Plugin> resolvePlugins( List<Plugin> plugins )
+ {
+ for( Plugin plugin : plugins )
+ {
+ resolve( plugin );
+ }
+ return plugins;
+ }
+
+ public List<ReportPlugin> resolveReportPlugins( List<ReportPlugin> reportPlugins )
+ {
+ for( ReportPlugin plugin : reportPlugins )
+ {
+ resolve( plugin );
+ }
+ return reportPlugins;
+ }
+
+
}
Added: maven/enforcer/trunk/maven-enforcer-plugin/src/it/mrm/repository/menforcer126_maven-plugin-1.0.pom
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/maven-enforcer-plugin/src/it/mrm/repository/menforcer126_maven-plugin-1.0.pom?rev=1491202&view=auto
==============================================================================
--- maven/enforcer/trunk/maven-enforcer-plugin/src/it/mrm/repository/menforcer126_maven-plugin-1.0.pom (added)
+++ maven/enforcer/trunk/maven-enforcer-plugin/src/it/mrm/repository/menforcer126_maven-plugin-1.0.pom Sun Jun 9 12:35:19 2013
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.plugins.enforcer.its</groupId>
+ <artifactId>menforcer126_maven-plugin</artifactId>
+ <version>1.0</version>
+ <packaging>maven-plugin</packaging>
+</project>
\ No newline at end of file
Added: maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions/pom.xml?rev=1491202&view=auto
==============================================================================
--- maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions/pom.xml (added)
+++ maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-plugin-versions-expressions/pom.xml Sun Jun 9 12:35:19 2013
@@ -0,0 +1,135 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.enforcer.its</groupId>
+ <artifactId>requirePluginVersions_Expressions</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <properties>
+ <expressionplugin.groupId>org.apache.maven.enforcer.its</expressionplugin.groupId>
+ <expressionplugin.artifactId>menforcer126_maven-plugin</expressionplugin.artifactId>
+ <expressionplugin.version>1.0</expressionplugin.version>
+ </properties>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.6</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.5.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.12.4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.7</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.2</version>
+ </plugin>
+ <plugin>
+ <groupId>${expressionplugin.groupId}</groupId>
+ <artifactId>${expressionplugin.artifactId}</artifactId>
+ <version>${expressionplugin.version}</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>@project.version@</version>
+ <executions>
+ <execution>
+ <id>test</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requirePluginVersions>
+ <banSnapshots>false</banSnapshots>
+ </requirePluginVersions>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>${expressionplugin.groupId}</groupId>
+ <artifactId>${expressionplugin.artifactId}</artifactId>
+ <version>${expressionplugin.version}</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>${expressionplugin.groupId}</groupId>
+ <artifactId>${expressionplugin.artifactId}</artifactId>
+ <version>${expressionplugin.version}</version>
+ </plugin>
+ </plugins>
+ </reporting>
+
+ <profiles>
+ <profile>
+ <id>menforcer126</id>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>${expressionplugin.groupId}</groupId>
+ <artifactId>${expressionplugin.artifactId}</artifactId>
+ <version>${expressionplugin.version}</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>${expressionplugin.groupId}</groupId>
+ <artifactId>${expressionplugin.artifactId}</artifactId>
+ <version>${expressionplugin.version}</version>
+ </plugin>
+ </plugins>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>${expressionplugin.groupId}</groupId>
+ <artifactId>${expressionplugin.artifactId}</artifactId>
+ <version>${expressionplugin.version}</version>
+ </plugin>
+ </plugins>
+ </reporting>
+ </profile>
+ </profiles>
+
+</project>
\ No newline at end of file