THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- 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
see plexus-component-annotations for an example of such a work done on Plexus.
Existing implementations
Multiple implementations of such annotations exist:
- JFrog's Maven Anno Mojo: see the wiki or annotations source,
the idea is having as much annotations as actual javadoc annotations, each with only 1 attribute - Maven MNG-2521, with its proposal from 2007 providing a source branch and its annotations,
the idea is having only 4 annotations each with multiple attributes: Goal + Execute and Parameter + Component
Proposal
Annotations:
- 4 annotations: Mojo, MojoExecute, MojoParameter and MojoComponent
- java package: org.apache.maven.tools.plugin.annotations (consistent with maven-plugin-tools-api
- component: maven-plugin-tools-annotations in plugin-tools
Extractor: addition to maven-plugin-tools-javaWIP