You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Olivier Lamy <ol...@apache.org> on 2012/04/27 16:36:57 UTC

1.5 Annotations for Mojo

Hi,
I'd like to work on 1.5 Annotations for Mojos.
Hervé started documentation here:
https://cwiki.apache.org/confluence/display/MAVEN/Java+5+Annotations+for+Plugins

The Stephen's idea for named without Mojo prefix looks fine (at least
for me). But I would prefer to not implement (yet) the other idea with
 synthetic bridging classes.

I can start the job next week (probably in a branch).

Comments ?

Thanks,
-- 
Olivier Lamy
Talend: http://coders.talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: 1.5 Annotations for Mojo

Posted by Jesse Glick <je...@oracle.com>.
On 04/27/2012 01:34 PM, Ansgar Konermann wrote:
> JFrog (the Artifactory guys) has already published a set of Java
> 1.5 annotations for mojo development, including a m-plugin-p extension to
> use them.

Beware that (acc. to their documentation) the tool relies on APT, which is deprecated in JDK 6 and scheduled to be dropped from JDK 8.

New code should use JSR 269. A processor can perform semantic validation, and can also actually generate plugin.xml; if registered in META-INF/services no special mojo or 
compiler plugin configuration is needed to activate this. Generating synthetic classes is also quite easy - no need to deal with bytecode, just Java source.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: 1.5 Annotations for Mojo

Posted by Aldrin Leal <al...@leal.eng.br>.
Err, I did upload to central (the 1.4.1 release).
http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22br.com.ingenieux.maven.annomojo%22


I wish those could be resolved. JFrog's solution is great and it works like
a charm.

--
-- Aldrin Leal, <al...@leal.eng.br> / http://meadiciona.com/aldrinleal


On Fri, Apr 27, 2012 at 2:34 PM, Ansgar Konermann <
ansgar.konermann@googlemail.com> wrote:

> Hi there,
>
> I think JFrog (the Artifactory guys) has already published a set of Java
> 1.5 annotations for mojo development, including a m-plugin-p extension to
> use them. The source code is available on github [1], but unfortunately the
> artifacts are not available in Central (there is a ticket in JFrog's JIRA
> [2] regarding this problem). They even have reasonably complete
> documentation [3] plus it's all under ASL 2.0 AFAICS.
>
> From my own experience, these annotations work quite well.
>
> Shouldn't they be incorporated or used as a starting point?
>
> I guess starting from JFrog's annotations will not only save a considerable
> amount of development time, but also increase acceptance with those plugin
> developers which already used the existing JFrog annotations in the past.
>
> Best regards
>
> Ansgar
>
> [1] https://github.com/JFrogDev/maven-anno-mojo
>
> [2] https://issues.jfrog.org/jira/browse/ANMJ-18
>
> [3] http://wiki.jfrog.org/confluence/display/OSS/Maven+Anno+Mojo
>
> Am 27.04.2012 16:37 schrieb "Olivier Lamy" <ol...@apache.org>:
>
> > Hi,
> > I'd like to work on 1.5 Annotations for Mojos.
> > Hervé started documentation here:
> >
> >
> https://cwiki.apache.org/confluence/display/MAVEN/Java+5+Annotations+for+Plugins
> >
> > The Stephen's idea for named without Mojo prefix looks fine (at least
> > for me). But I would prefer to not implement (yet) the other idea with
> >  synthetic bridging classes.
> >
> > I can start the job next week (probably in a branch).
> >
> > Comments ?
> >
> > Thanks,
> > --
> > Olivier Lamy
> > Talend: http://coders.talend.com
> > http://twitter.com/olamy | http://linkedin.com/in/olamy
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> >
> >
>

Re: 1.5 Annotations for Mojo

Posted by Ansgar Konermann <an...@googlemail.com>.
Hi there,

I think JFrog (the Artifactory guys) has already published a set of Java
1.5 annotations for mojo development, including a m-plugin-p extension to
use them. The source code is available on github [1], but unfortunately the
artifacts are not available in Central (there is a ticket in JFrog's JIRA
[2] regarding this problem). They even have reasonably complete
documentation [3] plus it's all under ASL 2.0 AFAICS.

