extensions vs plugins

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

extensions vs plugins

Delany
Hi,

Can someone explain the <extensions> tag found in plugins?
https://maven.apache.org/guides/mini/guide-using-extensions.html

It seems like instead of being a plugin that provides lifecycle
enhancements using this tag, a lot of plugins should rather be extensions,
that can optionally accept configuration on a per project basis.

Take the toolchains plugins. How many people actually build to more than
one JDK in the same reactor run? If I ever need to do that, I'll switch a
profile/property.
I only need the toolchain.xml parsed and a JDK set for all reactor plugins
once. Then I can use the
https://maven.apache.org/enforcer/enforcer-rules/requireJavaVersion.html to
evaluate that JDK, and that will be the end of it.

Instead the toolchains plugin is not thread-safe, so I get a whopping 13
WARNING log lines for every one of my 528 projects. The requireJavaVersion
rule is now useless. The toolchains.xml file cannot be optional
https://issues.apache.org/jira/browse/MTOOLCHAINS-29
And to top it off, the toolchains plugin doesn't verify that the <jdk> is
actually a JDK and not a JRE. So the compiler will fail to find javac,
issue a warning, and fallback to the system javac. There's no way for me to
protect against this.

Thanks,