Reporting
This plugin supports the generation of several reports:
- tldDoc documentation
- a tag library validation report
- a tag reference page for each tld
In order to enable generation of taglib reports you only need to add the following to your pom.xml:
<reporting>
<plugin>
<groupId>io.github.weblegacy</groupId>
<artifactId>taglib-maven-plugin</artifactId>
<version>2.6</version>
</plugin>
</plugins>
</reporting>
See the taglib:validate, taglib:tagreference and taglib:taglibdoc pages for supported configuration parameters.
By default the plugin will look for taglibs in the src/main/resources/META-INF folder (or subfolder), you can change this and other configuration parameters by adding a configuration tag to the plugin element:
<reporting>
<plugin>
<groupId>io.github.weblegacy</groupId>
<artifactId>taglib-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<taglib.src.dir>src/main/resources/META-INF</taglib.src.dir>
</configuration>
</plugin>
</plugins>
</reporting>
Tlddoc
You can configure the plugin in order to produce a jar with taglib documentation that will be installed to the local repository (and deployed to remote ones). In order to do so you need to bind the taglib:taglibdocjar goal to the package lifecycle phase in you pom:
<build>
<plugins>
<plugin>
<groupId>io.github.weblegacy</groupId>
<artifactId>taglib-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<taglibs>
<taglib>
<description>A test tld that contains functions</description>
<shortName>test</shortName>
<uri>testuri</uri>
<outputname>testtaglib</outputname>
<functionClasses>
<functionClass>org.apache.commons.lang.StringUtils</functionClass>
</functionClasses>
<tagdir>src/tagfiles</tagdir>
</taglib>
</taglibs>
</configuration>
<executions>
<execution>
<goals>
<goal>taglibdocjar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Generating tag library descriptors from tag files
According to the jsp 2.0 specifications, you don't need a tld if you bundle your custom tag files in the WEB-INF/tags directory of your web application. However, if you want to package the tag files in order to reuse them across multiple webapps a tld file is required.
The taglib:tldgenerate goal processes one or more directories containing tag files and produces a simple tld. Tag file must be stored in the META-INF/tags directory of the final jar, so the plugin will look for any directory contained in the src/main/resources/META-INF/tags source directory by default.
Generated tld files must be stored in the /META-INF directory and they will inherit the same name as the directory containing the tag files.
<build>
<plugins>
<plugin>
<groupId>io.github.weblegacy</groupId>
<artifactId>taglib-maven-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<goals>
<goal>tldgenerate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>