Class 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.
    Version:
    $Id: EnforceMojo.java 1696663 2015-08-19 20:20:14Z khmarbaise $
    Author:
    Brian Fox
    • Field Detail

      • cache

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

        @Component(role=org.apache.maven.project.path.PathTranslator.class)
        protected org.apache.maven.project.path.PathTranslator translator
        Path Translator needed by the ExpressionEvaluator
      • 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
      • 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 Detail

      • EnforceMojo

        public EnforceMojo()
    • Method Detail

      • 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
      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException
        Entry point to the mojo
        Specified by:
        execute in interface org.apache.maven.plugin.Mojo
        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()
      • setTranslator

        public void setTranslator​(org.apache.maven.project.path.PathTranslator theTranslator)
        Parameters:
        theTranslator - the translator to set
      • 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
      • getTranslator

        public org.apache.maven.project.path.PathTranslator getTranslator()
        Returns:
        the translator