On Feb 24, 2007, at 6:18 PM, Jason van Zyl wrote:
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.
It's not. I'm not a fan of BSF and never used it in Plexus for
scripting.
I don't really care for it myself... though its handy in some cases
when you want to expose user's a choice of language to eval a simple
snippet of code. But its far to limiting in how one can interact
with the underlying scripting engine, and thus I don't really use it.
This is *not* for writing mojos, but for allowing groovy Scripts
to be run inside of Maven.
So like that Ant Run plugin essentially.
Yes.
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.
You'll welcome to Plexus access if you want to push any groovy bits
into the sandbox if you've improved it. The Groovy Plexus is not
update-to-date and not quite up to snuff.
I will revisit my work and what exists there today and see if any of
my changes would provide better support... its been, um... at least a
year or more since I worked on my Groovy factory component for Plexus.
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).
Fair enough, but the plumbing could still all be the same I would
imagine.
Yes, they could share some of the same basic code, though... one big
difference between this plugin (and the factory bits I did before)
and the bits to use Groovy to build mojos that exists now is that the
later compiles to Java code, where this plugin simply executes the
script bodies using Groovy's API (ie. GroovyClassLoader, etc).
Anyways... I've become addicted to Groovy these days, so I plan to
work on getting Groovy support in Maven settled down and polished.
Part of that is moving the bits I have now out of Geronimo and into
Mojo.
I'll ping you later about the Plexus Groovy stuff when I have some
time to look into that more. I do eventually want to get that
working well enough so that I could stop writing plugins in Java ;-)
Closures, antbuilder, gstrings and all those groovy-jdk methods are
soooo helpful for mojo-like tasks ;-)
Thanks,
--jason