>From my own experience, these annotations work quite well.

Shouldn't they be incorporated or used as a starting point?

I guess starting from JFrog's annotations will not only save a considerable
amount of development time, but also increase acceptance with those plugin
developers which already used the existing JFrog annotations in the past.

Best regards

Ansgar

[1] https://github.com/JFrogDev/maven-anno-mojo

[2] https://issues.jfrog.org/jira/browse/ANMJ-18

[3] http://wiki.jfrog.org/confluence/display/OSS/Maven+Anno+Mojo

Am 27.04.2012 16:37 schrieb "Olivier Lamy" <ol...@apache.org>:

> Hi,
> I'd like to work on 1.5 Annotations for Mojos.
> Hervé started documentation here:
>
> https://cwiki.apache.org/confluence/display/MAVEN/Java+5+Annotations+for+Plugins
>
> The Stephen's idea for named without Mojo prefix looks fine (at least
> for me). But I would prefer to not implement (yet) the other idea with
>  synthetic bridging classes.
>
> I can start the job next week (probably in a branch).
>
> Comments ?
>
> Thanks,
> --
> Olivier Lamy
> Talend: http://coders.talend.com
> http://twitter.com/olamy | http://linkedin.com/in/olamy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

Re: 1.5 Annotations for Mojo

Posted by Jason van Zyl <ja...@tesla.io>.
On Apr 27, 2012, at 9:55 PM, Hervé BOUTEMY wrote:

> yes, +1 for the first step - ie annotations for plugin.xml generation

Yes, this is the wisest, most compatible way to go. It can easily be done using ASM to process the annotations and produce the plugin.xml. Works fine. This also allows people who want to create different development patterns for plugins remain compatible. All you require in the end are instructions that are encoded in a plugin.xml.

> but -0 for discovery with runtime annotation instead of plugin.xml
> 

-1

This will cause massive compatibility problems. Roughly 30% of the user base has migrated to Maven 3.x which means the vast majority of users will not be able to use plugins that require classpath scanning and processing.

Anything that produces a plugin.xml by whatever means can be made to work in Maven 2.x and 3.x.

> and yes, I took time to document (end reference JFrog's implementation) but 
> don't have really time to code it even if the feature would be a great benefit 
> IMHO
> 
> thenks for your work on that: I'll review and help
> 
> Regards,
> 
> Hervé
> 
> Le vendredi 27 avril 2012 20:01:34 Olivier Lamy a écrit :
>> I would prefer not be core change dependent. Some folks are still using 2.x
>> .
>> And 'classloader scanning' at runtime level will have IHMO a performance
>> cost !
>> So I would prefer plugin metadata generation (the trick will be having the
>> mix of doclet and annotations : perso I'm not sure it's a good idea to have
>> both ? )
>> 
>> --
>> Olivier
>> Send from a VT100 phone console
>> 
>> Le 27 avr. 2012 18:26, "Robert Scholte" <ap...@sourcegrounds.com> a écrit :
>>> +100
>>> 
>>> I've had a talk about this with Simone this month.
>>> He'd done some investigation already.
>>> I think there are two separate steps to be taken.
>>> 1. Generate the plugin.xml based on both annotations and doclets
>>> 2. Extend Maven Core to understand Mojo Annotations as well
>>> 
>>> The first one would already be a huge improvement for all mojo-devs.
>>> 
>>> -Robert
>>> 
>>> Op Fri, 27 Apr 2012 16:36:57 +0200 schreef Olivier Lamy
>>> <olamy@apache.org
>>> 
>>> Hi,
>>> 
>>>> I'd like to work on 1.5 Annotations for Mojos.
>>>> Hervé started documentation here:
>>>> https://cwiki.apache.org/**confluence/display/MAVEN/Java+**
>>>> 5+Annotations+for+Plugins<https://cwiki.apache.org/confluence/display/
>>>> MAVEN/Java+5+Annotations+for+Plugins>
>>>> 
>>>> The Stephen's idea for named without Mojo prefix looks fine (at least
>>>> for me). But I would prefer to not implement (yet) the other idea with
>>>> 
>>>> synthetic bridging classes.
>>>> 
>>>> I can start the job next week (probably in a branch).
>>>> 
>>>> Comments ?
>>>> 
>>>> Thanks,
>>> 
>>> ------------------------------**------------------------------**--------
>>> -
>>> To unsubscribe, e-mail:
>>> dev-unsubscribe@maven.apache.**org<de...@maven.apache.org>
>>> For additional commands, e-mail: dev-help@maven.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
http://twitter.com/jvanzyl
---------------------------------------------------------

