Le sam. 17 nov. 2018 00:10, J. Lewis Muir <jlm...@imca-cat.org> a écrit :

> On Fri, Nov 16, 2018 at 3:35 PM Romain Manni-Bucau
> <rmannibu...@gmail.com> wrote:
> > I didnt find in the code where the hint matches, just saw a chain so
> should
> > work if i didnt miss a later filtering.
>
> Where in the code is that?
>


The profile selector impl


> > That said my naming advise was for
> > the pom content more than the code (to not interpret default property
> tag).
>
> I see.  But if I add a new tag, then the POM wouldn't validate against
> the DTD, right?  That seems like an undesirable path to take, no?
>


Idea is just to split them logically, property.name=yourprefix:xxxx not
technically


> And even if I did change the POM content to have, let's say, an
> advancedProperty element under the XPath
> /project/profiles/profile/activation, what object in the model would
> be created when Maven reads the POM?  It seems to me that it won't
> know how to create an object for this part of the POM in
> MavenXpp3Reader, so I don't understand how it would work.  I would
> need it to be able to create an AdvancedActivationProperty, but I
> don't see a way to make it able to do that.
>
> > > Am I anywhere near understanding what you're suggesting?
> >
> > You can mutate this model, this is all the trick ;)
>
> So, the hack I outlined is what you were thinking?  I don't see how to
> do it any other way.
>
> > > But my problem is getting my activator to be injected instead of the
> > > regular one.  I think that's where the @Priority annotation comes in.
> > > But I think you're suggesting the lifecycle participant approach would
> > > be easier, so I'm trying that now.
> > >
> >
> > Not instead but also. Instead of 3 impl you will get 4.
>
> I see.  I guess I don't know where to hook into the model, then.  I
> can't find anything in the model that implements the is-active
> computation for a Profile or Activation, so I don't see how to hook
> into it other than mutating the model with the hack I previously
> proposed which was to evaluate the MVEL expression and replace the
> ActivationProperty with one with a specially constructed name and
> value that would always evaluate to the just computed result of the
> MVEL expression.
>

Idea was to set an activation which will match true with default impls


> So, in the approach where I have 4 implementations, how do I get Maven
> to use my AdvancedProfileActivator?  I assumed this was done based on
> the Component annotation hint element, and I thought the hint had to
> match the element under the activation element in the POM (e.g.,
> <activation><property>...</property></activation> means the hint for
> Maven's PropertyProfileActivator must be "property", which it is).
> So, for <activation><advancedProperty>...</advancedProperty></activation>,
> the hint for my AdvancedProfileActivator must be "advancedProperty".
> If that's right, then that makes sense to me.  But I still don't know
> how to get Maven to create an instance of AdvancedActivationProperty
> in the model when it reads the POM.
>

If you have plexus plugin it will do



> Sorry to not be understanding things.  Thanks for your help!  I really
> appreciate it!
>
> Lewis
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>

Reply via email to