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