On 5/21/12 7:03 AM, Olivier Lamy wrote:
2012/5/21 Brett Porter<br...@apache.org>:
On 21/05/2012, at 3:45 AM, Hervé BOUTEMY wrote:
here, the end-user is a plugin developer, then someone who should be able to
create a (Plexus) component when necessary
Yes, I liked @Component too but as soon as you write a component and inject
somponents inside it, you discover the discrepency: the more I work on this,
the more I discover these little discrepencies that lost me for a long time.
Notice that the target is JSR330 @Inject.
Is it too early to use @Inject?
Agree - I didn't think @component (the Javadoc annotation) would carry over to
the plugin annotation. It should just use @Inject if that's feasible.
Yup possible
@Inject
@Named( value = "maven" )
protected ArtifactMetadataSource artifactMetadataSource;
What do we do about:
protected Map<Wagon> wagons;
In the old setup, IIRC we used something like:
@component role=org.apache.maven.wagon.Wagon ...
If we were to use a CDI approach, we'd need a provider to compose the
Map instance, right? That, or we'd need to use Instance<Wagon>, unless
I'm just too much of a newbie to know better...
In any case, what about the other collection-oriented attributes of
@component? Don't we have a hints= attribute, or am I confusing all of
this with the Plexus @Requirement stuff?
But not possible anymore for
@Component( role = ArtifactMetadataSource.class, roleHint = "maven" )
protected Object artifactMetadataSource;
but not sure it's a real problem for this "feature" :-)
But again we use annotations here only for plugin metadata generation
and not at runtime.
Maybe in the future we could handle @Inject at runtime level.
But IMHO classpath scanning at runtime to find various annotations
will have a huge performance impact whereas simply reading the xml
plugin descriptor is fast.
And that's what we need with a tool such Maven fast startup/execution.
my 0.02 euros
- Brett
--
Brett Porter
br...@apache.org
http://brettporter.wordpress.com/
http://au.linkedin.com/in/brettporter
http://twitter.com/brettporter
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org
--
John Casey
Developer, PMC Chair - Apache Maven (http://maven.apache.org)
Blog: http://www.johnofalltrades.name/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org