On 9/16/06, Jesse Glick <[EMAIL PROTECTED]> 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
strengths:

- 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 ;))

[snip]

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

or

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") }

[snip]

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

http://rake.rubyforge.org/

Kev

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

Reply via email to