I think the main problem is that "maven-core" is often rejecting request for providing useful things in the first place.

That leads to all kind of "helper", "util", ... so maybe instead of having a maven-core-plugin, it would better to have a maven-plugin-core module (what of course can for example contain things like AbstractXXXMojo others can extend.

Then one can easily share (and improve) common code but still has the mentioned advantage of individual releases/plugins and flexibility.

Am 15.08.24 um 13:35 schrieb Konrad Windszus:
Hi,
Although I do see the benefits from a Maven Dev perspective for Consumers this 
is worse.
In the past often individual plugin versions suffered from regressions for 
certain edge cases.

Having individual separate plugins allowed consumers to deliberately use an old 
version of one plugin (e.g. maven-resources-plugin) while upgrading all others 
to the latest version available.
One example is maven-resources-plugin which suffered from some regressions in 
the past.

Instead I would rather try to identify the shared code and put it into a 
library (new or existing).
Konrad

On 15. Aug 2024, at 13:13, Tamás Cservenák <ta...@cservenak.net> wrote:

Howdy,

as am going over multiple plugins (as it is time to upgrade parent, some
bugfix, etc), all I see is:
* a LOT of code duplication across plugins (some even have comments like in
plugin X "this should be shared with Y")
* some "forcefully" pushed out "shared" artifact to share them across
* just many too small codebases that needs a LOT of process/work effort for
small gain
* it is all chopped up into relatively small pieces

Hence, we were already discussing this idea on Slack: what if we introduce
maven-core-plugin?

One single plugin that contains some "most common" Mojos?
(nothing new under Sun, this would be the "a la Takari Lifecycle"
situation, where one plugin delivers most common Mojos -- although there
the incentive was build avoidance/incremental build).

For start, we could consider all 'core' plugins (those referenced from
maven like in lifecycle mapping) except:
* m-compiler-p
* m-surefire-p

as they are complex on their own.

WDYT?
Tamas


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to