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
I only need the toolchain.xml parsed and a JDK set for all reactor plugins
once. Then I can use the
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.