Le vendredi 3 février 2017, 10:43:42 CET Robert Scholte a écrit :
> What I expect to happen is that Plexus Component Annotations will be fully
> replaced with JSR330 annotations.
> In that case there will be only 1 @Component annotation, i.e.
> org.apache.maven.plugins.annotations.Component, which is fine by me.
We should document that

Notice that plexus @Component is not equivalent to @Inject: Plexus 
@Requirement is equivalent to @Inject

And for Maven Plugin Tools, since it is used to generate plugin.xml, having an 
annotation that matches the XML fragment will help.

The more I think at it, the more I think Maven Plugin Tools should promote 
@Requirement (and we don't care that it is the same name as the @Requirement 
from Plexus, that means @Inject with JSR330)

> Also, I expect the community to be more familiar with the maven plugin
> annotations than with plexus annotations.
I documented how to switch from Plexus javadoc to Plexus annotations: is there 
some doc on switching from Plexus annotations to JSR330?

> Keep in mind that the original question is actually: can I
> override/redefine the default implementation for a 'service'?
that's not this email thread: I suppose you're referring to an other 
discussion

Regards,

Hervé

> The
> discussion about the annotations caused extra confusion but in the end had
> nothing to do with the issue.
> 
> thanks,
> Robert
> 
> On Fri, 03 Feb 2017 10:15:05 +0100, Hervé BOUTEMY <herve.bout...@free.fr>
> 
> wrote:
> > notice:@Component we're using in a Mojo is from Maven Plugin Tools
> > org.apache.maven.plugins.annotations.Component [1]
> > 
> > it's different from @Component from Plexus, which is
> > org.codehaus.plexus.component.annotations.Component [2]
> > 
> > Using the same class name in a different package is probably a bad idea,
> > because it's really confusing, sorry: perhaps we should deprecate
> > @Component
> > in Maven Plugin Tools and create an annotation with another name.
> > Any idea on a new name?
> > 
> > 
> > Then Maven Plugin Tools uses its annotations (@Mojo, @Execute,
> > @Parameter and
> > @Component in org.apache.maven.plugins.annotations) to generate META-INF/
> > maven/plugin.xml plugin descriptor [3] . @Component annotation is more
> > precisely at the source of
> > 
> >       <requirements>
> >       
> >         <requirement>
> >         
> >           <role/>
> >           <role-hint/>
> >           <field-name/>
> >         
> >         </requirement>
> >       
> >       </requirements>
> > 
> > part
> > 
> > Perhaps creating a @Requirement annotation in Maven Plugin Tools to
> > replace
> > @Component would reduce confusion: it would still not make a very visible
> > difference between @Requirement from Maven Plugin Tools and @Requirement
> > from
> > Plexus [2]: but at least, both @Requirement annotations would have the
> > same
> > meaning
> > 
> > WDYT?
> > 
> > Regards,
> > 
> > Hervé
> > 
> > 
> > [1] http://maven.apache.org/plugin-tools/maven-plugin-tools-annotations/
> > index.html#Supported_Annotations
> > 
> > [2]
> > http://codehaus-plexus.github.io/plexus-containers/plexus-component-annota
> > tions/
> > 
> > [3] http://maven.apache.org/ref/3-LATEST/maven-plugin-api/plugin.html
> > 
> > Le mercredi 1 février 2017, 20:01:10 CET Laird Nelson a écrit :
> >> Thanks; yeah, I understand--maybe I don't actually--that there are
> >> certain
> >> Maven plugin annotations that get converted into the XML descriptor.
> >> But
> >> 
> >> what about line 52 and following in the link you sent:
> >>    1. @Component( role = MyComponentExtension.class,
> >>    2. hint = "..." )
> >>    3. private MyComponent component;
> >> 
> >> Shouldn't that be replaced with JSR-330?  Very confused; sorry!
> >> 
> >> Best,
> >> Laird
> >> 
> >> On Wed, Feb 1, 2017 at 11:59 AM Robert Scholte <rfscho...@apache.org>
> >> 
> >> wrote:
> >> > No, plugin annotation are used to generate a plugin descriptor, i.e.
> >> > META-INF/maven/plugin.xml
> >> > At runtime this file is used to initialize the plugin, whereas the
> >> > specified components are injected with sisu/guice
> >> > 
> >> > Robert
> >> > 
> >> > On Wed, 01 Feb 2017 20:52:19 +0100, Laird Nelson <ljnel...@gmail.com>
> >> > 
> >> > wrote:
> >> > > Thanks.  But isn't _that_, in turn, replaced by JSR-330?  This is
> >> 
> >> what
> >> 
> >> > > I'm
> >> > > confused about.
> >> > > 
> >> > > On Wed, Feb 1, 2017 at 11:26 AM Robert Scholte
> >> 
> >> <rfscho...@apache.org>
> >> 
> >> > > wrote:
> >> > >> This is what is used nowadays:
> >> https://maven.apache.org/components/plugin-tools/maven-plugin-tools-annot
> >> a
> >> 
> >> > tions/index.html>
> >> > 
> >> > >> Robert
> >> > >> 
> >> > >> On Wed, 01 Feb 2017 19:21:09 +0100, Laird Nelson
> >> 
> >> <ljnel...@gmail.com>
> >> 
> >> > >> wrote:
> >> > >> > I apologize in advance for the inarticulate nature of this
> >> 
> >> question.
> >> 
> >> > >> > I have this faint sense that Sisu and Guice are at the core of
> >> 
> >> Maven
> >> 
> >> > >> > these
> >> > >> > days, with a Plexus layer on top.
> >> > >> > 
> >> > >> > This makes me think that perhaps I should be using different
> >> > >> 
> >> > >> annotations
> >> > >> 
> >> > >> > in
> >> > >> > my maven plugins than @Component etc.
> >> > >> > 
> >> > >> > Is this (
> >> 
> >> https://maven.apache.org/guides/plugin/guide-java-plugin-development.html
> >> )
> >> 
> >> > >> > still the official guide for writing Maven plugins?  If I wanted
> >> 
> >> to
> >> 
> >> > >> > inject
> >> > >> > some named Plexus component, is there some guide showing how to
> >> 
> >> do
> >> 
> >> > >> that?
> >> > >> 
> >> > >> > Thanks,
> >> > >> > Best,
> >> > >> > Laird
> >> 
> >> ---------------------------------------------------------------------
> >> 
> >> > >> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> >> > >> For additional commands, e-mail: users-h...@maven.apache.org
> >> > 
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> >> > For additional commands, e-mail: users-h...@maven.apache.org
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> > For additional commands, e-mail: users-h...@maven.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org



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

Reply via email to