Context
Maven plugins are described in META-INF/maven/plugin.xml descriptor, which is in general generated by maven-plugin-plugin. Information for the generator are written as javadoc annotations in java source: see maven-plugin-tools-java.
Using java 5 annotations instead of javadoc ones have multiple benefits:
- compile-time checks for plugin metadata, with enums for some annotations
- inheritance support
- annotations are supported in most IDEs, providing code-completion and syntactic checks
Existing implementations
Multiple implementations of such annotations exist:
- JFrog's Maven Anno Mojo: see the wiki or annotations source
- Maven MNG-2521, with its source branch and its annotations
Proposal
WIP
| WIP | [Java 5 Annotations for Plugins] | 2.1.x | [MNG-2521|http://jira.codehaus.org/browse/MNG-2521] | [MNG-2521 Branch |https://svn.apache.org/repos/asf/maven/components/branches/MNG-2521] | Eric Redmond, Kenney Westerhof, Jason van Zyl |