Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [m2e-users] Unable to Override m2e lifecycle-mapping in Child pom.xml

Have you tried looking at maven's combine attributes? https://blog.sonatype.com/2011/01/maven-how-to-merging-plugin-configuration-in-complex-projects/

On Fri, 3 May 2019 at 10:07, awl <awl@xxxxxxx> wrote:
Hello m2e experts,

it seems that I have run into a long-standing issue (most likely a true
bug) with regards to m2e plugin lifecycle mapping that has first been
reported in full detail by another user on stackoverflow in October 2015
(but seemingly never on eclipse.org) :

There seems to be a bug in merging/creating/evaluating the effective POM
that makes it impossible to override a plugin configuration for the
virtual m2e Maven plugin "org.eclipse.m2e:lifecycle-mapping:1.0.0"
defined in a parent POM (regardless of whether within the
pluginManagement section or the plugin section) by another configuration
with different settings (e.g. "execute" rather than "ignore") in a child
pom.xml:

https://stackoverflow.com/questions/32887618/override-org-eclipse-m2elifecycle-mapping-in-child-pom-xml

I have run into the exact same issue, and as the initial reporter, I am
unable to change the parent POM, as this is controlled by another
(sub-)organisation we are unable to influence.

My analysis uncovered that - rather than overriding the settings as I
would have expected to see - the effective Maven POM contains two
subsequent plugin definition sections for
org.eclipse.m2e:lifecycle-mapping:1.0.0:

(1) the inherited one - in our case from a parent POM's pluginManagement
section, contained in the pluginManagement section of the effective POM,
and stating "ignore", and a few hundred lines further down

(2) the definition from my current child POM's plugin section in the
plugin section, and stating "execute"

but the m2e codebase seems to only evaluate the settings for whatever
org.eclipse.m2e:lifecycle-mapping:1.0.0 section comes first... :-(

Most interestingly, if I change the
org.eclipse.m2e:lifecycle-mapping:1.0.0 plugin definition in my child
pom to include "<inherited>false</inherited>", I even find two instances
of the initial definition from the parent POM's pluginManagement section
in the Effective POM (one in the pluginManagement section and one in the
plugin section, but both containing the configuration from the parent
POM stating "ignore"), and the whole plugin section from the child pom
(stating"execute") is completely ignored, i.e. not present at all in the
effective POM.

Can you please advise how to proceed in order to get a fix for this
asap? Do you want me to create a bug in Eclipse bugzilla (which
categories etc.?), and do I need to provide a reproducer test case?

Many thanks in advance & best regards
Andreas (awl)


_______________________________________________
m2e-users mailing list
m2e-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/m2e-users


--
Sonatype
Matthew Piggott
Java Developer


Back to the top