Maven Plugin Tools

The Maven Plugin Tools contains the necessary tools to generate repetitive content such as descriptor, help, and documentation.

maven-plugin-plugin plugin-tools-api plugin-tools-javadoc plugin-tools-java plugin-annotations plugin-tools-annotations plugin-tools-beanshell maven-script-beanshell plugin-tools-ant maven-script-ant plugin-tools-model plugin-tools-generators maven-script maven-plugin-api qdox asm Doxia Beanshell Ant

Module Overview
maven-plugin-plugin Create a Maven plugin descriptor for any mojos found in the source tree, generate reports, create help goal.
maven-plugin-report-plugin The Plugin Report Plugin is used to create reports about the plugin being built.
maven-plugin-tools-generators Generators (XML descriptor, help, documentation), used by maven-plugin-plugin to generate content from descriptor extracted from sources.
maven-plugin-tools-api Extractor API, used by maven-plugin-plugin to extract Mojo information.
  maven-plugin-tools-java Extractor for plugins written in Java annotated with Mojo Javadoc Tags.
    maven-plugin-tools-javadoc Provides doclets to support Mojo Javadoc Tags in the Javadoc Tool.
  maven-plugin-tools-annotations Extractor for plugins written in Java with Java annotations.
    maven-plugin-annotations Provides the Java annotations to use in Mojos.
maven-script Maven Script Mojo Support lets developer write Maven plugins/goals with scripting languages instead of compiled Java.
  maven-plugin-tools-beanshell Extractor for plugins written in Beanshell.
  maven-script-beanshell Maven Beanshell Mojo Support, ie write Maven plugins with Beanshell scripts.
  maven-plugin-tools-ant Extractor for plugins written in Ant.
  maven-script-ant Maven Ant Mojo Support, ie write Maven plugins with Ant script.
  maven-plugin-tools-model Plugin Metadata Model for script-based plugins.

Plugin Descriptors

The plugin descriptor is first being generated in memory finally containing some values in HTML format before being persisted into three different XML files. The formats differ in

  • whether they contain all elements or just a limited set of elements defined by the Plugin Descriptor Spec
  • whether descriptive elements contain HTML or plain text values
  • whether they are packaged in the resulting JAR or not
Javadoc tags are in general being resolved and replaced by their XHTML value before they end up in the according plugin descriptor attributes description and deprecated. Also javadoc code links via {@link} or @see are replaced by links to the according Javadoc pages if configured accordingly. Plaintext is afterwards being generated out of the XHTML (where most XHTML element are just stripped and links are emitted inside angle brackets).
File name Allows HTML Limited Elements Contained in JAR
plugin.xml no no yes
plugin-help.xml no yes yes
plugin-enhanced.xml no yes no (volatile file)

See Also