ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Jackson" <>
Subject Re: suggestion : Ant 1.8 full dist to include a 'scripting lang'
Date Sat, 16 Sep 2006 06:40:49 GMT
On 9/16/06, Jesse Glick <> wrote:
> I was wondering if anyone would bring it up...

Well it took a prod of actually meeting the main users - and
discovering that most of them considered maven as being the 'de-facto'
build tool these days - from chatting to people at the conference,
they mainly mentioned that maven was better as they didn't have to
think about getting started, whereas Ant provided much more
flexibility - in that vein, I think we should concentrate on Ant's

- flexibility (add a scripting language would increase this significantly)

> +1 (is >1 allowed?) for including a scripting language implementation in
> the standard Ant distribution, so that we can rely on it being there. In
> fact I would suggest making Ant 2.0 assume a script as its input, and
> have a compatibility mode for old XML scripts.

Interesting, didn't think of that

> -1 (or <-1 if allowed) on writing our own DSL.

oh come on, it's mainly for fun ;)

> -0 on rewriting existing tasks in the Ant distribution in another
> language. Would just confuse the code base. Focus on users of Ant, not
> developers of Ant. Of course users should be able to write tasks in a
> scripting language if they prefer. Ideally this would be the same thing
> as just writing a plain old library file.

I understand, but my point is that some of the tasks we currently have
are less than optimal in both amount of code and in terms of
maintainability.  The more tasks we can specify in scripts/macro's,
the less maintenance effort there is (IMHO).

> -0.5 on Lisp or Scheme. Don't get me wrong, I probably would have been
> miserable as a teenager were it not for CLtLR2. But the last thing we
> want to do is make life harder for a random Java developer to build his
> or her program. Ant-in-Lisp would be far far better than the current XML
> mess,

Agreed that xml is a nice 'verbose' partner to Java (or C# for that
matter).  Lisp/Scheme would give us a very competent tool for deal
with trees (xml), without having to rely on xerces - although as Ant
is primarily used for building Java applications, a Lisp-Ant would
have to assume the presence of a jdk anyway, and in that case you may
as well write your tool in a jvm language (this doesn't preclude lisp
as Kawa runs on the vm)

> to be sure, but I think a relatively mainstream language like
> Rhino would be a lot more accessible. Lots of Java developers already
> know JavaScript from web development anyway. BeanShell is also an easy
> step for Java developers. JRuby and Jython are probably a bit more
> accessible than Lisp but less than JavaScript and BeanShell.

BeanShell is (IMHO) not a very big step from Java, it's almost as
verbose and provides very little extra in the way of abstractions.
JavaScript (Rhino), JRuby or Jython all offer a much higher level of
abstraction than Java and would be more accessible than Lisp.  As I
mentioned, I wanted to know what people thought about the idea of a
default script language for Ant, before suggesting an actual language
(I'd steer away from groovy before anyone suggests it ;))


> for (jar in classpath.split(':;')) {copy({file: jar, todir: destdir})}


classpath.split(':|;').each { |jar| copy jar, dest }

> which anyone can read and understand at once. Furthermore it is trivial
> to see how to make a little modification to the above:
> for (e in classpath.split(':;')) {
>    if (e.endsWith('.jar')) copy({file: e, todir: destdir})
> }

classpath.split(':|;').each { |jar| copy jar, dest if jar.ends_with(".jar") }


> TARGETS = [build, clean] /* build is first, so default */

Have you looked at rake?  This is a very good example of how a dsl for
builds can really help the expressiveness of your code


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message