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