ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chappell, Simon P" <Simon.Chapp...@landsend.com>
Subject RE: winning the case for ANT
Date Wed, 20 Oct 2004 14:10:36 GMT
Chris,

I think that one of the problems here is the word "script". It's kinda like the word "server",
greatly overloaded with alternative meanings.

Your dictionary definitions of "script" are, of course, correct. But, I agree with Bill, in
that an Ant build file (not a script) is actually a set of rules that are used to determine
what should be built and how.

The targets within a build.xml file do not need to be in a specific order, although most of
us humans prefer to write them that way. Ant actually doesn't care, it reads all the file
and creates it's own internal representation of the dependencies before it executes a single
target or action.

Now, please be assured that I have nothing against scripting, but Ant is actually more difficult
for people to learn if they carry the mental image of it being a scripting language. Better
for them to think in terms of rules and dependencies. Concentrate more on the what, than the
how. An analogy would be LaTeX, the document preparation system that I'm currently learning
to use, in which you concentrate on what to type, the content, rather than how to lay it out.
Sometimes it can be difficult to keep these two aspects separate, but ultimately it works
better when you do. Ant is the same way, everything works better when you keep what and how
separate. :-)

Simon

>-----Original Message-----
>From: Erskine, Chris [mailto:chris.erskine@eds.com]
>Sent: Tuesday, October 19, 2004 8:44 PM
>To: Ant Users List
>Subject: RE: winning the case for ANT
>
>
>If I have a script for a play and I read (execute) first Act 
>2, Scene 3 and
>then execute Act 1, Scene 2, is this not a set of targets and 
>are they not
>executed in a different order.  Does this script not do the 
>same as the ant
>build script.  Within a target, I have instructions to be 
>performed (your
>rules).  These instructions are processed based upon the tasks 
>that they are
>dispatched to. 
>
>>From Britannica.com "in motion pictures, the written text of a 
>film. The
>nature of scripts varies from those that give only a brief 
>outline of the
>action to detailed shooting scripts, in which every action, 
>gesture, and
>implication is explicitly stated."  Is that not what I do in a 
>build file?
>
>  
>Chris Erskine
> 
>EDS Consulting Services
>F5-EDS-001
>2424 Garden of the Gods Rd
>Colorado Springs, CO  80919
> 
>Phone: 719-535-6064
> 
>Phone:
>mailto:chris.erskine@eds.com
>> -----Original Message-----
>> From: Bill Rich [mailto:billrich@attglobal.net]
>> Sent: Tuesday, October 19, 2004 10:42 AM
>> To: 'Ant Users List'
>> Subject: RE: winning the case for ANT
>> 
>> "[Erskine, Chris] I agree that Ant is a build tool.  As a 
>build tool, it
>> requires something to tell it what to do.  From
>> http://dictionary.reference.com/search?q=script
>> For computer science, it states "A simple program in a 
>utility language or
>> an application's proprietary language".  This describes what 
>is contained
>> in
>> the build file.  This is a script.  A script is just a list 
>of steps to be
>> followed.  As such, Ant does use a scripting language which has been
>> formatted using XML."
>> 
>> I beg to differ with the statement that the build file is a 
>script. It is
>> a
>> set of independent rules (<target>s), not a list of steps. 
>The author of
>> the
>> build file does not determine the order of execution, the 
>Ant engine does.
>> Yes, there is an artifact of the language whereby some 
>dependency between
>> <target>s (depends, if, unless,...) can be imposed, but, the 
>fact still
>> remains that the targets are independent by definition.
>> 
>> Thanks.  Bill
>> 
>> Bill Rich
>> Wilandra Consulting LLC
>> 1325 Addiewell Place
>> San Jose, CA  95120-3905
>> phone:      +1 408 268-2452
>> mobile:     +1 408 410-9713
>> Santa Cruz: +1 831 464-9007
>> fax:        +1 413 669-9716
>> bill@wilandra.com
>> http://www.wilandra.com
>> 
>> -----Original Message-----
>> From: Erskine, Chris [mailto:chris.erskine@eds.com]
>> Sent: Tuesday, October 19, 2004 8:55 AM
>> To: Ant Users List
>> Subject: RE: winning the case for ANT
>> 
>> Please see below.
>> 
>> Chris Erskine
>> 
>> EDS Consulting Services
>> F5-EDS-001
>> 2424 Garden of the Gods Rd
>> Colorado Springs, CO  80919
>> 
>> Phone: 719-535-6064
>> 
>> Phone:
>> mailto:chris.erskine@eds.com
>> 
>> > -----Original Message-----
>> > From: Chappell, Simon P [mailto:Simon.Chappell@landsend.com]
>> > Sent: Monday, October 18, 2004 9:15 AM
>> > To: Ant Users List
>> > Subject: RE: winning the case for ANT
>> >
>> > I have to correct a few things here.
>> >
>> > >-----Original Message-----
>> > >From: Erskine, Chris [mailto:chris.erskine@eds.com]
>> > >Sent: Friday, October 15, 2004 7:33 AM
>> > >To: Ant Users List
>> > >Subject: RE: winning the case for ANT
>> > >
>> > >
>> > >XML is just a standard way of formatting data.  In this case, the
>> > >lines of data are script commands.
>> >
>> > No! Ant is not a scripting language. Perhaps it should 
>have been, but
>> > the reality is that Ant is a build tool. It uses 
>deterministic logic
>> > to build your application, given descriptions of your 
>project and the
>> > dependencies between parts. This works really well in most 
>instances.
>> > The biggest problem that I have seen with ant, is that 
>people try to
>> > use it like a scripting language and wonder why that 
>causes problems.
>> >
>> [Erskine, Chris] I agree that Ant is a build tool.  As a 
>build tool, it
>> requires something to tell it what to do.  From
>> http://dictionary.reference.com/search?q=script
>> For computer science, it states "A simple program in a 
>utility language or
>> an application's proprietary language".  This describes what 
>is contained
>> in
>> the build file.  This is a script.  A script is just a list 
>of steps to be
>> followed.  As such, Ant does use a scripting language which has been
>> formatted using XML.
>> 
>> > >You could define this format as a scripting language.  
>Each tool has
>> > >its own formatting syntax.  If you look at Make, it has its own
>> > >format that has the problem of the first character on a 
>line having
>> > >to be a tab character to be a command for a target.
>> >
>> > Make is a fine tool, but it's not the best tool for Java 
>applications.
>> > I like make, wrinkles and all, but I use ant for my Java projects.
>> 
>> [Erskine, Chris] I agree fully.
>> 
>> >
>> > >XML format is just the format that was chosen for ant to 
>describe the
>> > >scripting.  This is not a battle that will be won on 
>merit since it
>> > >sounds like it is a religious issue for this developer.
>> >
>> > Sounds like that project needs a good tech. lead to put their foot
>> > down and make a decision. A tech lead needs to be somewhat 
>like Linus
>> > Torvalds, a benevolent dictator. :-)
>> >
>> 
>> [Erskine, Chris] You have to play the political game.  Not 
>always the best
>> answer but for some projects, this is a fact of life.  This 
>developer who
>> does not want to us XML for scripting may be the tech lead.  
>Putting their
>> foot down and making a decision may not be what is wanted 
>here.  And, to
>> prevent more ranting, this person may be a 'good' tech lead. 
> Just because
>> a
>> person does not use all of the best practices, does not make 
>them bad.
>> There can be a number of reasons for not using Ant.  There are also a
>> number
>> of issues with XML and although it is the current religion, 
>it does not
>> fit
>> in all cases which I think the industry is starting to see and move
>> somewhat
>> away from it.  XML is just a tool.  Where it makes sense or 
>can be used
>> without big problems, use it.  But also, you need to know 
>where it does
>> not
>> fit.
>> 
>> > >ANT is not an industry standard.  I do not even know if I
>> >
>> > It most certainly is a de-facto standard on the Java side of the
>> > fence, especially on the open source projects. To say 
>otherwise is to
>> > display a certain amount of ignorance of the state of the 
>Java world.
>> >
>> [Erskine, Chris] I agree that it is a de-facto standard.  It 
>is not an
>> industry standard.  There is not a standards body that has 
>blessed ant as
>> a
>> standard.
>> 
>> > >could define it as
>> > >a best practice although I think it might be close.  It is a tool
>> > >that used by many people to automate their build and deployment of
>> > >code.
>> > > It is very
>> > >good at what it does which is why it is a popular as it is.
>> >
>> > It's popular, it's used by many people ... sounds like a de-facto
>> > standard to me.
>> >
>> > <snip>
>> >
>> > >Chris Erskine
>> >
>> > Simon
>> >
>> > -----------------------------------------------------------------
>> > Simon P. Chappell                     simon.chappell@landsend.com
>> > Java Programming Specialist                      www.landsend.com
>> > Lands' End, Inc.                                   (608) 935-4526
>> >
>> > "Some problems are so complex that you have to be highly 
>intelligent
>> > and well-informed just to be undecided about them." - Laurence J.
>> > Peter
>> >
>> > 
>---------------------------------------------------------------------
>> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org 
>For additional
>> > commands, e-mail: user-help@ant.apache.org
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For 
>additional
>> commands, e-mail: user-help@ant.apache.org
>> 
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> For additional commands, e-mail: user-help@ant.apache.org
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>For additional commands, e-mail: user-help@ant.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message