jsptld:generate

Full name:

com.squeakysand.jsp:jsptld-maven-plugin:0.6.0:generate

Description:

Processes a set of annotated Java classes and also directories containing tag files (.tag and .tagx files) to generate a Tag Library Descriptor (.tld) file.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • Binds by default to the lifecycle phase: process-sources.

Required Parameters

Name Type Since Description
filename String - The name to use for the generated TLD file.
Default value is: ${project.artifactId}-${project.version}.tld.
outputDirectory File - Where the generated TLD file should be written. The default value is the correct location to have the TLD automatically included in a Jar file in the correct location (as defined by the JSP Specification) by the normal Maven build process.
Default value is: ${project.build.outputDirectory}/META-INF.
shortName String - The namespace for the Tag Library. Used as the content for the <short-name> element in the TLD file.
specificationVersion String - The minimum JSP specification that this Tag Library requires. Used as the value of the version attribute in the <taglib> element in the generated TLD file.
Default value is: 2.1.
tlibVersion String - The version of this Tag Library. Used as the value for the <tlib-version> element in the TLD file.
Default value is: ${project.version}.
workingDirectory File - Directory where temporary files created during the generation process can be written.
Default value is: ${project.build.directory}/tldgenerator.

Optional Parameters

Name Type Since Description
baseUri URI - A base URI namespace to be used when constructing the actual TLD <uri> element. If baseUri is specified but not uri, then the <uri> element in the TLD will have the value ${baseUri}/${shortName}. This is useful when there are multiple executions of this Plugin defined within the same pom.xml and all of the resulting TLDs have common root URIs.
description String - The description of the Tag Library. Used as the content of the <description> element in the TLD file.
Default value is: ${project.description}.
encoding String - Specifies the encoding name of the source files. If not specificed, the encoding value will be the value of the file.encoding system property.

Default value is: ${project.build.sourceEncoding}.
excludePackageNames String - Unconditionally excludes the specified packages and their subpackages from being processed for annotations. Multiple packages can be separated by commas (,), colons (:) or semicolons ( ;).
Example:
<excludePackageNames>*.internal:org.acme.exclude1.*:org.acme.exclude2</excludePackageNames>

excludeTagFiles List - A list of tag file patterns to exclude. Can contain Ant-style wildcards and double wildcards. Patterns are relative to the value of ${tagfilesSourceDirectory}. Default value is [] (ie. exclude none).
includeTagFiles List - A list of tag file patterns to include. Can contain Ant-style wildcards and double wildcards. Patterns are relative to the value of ${tagfilesSourceDirectory}. Default value is ["**\/*.tag","**\/*.tagx"] (ie. include all).
localRepository ArtifactRepository - The local repository where the artifacts are located.
processTagFiles Boolean - Indicates if the generator should look for JSP Tag Files when generating the descriptor.
Default value is: false.
remoteRepositories List - The remote repositories where artifacts are located.
sourcepath String - Specifies the source paths where the subpackages are located. The sourcepath can contain multiple paths by separating them with a colon ( :) or a semi-colon (;).

subpackages String - Specifies the package directory where this plugin will be executed. Multiple packages can be separated by colons (:).
tagfilesSourceDirectory File - Where to find the tag file sources.
Default value is: ${basedir}/src/main/resources/META-INF/tags.
uri URI - The URI namespace for this Tag Library. Used as the value of the <uri> element in the generated TLD file. If a value is provided, then this WILL be the value of the <uri> element in the TLD. If no value is provided, and also no value is provided for the baseUri parameter, then the value of ${project.url} will be used; if ${project.url} has no meaningful value, an exception will be thrown.
validator String - The fully qualified class name of a Tag Library validator class. Used as the value of the <validator> element in the generated TLD file.
verbose boolean - Provides more detailed messages while running.
Default value is: false.

Parameter Details

baseUri:

A base URI namespace to be used when constructing the actual TLD <uri> element. If baseUri is specified but not uri, then the <uri> element in the TLD will have the value ${baseUri}/${shortName}. This is useful when there are multiple executions of this Plugin defined within the same pom.xml and all of the resulting TLDs have common root URIs.
  • Type: java.net.URI
  • Required: No

description:

