[prev in list] [next in list] [prev in thread] [next in thread] 

List:       maven-user
Subject:    extensions vs plugins
From:       Delany <delany.middleton () gmail ! com>
Date:       2021-02-18 9:40:57
Message-ID: CAO2uShx3j00EWQhkQ2h3bvDhaNd2BmkmsPn+z=imBT2iT-_cjQ () mail ! gmail ! com
[Download RAW message or body]


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,


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic