Greetings,
There was a recent thread on "whether to use ant". It is a long thread
(19+ posts) and became divergent. So rather than bury that post there,
I will raise it here to the top level. Like people in that thread, I
firmly believe that a happy marriage between Maven and Ant is in the
best interest of all.

When maven began it was really intended to be an easy way to share Ant
build scripts. We were all tired of reinventing the wheel. Every time
we started a new Ant project we had to copy in and customize a set of
Ant build scripts.  With every new Ant project, we violated the Don't
Repeat Yourself" principle. Enhancements/bug fixes had to be hand
propagated across projects.
 
Over time, maven became more than this. It added Good Stuff like the
POM (a holistic "recipe" for the project) and dependency management.
It added Bad Stuff, like Jelly. That's all water under the bridge.
 
IMO, maven should emphatically refrain from reinventing the wheel. Ant
is the defacto Java build tool, although it is in no way limited to
Java. Ant already does ~90+% of the individual Tasks required by a
build system. And what it doesn't do is typically provided by others
wishing to either augment Ant's deficiencies (e.g. ant-contrib) or
wishing to have their tools adopted (e.g. axis-ant). Ant is
cross-platform, and is intended as a build tool -- not as a general
scripting language. Ant's original intent was simply to be a "better
make".
 
Maven should concentrate on being the "glue" that holds it all
together -- providing value in reusability, repeatability, and
holistic project management.

To this end, I have written an Antfile Plugin. It extends the AntRun
plugin, and simply allows you to delegate to an Ant buildfile. The
buildfile is rolled into the plugin jar, and then, is unzipped from
that jar into the /target and is run during the build.

One simply extends the AntFile plugin with their own plugin, declaring
the buildfile, pulling config info from the POM and passing them on as
properties to Ant. It's very simple to use.

(BTW: I have built an Axis plugin on top of this, validating it's usage pattern)

I passed my AntRun plugin to John Casey (one of the Maven gurus), and
I hope that The Powers That Be will allow it into the HEAD of the SVN
tree.

Cheers,
-- Chris

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to