This is such a great discussion, I just had to open it up to a more general
group.
The Ant group is discussing the fact that putting conditional statements
into XML is a terrible idea, yet JSP/Struts is doing exactly that with
taglibs.
Am I the only one who sees the disconnect here?
<http://jakarta.apache.org/struts/struts-logic.html>
-jon
------ Forwarded Message
From: [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
Date: Tue, 15 May 2001 16:27:25 -0700
To: [EMAIL PROTECTED], [EMAIL PROTECTED]
Subject: RE: if and unless attributes for all Tasks
>Build scripting is all ABOUT conditional processing -
>i.e. "if source file A is newer than object file B,
>compile source file A."
>This low-level conditional checking is built into Ant
>(and make) so that you don't have to see it - and that
>is the primary advantage of build tools over scripting
>tools - it simplifies the required instruction set.
>This does not, however, eliminate the need for
>conditionals at a higher level of abstraction. Also,
>I have several times had to use the uptodate task
>paired with the if/unless conditions to achieve checks
>that are *not* built into Ant - and this is
>conceptually at the *same* level of abstraction of the
>.java/.class checks.
I think what Jesse was saying (At least, what I so strongly agreed with)
is that XML is not a good language for doing if/checks and what not. If
you
need to do logic, even simple logic, you're better off to write a task in
Java and have
all of the power that a real procedural/OO language can give you or use
different build scripts.
Instead, we should keep ANT in a make style of dependencies and make things
as simple and approachable as
possible. ANT dependencies are hard enough to wade through if you're new
to a large build.xml. As you add
more and more control structures, ANT becomes decreasingly accessible and
then losses what I consider to be
a big part of it's value.
Jason Henriksen
------ End of Forwarded Message
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]