First, the taking in of scattered particulars under one Idea,
so that everyone understands what is being talked about ... Second,
the separation of the Idea into parts, by dividing it at the joints,
as nature directs, not breaking any limb in half as a bad carver might.

  -- Plato, Phaedrus (Notes on the Synthesis of Form by C. Alexander)





Re: 1.5 Annotations for Mojo

Posted by Hervé BOUTEMY <he...@free.fr>.
yes, +1 for the first step - ie annotations for plugin.xml generation
but -0 for discovery with runtime annotation instead of plugin.xml

and yes, I took time to document (end reference JFrog's implementation) but 
don't have really time to code it even if the feature would be a great benefit 
IMHO

thenks for your work on that: I'll review and help

Regards,

Hervé

Le vendredi 27 avril 2012 20:01:34 Olivier Lamy a écrit :
> I would prefer not be core change dependent. Some folks are still using 2.x
> .
> And 'classloader scanning' at runtime level will have IHMO a performance
> cost !
> So I would prefer plugin metadata generation (the trick will be having the
> mix of doclet and annotations : perso I'm not sure it's a good idea to have
> both ? )
> 
> --
> Olivier
> Send from a VT100 phone console
> 
> Le 27 avr. 2012 18:26, "Robert Scholte" <ap...@sourcegrounds.com> a écrit :
> > +100
> > 
> > I've had a talk about this with Simone this month.
> > He'd done some investigation already.
> > I think there are two separate steps to be taken.
> > 1. Generate the plugin.xml based on both annotations and doclets
> > 2. Extend Maven Core to understand Mojo Annotations as well
> > 
> > The first one would already be a huge improvement for all mojo-devs.
> > 
> > -Robert
> > 
> > Op Fri, 27 Apr 2012 16:36:57 +0200 schreef Olivier Lamy
> > <olamy@apache.org
> > 
> >  Hi,
> >  
> >> I'd like to work on 1.5 Annotations for Mojos.
> >> Hervé started documentation here:
> >> https://cwiki.apache.org/**confluence/display/MAVEN/Java+**
> >> 5+Annotations+for+Plugins<https://cwiki.apache.org/confluence/display/
> >> MAVEN/Java+5+Annotations+for+Plugins>
> >> 
> >> The Stephen's idea for named without Mojo prefix looks fine (at least
> >> for me). But I would prefer to not implement (yet) the other idea with
> >> 
> >>  synthetic bridging classes.
> >> 
> >> I can start the job next week (probably in a branch).
> >> 
> >> Comments ?
> >> 
> >> Thanks,
> > 
> > ------------------------------**------------------------------**--------
> > -
> > To unsubscribe, e-mail:
> > dev-unsubscribe@maven.apache.**org<de...@maven.apache.org>
> > For additional commands, e-mail: dev-help@maven.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: 1.5 Annotations for Mojo

Posted by Chris Graham <ch...@gmail.com>.
Some of us are still on 2.0.x.

I for one, don't see the need to introduce (the possibility of) annotation
hell into what is an already well understood mechanism.

-Chris

On Sat, Apr 28, 2012 at 4:01 AM, Olivier Lamy <ol...@apache.org> wrote:

> I would prefer not be core change dependent. Some folks are still using 2.x
>

Re: 1.5 Annotations for Mojo

