San wrote:
>I love the script extensions. Why do I feel like I'm reading #include <required_disclaimer.h>? Certainly sounds like a "yes, but...". Here it comes: >The only issue I have with the above is making sure any feature >(in this case conditional execution based on property value) is >available on _every_ ant installation. I'm sure we all agree >and are striving for writing one and _only_ one build.xml file for cross >machine/installation/platform use. Ah, yes, there it is. There already are people indicating that they are stripping down the features that they don't use. Does everybody use RMIC? Why is it in the base? >By using script extensions for the above, we're limiting the >usefulness of Ant to a particular installation at a >particular site. (If Joe peppers his build.xml with >Javascript and Thom peppers his with some other extension scripting >language - their build.xml's won't likely run on each >other's platform since scripting support is optional). Exec does something on every platform, but that doesn't mean that build.xml files which use it will run everywhere. Some care needs to be utilized by the person writing the build.xml. >Which raises the the question, how do we guarantee portable/universal >support for a feature like conditional execution above? (Since I'm >sure this won't be the only programmatic extension that will be >raised): > > - Do we build it into Ant's syntax? > - Do we force one scripting language to be non-optional (Javascript)? I don't believe that we can force anything. But I do believe that the "base" Ant should not depend on anything other than a Java compiler and an XML parser to bootstrap. On the other hand, if a build process is so convoluted that it can't be accomplished without resorting to a scripting language, then there are plenty of good, free, cross platform implementations out there for you to pick from. Just don't require Pierpaolo Fumagalli to include it in his version of Ant. ;-) [inside joke] - Sam Ruby
