kwin commented on code in PR #117:
URL:
https://github.com/apache/maven-plugin-tools/pull/117#discussion_r1001438948
##########
maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/MojoAnnotationsScanner.java:
##########
@@ -37,13 +37,21 @@
{
String ROLE = MojoAnnotationsScanner.class.getName();
+ String V4_API_PLUGIN_PACKAGE = "org.apache.maven.api.plugin";
Review Comment:
> the annotations as the api for plugin authors
Agree, when they use the m-plugin-plugin for building their plugin (which is
likely but not a must).
Still mixing runtime API and build time API in the same artifact is
confusing to me.
> while the descriptor is kept an implementation detail (which is good imho
as it inherit plexus classes which should be hidden).
Hmm, let us call it SPI at least as it defines the contract between Maven
and its Plugins.
While I agree with most of your statements I still don't understand why
those annotations need to be part of Maven rather than part of the (anyhow
used) m-plugin tools. They are exclusively used there!
Also they inflate/pollute the Maven classpath for no reason as they are
`RetentionPolicy.CLASS`. Mixing those different levels of API in a single
artifact is not a very good design IMHO.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]