|Python implementation for Ant|
Python implementation for Ant 2007-02-07 - By Matt Benson
Hans, I'm not sure why you've attacked Steve here.
I'm -pretty- sure he used the term "religious" simply
to convey to you the sometimes heated nature of this
discussion. Ultimately, as in the case of religion,
"Humans Should Not Have to Grok XML" (with credit to
Terence Parr) is a matter of opinion. I will now
reiterate the Ant team's official position:
At the API level, an Ant project is configured by an
instance of the class
org.apache.tools.ant.ProjectHelper. Ant's default
configuration behavior has already been replaced once
in its lifetime by subclassing ProjectHelper and
hardcoding the subclass as the default ProjectHelper
class to use. ANY user can override the ProjectHelper
to use at runtime, simply by setting the
org.apache.tools.ant.ProjectHelper system property
with the name of the desired helper class. OR,
judging from code committed by an Ant developer who
has since departed, you can put the desired
ProjectHelper classname into the classpath resource
and it will be discovered that way. Now that you know
this you can see that any Ant user is free at any time
to substitute whatever user interface they like for
Ant's XML configuration. And I have personally
guaranteed, and still do, that any reports of true
_practical_ limitations in Ant (i.e. more serious than
XML-centric log messages, etc.) that make this sort of
customization impossible will be rectified with high
priority. Putting aside the question of XML's
suitability, I agree that if Ant _intends_ to make
this sort of thing possible, then it damned well
NOW, having said all that, I am a DSL-phile and am
having all sorts of fun writing various
domain-specific languages for the last couple of
years. I have a low-priority intent to develop a
custom language for Ant and will attempt, when I am
ready to begin, to do so as an officially sanctioned
antlib, assuming I can muster the required community
support. If not, I'll do it somewhere else. This is
a goal I have nurtured for quite some time, and as I
have been building experience in the DSL arena, I feel
I am nearly ready--the biggest hurdle will be the
specification of a sensible syntax that will
functionally work as XML does for Ant--namely by being
open-ended, while eliminating useless noise.
So drool. ;)
--- Hans Schwaebli <hans_schwaebli@(protected)> wrote:
> Steve Loughran ...
> If I dislike something it has nothing to do with
> religion. You can't avoid discussions by simply
> stating they are religious.
> I am not anti-XML in general, but I don't think
> this format makes any sense for a scripting or
> programming language. Even the first creator of Ant
> today thinks that choosing XML for writing Ant
> scripts with it was not the best idea.
> I work with Ant since two years so I know about
> what I write. If I still think that writing Ant
> scripts in XML is cumbersome, than it is for me.
> This is not to be dismissed as a religious belief
> but my personal professional experience with Ant and
> programming and scripting languages.
> It would be good that something in the softwar
> world is official or is at least mainstream, because
> bosses attach importance to it.
> Why not offer writing Ant scripts in Jython and
> XML? Let developers choose. But now they have no
> real choice for Ant scripts, only XML syntax.
> There are a lot of reasons why the XML syntax is
> not good for writing scripts in that way. The tool
> support for XML doesn't help except for the very
> basic things like well-formedness.
> It has no use to argue for deprecating XML for Ant
> and using Jython instead to write Ant scripts, if
> there is no critical mass here.
> So is there a critical mass for improving the way
> to write Ant scripts with Jython, or at least open
> mindedness for this idea? Thats the first question
> on which the debate depends.
> Need a quick answer? Get one in minutes from people
> who know. Ask your question on Yahoo! Answers.
Food fight? Enjoy some healthy debate
in the Yahoo! Answers Food & Drink Q&A.
To unsubscribe, e-mail: user-unsubscribe@(protected)
For additional commands, e-mail: user-help@(protected)