Class EnforceMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugins.enforcer.EnforceMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable

@Mojo(name="enforce", defaultPhase=VALIDATE, requiresDependencyCollection=TEST, threadSafe=true) public class EnforceMojo extends org.apache.maven.plugin.AbstractMojo implements org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
This goal executes the defined enforcer-rules once per module.
  • Field Details

    • cache

      protected static Hashtable<String,EnforcerRule> cache
      This is a static variable used to persist the cached results across plugin invocations.
    • mojoExecution

      @Parameter(defaultValue="${mojoExecution}", readonly=true, required=true) protected org.apache.maven.plugin.MojoExecution mojoExecution
      MojoExecution needed by the ExpressionEvaluator
    • session

      @Parameter(defaultValue="${session}", readonly=true, required=true) protected org.apache.maven.execution.MavenSession session
      The MavenSession
    • project

      @Parameter(defaultValue="${project}", readonly=true, required=true) protected org.apache.maven.project.MavenProject project
      POM
    • skip

      @Parameter(property="enforcer.skip", defaultValue="false") protected boolean skip
      Flag to easily skip all checks
    • fail

      @Parameter(property="enforcer.fail", defaultValue="true") private boolean fail
      Flag to fail the build if a version check fails.
    • failFast

      @Parameter(property="enforcer.failFast", defaultValue="false") private boolean failFast
      Fail on the first rule that doesn't pass
    • rules

      @Parameter(required=false) private EnforcerRule[] rules
      Array of objects that implement the EnforcerRule interface to execute.
    • commandLineRules

      @Parameter(required=false, property="rules") private String[] commandLineRules
      Array of Strings that matches the EnforcerRules to execute.
    • ignoreCache

      @Parameter(property="enforcer.ignoreCache", defaultValue="false") protected boolean ignoreCache
      Use this flag to disable rule result caching. This will cause all rules to execute on each project even if the rule indicates it can safely be cached.
    • container

      protected org.codehaus.plexus.PlexusContainer container
  • Constructor Details

    • EnforceMojo

      public EnforceMojo()
  • Method Details

    • contextualize

      public void contextualize(org.codehaus.plexus.context.Context context) throws org.codehaus.plexus.context.ContextException
      Specified by:
      contextualize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
      Throws:
      org.codehaus.plexus.context.ContextException
    • havingRules

      private boolean havingRules()
    • execute

      public void execute() throws org.apache.maven.plugin.MojoExecutionException
      Specified by:
      execute in interface org.apache.maven.plugin.Mojo
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • createRulesFromCommandLineOptions

      private EnforcerRule[] createRulesFromCommandLineOptions() throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • shouldExecute

      protected boolean shouldExecute(EnforcerRule rule)
      This method determines if a rule should execute based on the cache
      Parameters:
      rule - the rule to verify
      Returns:
      true if rule should be executed, otherwise false
    • isFail

      public boolean isFail()
      Returns:
      the fail
    • setFail

      public void setFail(boolean theFail)
      Parameters:
      theFail - the fail to set
    • getRules

      public EnforcerRule[] getRules()
      Returns:
      the rules
    • setRules

      public void setRules(EnforcerRule[] theRules)
      Parameters:
      theRules - the rules to set
    • setFailFast

      public void setFailFast(boolean theFailFast)
      Parameters:
      theFailFast - the failFast to set
    • isFailFast

      public boolean isFailFast()
    • createRuleMessage

      protected String createRuleMessage(int i, String currentRule, EnforcerRuleException e)
    • getLevel

      private EnforcerLevel getLevel(EnforcerRule rule)
      Returns the level of the rule, defaults to EnforcerLevel.ERROR for backwards compatibility.
      Parameters:
      rule - might be of type EnforcerRule2.
      Returns:
      level of the rule.
    • isSkip

      public boolean isSkip()
      Returns:
      the skip
    • setSkip

      public void setSkip(boolean theSkip)
      Parameters:
      theSkip - the skip to set
    • getProject

      public org.apache.maven.project.MavenProject getProject()
      Returns:
      the project
    • setProject

      public void setProject(org.apache.maven.project.MavenProject theProject)
      Parameters:
      theProject - the project to set
    • getSession

      public org.apache.maven.execution.MavenSession getSession()
      Returns:
      the session
    • setSession

      public void setSession(org.apache.maven.execution.MavenSession theSession)
      Parameters:
      theSession - the session to set