Fork me on GitHub

animal-sniffer:build

Full name:

org.codehaus.mojo:animal-sniffer-maven-plugin:1.16:build

Description:

Generates an API Signature from at least one of: the java runtime, the module dependencies and the module classes.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • The goal is thread-safe and supports parallel builds.

Required Parameters

Name Type Since Description
classesDirectory File 1.3 Where to find this modules classes.
Default value is: ${project.build.outputDirectory}.
outputDirectory File 1.3 Where to put the generated signatures.
Default value is: ${project.build.directory}.
signaturesName String 1.3 The name of the generated signatures.
Default value is: ${project.build.finalName}.

Optional Parameters

Name Type Since Description
classifier String 1.3 The classifier to add to the generated signatures.
excludeClasses String[] 1.3 Classes to exclude from generating signatures of.
excludeDependencies String[] 1.3 A list of artifact patterns to exclude. Patterns can include * as a wildcard match for any whole segment, valid patterns are:
  • groupId:artifactId
  • groupId:artifactId:type
  • groupId:artifactId:type:version
  • groupId:artifactId:type:classifier
  • groupId:artifactId:type:classifier:version

includeClasses String[] 1.3 Classes to generate signatures of.
includeDependencies String[] 1.3 A list of artifact patterns to include. Patterns can include * as a wildcard match for any whole segment, valid patterns are:
  • groupId:artifactId
  • groupId:artifactId:type
  • groupId:artifactId:type:version
  • groupId:artifactId:type:classifier
  • groupId:artifactId:type:classifier:version

includeJavaHome boolean 1.3 Should the signatures from java home be included.
Default value is: true.
User property is: includeJavaHome.
includeModuleClasses boolean 1.3 Should the signatures from this module's classes be included..
Default value is: true.
User property is: includeJavaHome.
javaHome String 1.3 The java home to generate the signatures of, if not specified only the signatures of dependencies will be included. This parameter is overridden by javaHomeClassPath. This parameter overrides jdk and any java home specified by maven-toolchains-plugin.
User property is: javaHome.
javaHomeClassPath File[] 1.3 Use this configuration option only if the automatic boot classpath detection does not work for the specific javaHome or jdk. For example, the automatic boot classpath detection does not work with Sun Java 1.1. This parameter overrides javaHome, jdk and the maven-toolchains-plugin.
jbcpdArtifactId String 1.3 The artifactId of the Java Boot Classpath Detector to use. The plugin's dependencies will be searched for a dependency of type jar with this artifactId and the groupId specified in jbcpdGroupId. The dependency should be a standalone executable jar file which outputs the java boot classpath as a single line separated using File.pathSeparatorChar or else exits with a non-zero return code if it cannot determine the java boot classpath.
Default value is: java-boot-classpath-detector.
jbcpdGroupId String 1.3 The groupId of the Java Boot Classpath Detector to use. The plugin's dependencies will be searched for a dependency of type jar with this groupId and the artifactId specified in jbcpdArtifactId. The dependency should be a standalone executable jar file which outputs the java boot classpath as a single line separated using File.pathSeparatorChar or else exits with a non-zero return code if it cannot determine the java boot classpath.
Default value is: ${plugin.groupId}.
jdk JdkToolchain 1.3 The JDK Toolchain to use. This parameter can be overridden by javaHome or javaHomeClassPath. This parameter overrides any toolchain specified with maven-toolchains-plugin.
skipIfNoJavaHome boolean 1.3 Should no signatures be generated if no java home is available.
Default value is: false.
User property is: skipIfNoJavaHome.

Parameter Details

classesDirectory:

Where to find this modules classes.
  • Type: java.io.File
  • Since: 1.3
  • Required: Yes
  • Default: ${project.build.outputDirectory}

classifier:

The classifier to add to the generated signatures.
  • Type: java.lang.String
  • Since: 1.3
  • Required: No

excludeClasses:

Classes to exclude from generating signatures of.
  • Type: java.lang.String[]
  • Since: 1.3
  • Required: No

excludeDependencies:

A list of artifact patterns to exclude. Patterns can include * as a wildcard match for any whole segment, valid patterns are:
  • groupId:artifactId
  • groupId:artifactId:type
  • groupId:artifactId:type:version
  • groupId:artifactId:type:classifier
  • groupId:artifactId:type:classifier:version
  • Type: java.lang.String[]
  • Since: 1.3
  • Required: No

includeClasses:

Classes to generate signatures of.
  • Type: java.lang.String[]
  • Since: 1.3
  • Required: No

includeDependencies:

A list of artifact patterns to include. Patterns can include * as a wildcard match for any whole segment, valid patterns are:
  • groupId:artifactId
  • groupId:artifactId:type
  • groupId:artifactId:type:version
  • groupId:artifactId:type:classifier
  • groupId:artifactId:type:classifier:version
  • Type: java.lang.String[]
  • Since: 1.3
  • Required: No

includeJavaHome:

Should the signatures from java home be included.
  • Type: boolean
  • Since: 1.3
  • Required: No
  • User Property: includeJavaHome
  • Default: true

includeModuleClasses:

Should the signatures from this module's classes be included..
  • Type: boolean
  • Since: 1.3
  • Required: No
  • User Property: includeJavaHome
  • Default: true

javaHome:

The java home to generate the signatures of, if not specified only the signatures of dependencies will be included. This parameter is overridden by javaHomeClassPath. This parameter overrides jdk and any java home specified by maven-toolchains-plugin.
  • Type: java.lang.String
  • Since: 1.3
  • Required: No
  • User Property: javaHome

javaHomeClassPath:

Use this configuration option only if the automatic boot classpath detection does not work for the specific javaHome or jdk. For example, the automatic boot classpath detection does not work with Sun Java 1.1. This parameter overrides javaHome, jdk and the maven-toolchains-plugin.
  • Type: java.io.File[]
  • Since: 1.3
  • Required: No

jbcpdArtifactId:

The artifactId of the Java Boot Classpath Detector to use. The plugin's dependencies will be searched for a dependency of type jar with this artifactId and the groupId specified in jbcpdGroupId. The dependency should be a standalone executable jar file which outputs the java boot classpath as a single line separated using File.pathSeparatorChar or else exits with a non-zero return code if it cannot determine the java boot classpath.
  • Type: java.lang.String
  • Since: 1.3
  • Required: No
  • Default: java-boot-classpath-detector

jbcpdGroupId:

The groupId of the Java Boot Classpath Detector to use. The plugin's dependencies will be searched for a dependency of type jar with this groupId and the artifactId specified in jbcpdArtifactId. The dependency should be a standalone executable jar file which outputs the java boot classpath as a single line separated using File.pathSeparatorChar or else exits with a non-zero return code if it cannot determine the java boot classpath.
  • Type: java.lang.String
  • Since: 1.3
  • Required: No
  • Default: ${plugin.groupId}

jdk:

The JDK Toolchain to use. This parameter can be overridden by javaHome or javaHomeClassPath. This parameter overrides any toolchain specified with maven-toolchains-plugin.
  • Type: org.codehaus.mojo.animal_sniffer.maven.JdkToolchain
  • Since: 1.3
  • Required: No

outputDirectory:

Where to put the generated signatures.
  • Type: java.io.File
  • Since: 1.3
  • Required: Yes
  • Default: ${project.build.directory}

signaturesName:

The name of the generated signatures.
  • Type: java.lang.String
  • Since: 1.3
  • Required: Yes
  • Default: ${project.build.finalName}

skipIfNoJavaHome:

Should no signatures be generated if no java home is available.
  • Type: boolean
  • Since: 1.3
  • Required: No
  • User Property: skipIfNoJavaHome
  • Default: false