Here is a tiny example of the plugin actually doing something useful:

https://svn.apache.org/repos/asf/geronimo/sandbox/hokeypokey/ trunk/pom.xml

A tiny bit of logic here is used to prevent extra downloading/ unpacking. To make this into an official Maven plugin would be overkill. And you can't really do this with antrun, because there is no easy way to short-circuit the bits using <get> to fetch the zip here. Ant's way of doing this is to use linked targets with if/ unless attributes, which AFAIK can't be used in antrun. And personally, I'd rather see this little bit of script, than linked targets anyways, never did like that mess.

IMO, this plugin helps folks (er me really) to solve some problems, and when/if I find they are generally useful outside of the scope I use them in, then I start to think about turning them into real Maven plugins...

--jason


On Feb 24, 2007, at 6:07 PM, Jason Dillon wrote:

On Feb 24, 2007, at 5:54 PM, Jason van Zyl wrote:
On 24 Feb 07, at 8:22 PM 24 Feb 07, Jason Dillon wrote:

Folks, I'm thinking about moving the plugin-support module out of Genesis and into the Mojo project. A few plugins I maintain there already use some parts of this, but the classes were simply duplicated.

I'm also planning on updating the groovy-maven-plugin at the Mojo project to have the same features as the script-maven-plugin from Genesis, and that plugin uses a quite a bit of the support fluff in plugin-support. I've talked to Jeff already about this and he seems fine with it.

I would much rather see the Groovy stuff work the same way as the Beanshell and Ruby mojos. What is the script-maven plugin exactly? Some BSF thing?

The script-maven-plugin is really just an advanced groovy-maven- plugin which I whipped up to support getting better scripting into Maven, which we now use extensively in the TCK harness.

http://geronimo.apache.org/maven/genesis/plugins/script-maven- plugin/index.html

I had planned on adding other scripting-related muck here, though turns out that Groovy was all I needed, so the name is legacy. Its basically a much more configurable/flexible implementation of:

    http://mojo.codehaus.org/groovy-maven-plugin/

AFAIK, BSF-like execution isn't rich enough, unless I re-write the engine to allow customizing the classpath/scriptpath, etc... and even then I'm not sure it will cut it.

This is *not* for writing mojos, but for allowing groovy Scripts to be run inside of Maven. The difference might be a bit subtle, but there are some times when you just need a tiny bit of scripting to solve a problem, and the work to create a Maven plugin, vote/stage/ release it so that it can be used is just not worth the trouble.

 * * *

I still have some of the work I did to make richer Groovy plexus components around too, which is to help make Mojo's with Groovy, but I have not had time to deal with merging my bits into the bits under Mojo's mojo-sandbox/groovy-maven-tools stuff. This stuff is more along the lines of the Beanshell and Ruby mojo support stuff you are refering too... ie. writing Maven plugins with Groovy. But the groovy-maven-plugin (script-maven-plugin in Genesis) are focuses not on building plugins, but allow projects to invoke small Groovy scripts (or bigger ones, as it the case with the Geronimo TCK harness).

--jason


---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to