On Feb 24, 2007, at 7:02 PM, Eric Redmond wrote:
Ant and JRuby plugins support both behaviors - creating plugins and
embedding scripts into the POM. For consistency there's no reason
Groovy shouldn't act the same way.
Is there one plugin artifact which handles both for Ant/Ruby? I
thought they were separate artifacts... AFAIK the antrun plugin is
separate from the components which allow ant to be used in a Mojo's
impl.
Perhaps things have changed a bunch since I last dove deeply into
it. Do you have an example of a plugin which is used for both?
I think both are needed... antrun-like plugin and maven-ant-script-
like plugin for Groovy support. The bits I have now are more like
antrun, and as I mentioned before to Jason, that I will look into the
other bit when I have time... which I hope to find some shortly.
There is still the problem of compiled to java vs. using the
GroovyClassLoader bits to resolve, since the current groovy bits for
implementing mojos compiles. ATM I'm not sure if there are any
disadvantages to compiling for mojos, though compiling for the antrun-
like bits isn't really an a good idea IMO.
Anyways, I'm gonna look into both, and where possible share code
between the plugins that provide Groovy support... baby steps ;-)
--jason
Eric
On 2/24/07, Jason Dillon <[EMAIL PROTECTED]> wrote:
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
--
Eric Redmond
http://codehaus.org/~eredmond