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

Reply via email to