Author: khmarbaise Date: Fri Jan 2 21:01:18 2015 New Revision: 1649120 URL: http://svn.apache.org/r1649120 Log: [MENFORCER-220] Make real MojoExecution available through the EnforcerExpressionEvaluator Patch of Konrad Windszus applied with a slight modification.
Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/EnforcerExpressionEvaluator.java maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/MockEnforcerExpressionEvaluator.java maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/AbstractEnforceMojo.java maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/DisplayInfoMojo.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/EnforcerExpressionEvaluator.java URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/EnforcerExpressionEvaluator.java?rev=1649120&r1=1649119&r2=1649120&view=diff ============================================================================== --- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/EnforcerExpressionEvaluator.java (original) +++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/EnforcerExpressionEvaluator.java Fri Jan 2 21:01:18 2015 @@ -22,7 +22,6 @@ package org.apache.maven.plugins.enforce import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecution; import org.apache.maven.plugin.PluginParameterExpressionEvaluator; -import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.project.MavenProject; import org.apache.maven.project.path.PathTranslator; @@ -44,9 +43,9 @@ public class EnforcerExpressionEvaluator * @param theProject the the project */ public EnforcerExpressionEvaluator( MavenSession theContext, PathTranslator thePathTranslator, - MavenProject theProject ) + MavenProject theProject, MojoExecution theExecution ) { - super( theContext, new MojoExecution( new MojoDescriptor() ), thePathTranslator, null, theProject, + super( theContext, theExecution, thePathTranslator, null, theProject, theContext.getExecutionProperties() ); } Modified: maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java?rev=1649120&r1=1649119&r2=1649120&view=diff ============================================================================== --- maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java (original) +++ maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java Fri Jan 2 21:01:18 2015 @@ -25,6 +25,8 @@ import java.util.Properties; import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper; import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Plugin; +import org.apache.maven.plugin.MojoExecution; +import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.plugin.logging.SystemStreamLog; import org.apache.maven.plugins.enforcer.utils.MockEnforcerExpressionEvaluator; import org.apache.maven.project.MavenProject; @@ -97,7 +99,7 @@ public final class EnforcerTestUtils } else { - eval = new EnforcerExpressionEvaluator( session, new MockPathTranslator(), project ); + eval = new EnforcerExpressionEvaluator( session, new MockPathTranslator(), project, new MojoExecution( new MojoDescriptor() ) ); } return new DefaultEnforcementRuleHelper( session, eval, new SystemStreamLog(), null ); } Modified: maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/MockEnforcerExpressionEvaluator.java URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/MockEnforcerExpressionEvaluator.java?rev=1649120&r1=1649119&r2=1649120&view=diff ============================================================================== --- maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/MockEnforcerExpressionEvaluator.java (original) +++ maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/MockEnforcerExpressionEvaluator.java Fri Jan 2 21:01:18 2015 @@ -20,6 +20,8 @@ package org.apache.maven.plugins.enforce */ import org.apache.maven.execution.MavenSession; +import org.apache.maven.plugin.MojoExecution; +import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.plugins.enforcer.EnforcerExpressionEvaluator; import org.apache.maven.project.MavenProject; import org.apache.maven.project.path.PathTranslator; @@ -43,7 +45,7 @@ public class MockEnforcerExpressionEvalu public MockEnforcerExpressionEvaluator( MavenSession theContext, PathTranslator thePathTranslator, MavenProject theProject ) { - super( theContext, thePathTranslator, theProject ); + super( theContext, thePathTranslator, theProject, new MojoExecution( new MojoDescriptor() ) ); // TODO Auto-generated constructor stub } Modified: maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/AbstractEnforceMojo.java URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/AbstractEnforceMojo.java?rev=1649120&r1=1649119&r2=1649120&view=diff ============================================================================== --- maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/AbstractEnforceMojo.java (original) +++ maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/AbstractEnforceMojo.java Fri Jan 2 21:01:18 2015 @@ -28,6 +28,7 @@ import org.apache.maven.enforcer.rule.ap import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper; import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecution; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugins.annotations.Component; @@ -57,6 +58,12 @@ public abstract class AbstractEnforceMoj */ @Component( role = PathTranslator.class ) protected PathTranslator translator; + + /** + * MojoExecution needed by the ExpressionEvaluator + */ + @Parameter( defaultValue = "${mojoExecution}", readonly = true, required = true ) + protected MojoExecution mojoExecution; /** * The MavenSession @@ -102,7 +109,8 @@ public abstract class AbstractEnforceMoj throws MojoExecutionException { Log log = this.getLog(); - EnforcerExpressionEvaluator evaluator = new EnforcerExpressionEvaluator( session, translator, project ); + EnforcerExpressionEvaluator evaluator = new EnforcerExpressionEvaluator( session, translator, project, + mojoExecution ); // the entire execution can be easily skipped if ( !skip ) { Modified: maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/DisplayInfoMojo.java URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/DisplayInfoMojo.java?rev=1649120&r1=1649119&r2=1649120&view=diff ============================================================================== --- maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/DisplayInfoMojo.java (original) +++ maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/DisplayInfoMojo.java Fri Jan 2 21:01:18 2015 @@ -23,6 +23,7 @@ import org.apache.commons.lang.SystemUti import org.apache.maven.execution.MavenSession; import org.apache.maven.execution.RuntimeInformation; import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecution; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Mojo; @@ -55,6 +56,12 @@ public class DisplayInfoMojo protected PathTranslator translator; /** + * MojoExecution needed by the ExpressionEvaluator + */ + @Parameter( defaultValue = "${mojoExecution}", readonly = true, required = true ) + protected MojoExecution mojoExecution; + + /** * The MavenSession */ @Parameter( defaultValue = "${session}", readonly = true, required = true ) @@ -84,7 +91,8 @@ public class DisplayInfoMojo { try { - EnforcerExpressionEvaluator evaluator = new EnforcerExpressionEvaluator( session, translator, project ); + EnforcerExpressionEvaluator evaluator = new EnforcerExpressionEvaluator( session, translator, project, + mojoExecution ); DefaultEnforcementRuleHelper helper = new DefaultEnforcementRuleHelper( session, evaluator, getLog(), container ); RuntimeInformation rti = (RuntimeInformation) helper.getComponent( RuntimeInformation.class ); 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=1649120&r1=1649119&r2=1649120&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 Fri Jan 2 21:01:18 2015 @@ -99,7 +99,8 @@ public class EnforceMojo { Log log = this.getLog(); - EnforcerExpressionEvaluator evaluator = new EnforcerExpressionEvaluator( session, translator, project ); + EnforcerExpressionEvaluator evaluator = new EnforcerExpressionEvaluator( session, translator, project, + mojoExecution ); // the entire execution can be easily skipped if ( !skip )