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. Also, I expect the community to be more familiar with the maven plugin annotations than with plexus annotations. Keep in mind that the original question is actually: can I override/redefine the default implementation for a 'service'? 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-annotations/

[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-annota
> 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

Reply via email to