Class CheckSignatureMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

    @Mojo(name="check",
          defaultPhase=PROCESS_TEST_CLASSES,
          requiresDependencyResolution=TEST,
          threadSafe=true)
    public class CheckSignatureMojo
    extends org.apache.maven.plugin.AbstractMojo
    Checks the classes compiled by this module.
    Author:
    Kohsuke Kawaguchi
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String[] annotations
      Annotation names to consider to ignore annotated methods, classes or fields.
      protected org.apache.maven.artifact.factory.ArtifactFactory artifactFactory  
      protected boolean checkTestClasses
      Should test classes be checked.
      protected boolean failOnError
      Should signature check failures throw an error?
      protected boolean ignoreDependencies
      Should dependencies be ignored.
      protected java.lang.String[] ignores
      Class names to ignore signatures for (wildcards accepted).
      protected org.apache.maven.artifact.repository.ArtifactRepository localRepository  
      protected java.io.File outputDirectory
      The directory for compiled classes.
      protected org.apache.maven.project.MavenProject project  
      protected org.apache.maven.artifact.resolver.ArtifactResolver resolver  
      protected Signature signature
      Signature module to use.
      protected boolean skip
      Should signature checking be skipped?
      protected java.io.File testOutputDirectory
      The directory for compiled test classes.
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void execute()  
      void setSignature​(java.lang.String signatureId)  
      • Methods inherited from class org.apache.maven.plugin.AbstractMojo

        getLog, getPluginContext, setLog, setPluginContext
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • outputDirectory

        @Parameter(defaultValue="${project.build.outputDirectory}",
                   required=true,
                   readonly=true)
        protected java.io.File outputDirectory
        The directory for compiled classes.
      • testOutputDirectory

        @Parameter(defaultValue="${project.build.testOutputDirectory}",
                   required=true,
                   readonly=true)
        protected java.io.File testOutputDirectory
        The directory for compiled test classes.
        Since:
        1.19
      • checkTestClasses

        @Parameter(property="animal.sniffer.checkTestClasses",
                   defaultValue="false")
        protected boolean checkTestClasses
        Should test classes be checked.
        Since:
        1.19
      • signature

        @Parameter(required=true,
                   property="animal.sniffer.signature")
        protected Signature signature
        Signature module to use.
      • ignores

        @Parameter
        protected java.lang.String[] ignores
        Class names to ignore signatures for (wildcards accepted).
      • annotations

        @Parameter
        protected java.lang.String[] annotations
        Annotation names to consider to ignore annotated methods, classes or fields.

        By default 'org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement' and 'org.jvnet.animal_sniffer.IgnoreJRERequirement' are used.

        See Also:
        SignatureChecker.ANNOTATION_FQN, SignatureChecker.PREVIOUS_ANNOTATION_FQN
      • ignoreDependencies

        @Parameter(defaultValue="true")
        protected boolean ignoreDependencies
        Should dependencies be ignored.
      • skip

        @Parameter(defaultValue="false",
                   property="animal.sniffer.skip")
        protected boolean skip
        Should signature checking be skipped?
      • failOnError

        @Parameter(defaultValue="true",
                   property="animal.sniffer.failOnError")
        protected boolean failOnError
        Should signature check failures throw an error?
      • resolver

        @Component
        protected org.apache.maven.artifact.resolver.ArtifactResolver resolver
      • project

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

        @Parameter(defaultValue="${localRepository}",
                   readonly=true)
        protected org.apache.maven.artifact.repository.ArtifactRepository localRepository
      • artifactFactory

        @Component
        protected org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
    • Constructor Detail

      • CheckSignatureMojo

        public CheckSignatureMojo()
    • Method Detail

      • setSignature

        public void setSignature​(java.lang.String signatureId)
        Parameters:
        signatureId - A fully-qualified path to a signature jar. This allows users to set a signature for command-line invocations, such as:

        mvn org.codehaus.mojo:animal-sniffer-maven-plugin:1.15:check -Dsignature=org.codehaus.mojo.signature:java17:1.0

      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException,
                            org.apache.maven.plugin.MojoFailureException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
        org.apache.maven.plugin.MojoFailureException