On 22/05/2012, at 6:37 AM, Hervé BOUTEMY wrote:

> I understand the point
> but I don't think reworking javadoc tags too much now is a good idea: javadoc 
> tags are not easy to check when using them
> instead, it is important to carefully choose java 5 annotations, which are 
> checked at compile time, with IDE completion when writing source

I absolutely agree on this - sorry I didn't make that clear.

> 
> @Parameter( defaultValue = "${project}", readonly = true ) is ok for me
> 
> creating a new annotation just to avoid readonly doesn't deserve it IMHO

I don't think that's very clear, as it still implies a project is a "parameter" 
when it is really a "special" type of injection. And then you have a "default" 
value which implies you can customise it, and a readonly attribute that says 
you can't :) It has bothered me a while - we shouldn't ask the plugin developer 
to tell us something (readonly) that we can already infer.

Maybe time to consolidate, and align the names at the same time, while still 
spitting out a compatible plugin.xml for current Maven versions?

@javax.inject.Inject
- use underlying DI framework
- replaces @component
- make sure this works as expected for at least MavenSession, which gives us 
access to all the old parameter expressions (project, session, settings, etc.)
- use @Provider for collections

@Configuration( defaultValue, required )
- replaces parameter to construct the fields needed for <configuration> in the 
POM.
- use @Named for alias
- could even replace required with some form of @NotNull/@Nullable 
(http://code.google.com/p/google-guice/wiki/UseNullable, or JSR 303). 
- If you're already using ASM you can probably also pull defaultValue out of an 
initial assignment instead

deprecated, description, since, etc. were already addressed in the earlier 
thread.

Olivier, I know you already have this working with the current annos... would 
this fit or am I way off base? :)

- 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

Reply via email to