You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mf...@apache.org on 2015/05/02 22:46:56 UTC

svn commit: r1677352 - in /maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer: AbstractEnforceMojo.java EnforceMojo.java

Author: mfriedenhagen
Date: Sat May  2 20:46:55 2015
New Revision: 1677352

URL: http://svn.apache.org/r1677352
Log:
Complete reversion of MENFORCER-159.

Pull up formerly extracted AbstractEnforceMojo into EnforceMojo again.

Removed:
    maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/AbstractEnforceMojo.java
Modified:
    maven/enforcer/trunk/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java

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=1677352&r1=1677351&r2=1677352&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 Sat May  2 20:46:55 2015
@@ -28,16 +28,22 @@ import org.apache.maven.enforcer.rule.ap
 import org.apache.maven.enforcer.rule.api.EnforcerRule2;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 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;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.path.PathTranslator;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.context.ContextException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
 
 /**
  * This goal executes the defined enforcer-rules once per module.
@@ -47,9 +53,45 @@ import org.codehaus.plexus.context.Conte
  */
 @Mojo( name = "enforce", defaultPhase = LifecyclePhase.VALIDATE, threadSafe = true )
 public class EnforceMojo
-    extends AbstractEnforceMojo
+    extends AbstractMojo
+    implements Contextualizable
 {
     /**
+     * This is a static variable used to persist the cached results across plugin invocations.
+     */
+    protected static Hashtable<String, EnforcerRule> cache = new Hashtable<String, EnforcerRule>();
+
+    /**
+     * Path Translator needed by the ExpressionEvaluator
+     */
+    @Component( role = PathTranslator.class )
+    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 )
+    protected MavenSession session;
+
+    /**
+     * POM
+     */
+    @Parameter( defaultValue = "${project}", readonly = true, required = true )
+    protected MavenProject project;
+
+    /**
+     * Flag to easily skip all checks
+     */
+    @Parameter( property = "enforcer.skip", defaultValue = "false" )
+    protected boolean skip = false;
+
+    /**
      * Flag to fail the build if a version check fails.
      */
     @Parameter( property = "enforcer.fail", defaultValue = "true" )
@@ -74,11 +116,6 @@ public class EnforceMojo
     @Parameter( property = "enforcer.ignoreCache", defaultValue = "false" )
     protected boolean ignoreCache = false;
 
-    /**
-     * This is a static variable used to persist the cached results across plugin invocations.
-     */
-    protected static Hashtable<String, EnforcerRule> cache = new Hashtable<String, EnforcerRule>();
-
     // set by the contextualize method. Only way to get the
     // plugin's container in 2.0.x
     protected PlexusContainer container;
@@ -259,7 +296,6 @@ public class EnforceMojo
     /**
      * @return the rules
      */
-    @Override
     public EnforcerRule[] getRules()
     {
         return this.rules;
@@ -268,7 +304,6 @@ public class EnforceMojo
     /**
      * @param theRules the rules to set
      */
-    @Override
     public void setRules( EnforcerRule[] theRules )
     {
         this.rules = theRules;
@@ -277,19 +312,16 @@ public class EnforceMojo
     /**
      * @param theFailFast the failFast to set
      */
-    @Override
     public void setFailFast( boolean theFailFast )
     {
         this.failFast = theFailFast;
     }
 
-    @Override
     public boolean isFailFast()
     {
         return failFast;
     }
 
-    @Override
     protected String createRuleMessage( int i, String currentRule, EnforcerRuleException e )
     {
         return "Rule " + i + ": " + currentRule + " failed with message:\n" + e.getMessage();
@@ -320,4 +352,60 @@ public class EnforceMojo
             return EnforcerLevel.ERROR;
         }
     }
+
+    /**
+     * @return the skip
+     */
+    public boolean isSkip()
+    {
+        return this.skip;
+    }
+
+    /**
+     * @param theSkip the skip to set
+     */
+    public void setSkip( boolean theSkip )
+    {
+        this.skip = theSkip;
+    }
+
+    /**
+     * @return the project
+     */
+    public MavenProject getProject()
+    {
+        return this.project;
+    }
+
+    /**
+     * @param theProject the project to set
+     */
+    public void setProject( MavenProject theProject )
+    {
+        this.project = theProject;
+    }
+
+    /**
+     * @return the session
+     */
+    public MavenSession getSession()
+    {
+        return this.session;
+    }
+
+    /**
+     * @param theSession the session to set
+     */
+    public void setSession( MavenSession theSession )
+    {
+        this.session = theSession;
+    }
+
+    /**
+     * @return the translator
+     */
+    public PathTranslator getTranslator()
+    {
+        return this.translator;
+    }
 }