Fork me on GitHub

animal-sniffer:build

Full name:

org.codehaus.mojo:animal-sniffer-maven-plugin:1.22: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