Posted by Olivier Lamy <ol...@apache.org>.
I would prefer not be core change dependent. Some folks are still using 2.x
.
And 'classloader scanning' at runtime level will have IHMO a performance
cost !
So I would prefer plugin metadata generation (the trick will be having the
mix of doclet and annotations : perso I'm not sure it's a good idea to have
both ? )

--
Olivier
Send from a VT100 phone console
Le 27 avr. 2012 18:26, "Robert Scholte" <ap...@sourcegrounds.com> a écrit :

> +100
>
> I've had a talk about this with Simone this month.
> He'd done some investigation already.
> I think there are two separate steps to be taken.
> 1. Generate the plugin.xml based on both annotations and doclets
> 2. Extend Maven Core to understand Mojo Annotations as well
>
> The first one would already be a huge improvement for all mojo-devs.
>
> -Robert
>
> Op Fri, 27 Apr 2012 16:36:57 +0200 schreef Olivier Lamy <olamy@apache.org
> >:
>
>  Hi,
>> I'd like to work on 1.5 Annotations for Mojos.
>> Hervé started documentation here:
>> https://cwiki.apache.org/**confluence/display/MAVEN/Java+**
>> 5+Annotations+for+Plugins<https://cwiki.apache.org/confluence/display/MAVEN/Java+5+Annotations+for+Plugins>
>>
>> The Stephen's idea for named without Mojo prefix looks fine (at least
>> for me). But I would prefer to not implement (yet) the other idea with
>>  synthetic bridging classes.
>>
>> I can start the job next week (probably in a branch).
>>
>> Comments ?
>>
>> Thanks,
>>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.**org<de...@maven.apache.org>
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

Re: 1.5 Annotations for Mojo

Posted by Manfred Moser <ma...@mosabuam.com>.
We have implemented a Java 5 annotation for configuration parameters
(PullParameter) in the Android Maven Plugin that might be worth looking
at. We are still phasing them out across the system but a good place to
look at the usage is the ProguardMojo

https://github.com/jayway/maven-android-plugin/blob/master/src/main/java/com/jayway/maven/plugins/android/phase04processclasses/ProguardMojo.java

Manfred

On Fri, April 27, 2012 9:26 am, Robert Scholte wrote:
> +100
>
> I've had a talk about this with Simone this month.
> He'd done some investigation already.
> I think there are two separate steps to be taken.
> 1. Generate the plugin.xml based on both annotations and doclets
> 2. Extend Maven Core to understand Mojo Annotations as well
>
> The first one would already be a huge improvement for all mojo-devs.
>
> -Robert
>
> Op Fri, 27 Apr 2012 16:36:57 +0200 schreef Olivier Lamy
> <ol...@apache.org>:
>
>> Hi,
>> I'd like to work on 1.5 Annotations for Mojos.
>> Hervé started documentation here:
>> https://cwiki.apache.org/confluence/display/MAVEN/Java+5+Annotations+for+Plugins
>>
>> The Stephen's idea for named without Mojo prefix looks fine (at least
>> for me). But I would prefer to not implement (yet) the other idea with
>>  synthetic bridging classes.
>>
>> I can start the job next week (probably in a branch).
>>
>> Comments ?
>>
>> Thanks,
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: 1.5 Annotations for Mojo

Posted by Robert Scholte <ap...@sourcegrounds.com>.
+100

I've had a talk about this with Simone this month.
He'd done some investigation already.
I think there are two separate steps to be taken.
1. Generate the plugin.xml based on both annotations and doclets
2. Extend Maven Core to understand Mojo Annotations as well

The first one would already be a huge improvement for all mojo-devs.

-Robert

Op Fri, 27 Apr 2012 16:36:57 +0200 schreef Olivier Lamy <ol...@apache.org>:

> Hi,
> I'd like to work on 1.5 Annotations for Mojos.
> Hervé started documentation here:
> https://cwiki.apache.org/confluence/display/MAVEN/Java+5+Annotations+for+Plugins
>
> The Stephen's idea for named without Mojo prefix looks fine (at least
> for me). But I would prefer to not implement (yet) the other idea with
>  synthetic bridging classes.
>
> I can start the job next week (probably in a branch).
>
> Comments ?
>
> Thanks,

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org