For clarification, I want to add some comments about the version compatibility 
issue with the proposed assertion enabling features.

None of the Ant code proposed here requires 1.4.  All of this will compile and 
execute fine with 1.1.

Using the new features would require 1.4.  The new features include passing 
"-da" and "-ea" to the interpreter via new optional attributes and elements in 
the java target, which are not valid options pre 1.4.  This would be a problem 
if someone tried to use this feature, but they were using a pre 1.4 vm.  Why 
would that ever happen?  It wouldn't.  The only reason to ever add these new 
options to your build file would be to enable or disable assertions.  You would 
not do that unless your code had assertions in it to begin with.  If your code 
has assertions in it, you are already imposing on the user that they must have 
1.4.  Code with assertions that was compiled under 1.4 will run just fine on 
pre 1.4 vms, but will not compile with a pre 1.4 compiler.  If someone is 
accessing your source code and you have assertions in your source code, they 
will need 1.4 to build, regardless of wether these new features are added to 
Ant.

I hope that all makes sense.  I have been taking advantage of these features 
for several weeks now and I think others would also.

Please let me know if I can answer any questions about this.

Thanks.



Jeff
  It may not be advisable to check the vm version for >= 1.4 before allowing 
these options because the vm that is being launched isn't necessarily the same 
vm that the task is executing in.  In my opinion, this "functionality" would 
not be funcionality at all, but would be a problem in some circumstances.  Of 
course, this implementation is entirely passive in that it does not impose 
anything at all on users not interested in taking advantage of it.

Reply via email to