The description of the Tag Library. Used as the content of the <description> element in the TLD file.
  • Type: java.lang.String
  • Required: No
  • Default: ${project.description}

encoding:

Specifies the encoding name of the source files. If not specificed, the encoding value will be the value of the file.encoding system property.
  • Type: java.lang.String
  • Required: No
  • Expression: ${encoding}
  • Default: ${project.build.sourceEncoding}

excludePackageNames:

Unconditionally excludes the specified packages and their subpackages from being processed for annotations. Multiple packages can be separated by commas (,), colons (:) or semicolons ( ;).
Example:
<excludePackageNames>*.internal:org.acme.exclude1.*:org.acme.exclude2</excludePackageNames>
  • Type: java.lang.String
  • Required: No
  • Expression: ${excludePackageNames}

excludeTagFiles:

A list of tag file patterns to exclude. Can contain Ant-style wildcards and double wildcards. Patterns are relative to the value of ${tagfilesSourceDirectory}. Default value is [] (ie. exclude none).
  • Type: java.util.List
  • Required: No

filename:

The name to use for the generated TLD file.
  • Type: java.lang.String
  • Required: Yes
  • Default: ${project.artifactId}-${project.version}.tld

includeTagFiles:

A list of tag file patterns to include. Can contain Ant-style wildcards and double wildcards. Patterns are relative to the value of ${tagfilesSourceDirectory}. Default value is ["**\/*.tag","**\/*.tagx"] (ie. include all).
  • Type: java.util.List
  • Required: No

localRepository:

The local repository where the artifacts are located.
  • Type: org.apache.maven.artifact.repository.ArtifactRepository
  • Required: No
  • Expression: ${localRepository}

outputDirectory:

Where the generated TLD file should be written. The default value is the correct location to have the TLD automatically included in a Jar file in the correct location (as defined by the JSP Specification) by the normal Maven build process.
  • Type: java.io.File
  • Required: Yes
  • Default: ${project.build.outputDirectory}/META-INF

processTagFiles:

Indicates if the generator should look for JSP Tag Files when generating the descriptor.
  • Type: java.lang.Boolean
  • Required: No
  • Default: false

remoteRepositories:

The remote repositories where artifacts are located.
  • Type: java.util.List
  • Required: No
  • Expression: ${project.remoteArtifactRepositories}

shortName:

The namespace for the Tag Library. Used as the content for the <short-name> element in the TLD file.
  • Type: java.lang.String
  • Required: Yes

sourcepath:

Specifies the source paths where the subpackages are located. The sourcepath can contain multiple paths by separating them with a colon ( :) or a semi-colon (;).
  • Type: java.lang.String
  • Required: No
  • Expression: ${sourcepath}

specificationVersion:

The minimum JSP specification that this Tag Library requires. Used as the value of the version attribute in the <taglib> element in the generated TLD file.
  • Type: java.lang.String
  • Required: Yes
  • Default: 2.1

subpackages:

Specifies the package directory where this plugin will be executed. Multiple packages can be separated by colons (:).
  • Type: java.lang.String
  • Required: No
  • Expression: ${subpackages}

tagfilesSourceDirectory:

Where to find the tag file sources.
  • Type: java.io.File
  • Required: No
  • Default: ${basedir}/src/main/resources/META-INF/tags

tlibVersion:

The version of this Tag Library. Used as the value for the <tlib-version> element in the TLD file.
  • Type: java.lang.String
  • Required: Yes
  • Default: ${project.version}

uri:

The URI namespace for this Tag Library. Used as the value of the <uri> element in the generated TLD file. If a value is provided, then this WILL be the value of the <uri> element in the TLD. If no value is provided, and also no value is provided for the baseUri parameter, then the value of ${project.url} will be used; if ${project.url} has no meaningful value, an exception will be thrown.
  • Type: java.net.URI
  • Required: No

validator:

The fully qualified class name of a Tag Library validator class. Used as the value of the <validator> element in the generated TLD file.
  • Type: java.lang.String
  • Required: No

verbose:

Provides more detailed messages while running.
  • Type: boolean
  • Required: No
  • Expression: ${verbose}
  • Default: false

workingDirectory:

Directory where temporary files created during the generation process can be written.
  • Type: java.io.File
  • Required: Yes
  • Default: ${project.build.directory}/tldgenerator