Changes from Ant 1.5 to current 1.5Beta1 ======================================== Fixed bugs: ----------- * Checksum was broken in the following scenario: (using verifyproperty OR in a condition) AND using filesets with multiple files. * The ExpandProperties filter threw NPEs when defined using the format. * The sh wrapper script didn't work under Cygwin if ANT_HOME wasn't set with a Unix style filename. * The sh wrapper script could fail if you started Ant from a directory with whitespace in its name. * ant -diagnostics was not working properly when the task dependency was missing and was just printing the missing dependency. * If a task got redefined via , it lost its child elements. * 's classpathref attribute was broken. * would result in no command line argument, will now be a single empty argument. Use if you need the quotes literally. Other changes: -------------- * Appendix E of Java Development with Ant (Loughran/Hatcher) was contributed to the docs. * will only print deprecration warnings if it is actually used to change the value of a property. Changes from Ant 1.5beta3 to Ant 1.5 ==================================== Changes that could break older environments: -------------------------------------------- * The filesetmanifest attribute added to after the 1.4.1 release has been removed for now. This change may affect only the 1.5Beta/1.6Alpha users. An attempt will be made to add this feature back into Ant 1.6. Fixed bugs: ----------- * and friends would always update existing archive if you set the update attribute to true. * To support backward compatibility with older versions, will once again set the property, even if the result is the empty string, unless the new 'setonempty' attribute is set to false|no|off (default is "true"). * The manifest task would crash XmlLogger Other changes: -------------- * added **/.svn and **/.svn/** to the default excludes Changes from Ant 1.5beta2 to Ant 1.5beta3 ========================================= Changes that could break older environments: -------------------------------------------- * Project.getBuildListeners now returns a clone of the listener list. Changes to the returned list will not affect the listeners currently attached to the Project. It also means that it is safe to iterate over the returned list if listeners are added or removed during the traversal. * default filenameformat has been different from Ant 1.4.1. Now it is different from 1.5beta1 and 1.5beta2. * Some messages that are printed during startup will not be written to the logfile specified via -logfile as they might destroy the format of the file for special BuildLoggers (like XmlLogger). * won't set the property if the result is the empty string. Fixed bugs: ----------- * could fail to find files or directories that happen to start with the name of the project's basedir but are not children of the basedir. * Nested 's inside can now be overriden by subsequent and tasks. * 's outputtype attribute wouldn't do anything. * filterreader could swallow lines. * used to configure the tasks (set their attributes) before the first task has been executed. This means that properties that have been set by nested task seemed to be unset for the other tasks in the same element. * 's sourcepath setting has been ignored by some compiler implementations. * 's packagelist attribute didn't work. * the plain mailer would always use port 25 in . * Ant's default logger could swallow empty lines. * ejbjar's iPlanet nested element now can process multiple descriptors. * IPlanetEjbc was looking in the wrong place for four iiop files. * would pass the -source switch to JDK 1.3's javac, even though it doesn't support it. Other changes: -------------- * now uses a buffer (of configurable size). * The "Trying to override task definition" warning has been degraded to verbose level if the two task definitions only differ in the class loader instance that has loaded the definition. * Add a jvmargs to the ejbjar's weblogic element to allow additional arguments to be provided to the VM runnign ejbc. Document the jvmdebuglevel attribute which can be used to avoid warnings about interface classess being found on the classpath. Document the new element which allows JVM properties to be defined. Added an outputdir attribute to allow the destination to be a directory into which the exploded jar is written. * ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5 Changes from Ant 1.5beta1 to Ant 1.5beta2 ========================================= Changes that could break older environments: -------------------------------------------- * Properties will now be expanded in mail message bodies. This means that one $ sign will be stripped if your mail message contains the text $$. * org.apache.tools.ant.taskdefs.Expand no longer extends MatchingTask. * Available#setFile now again uses a File argument as it did in 1.4, this may break environments that have been adapted to the String argument version present in 1.5beta1. Fixed bugs: ----------- * When attempts a rename, it deletes the destination file, if it exists, before renaming the source file. However, was not checking if the destination file was actually a directory before trying to delete it. * Make CVS Tasks to work under Cygwin. * Fix LineContains to handle huge files elegantly without causing Stack Overflows. * if you ask for the "classic" compiler on Java1.4, you get upgraded to "modern" because there is no classic compiler any more. * the condition was viewing 404 'not found' exceptions as success. Now it defaults to viewing any response >=400 as an error, and has an errorsBeginAt attribute you can use if you want a higher or lower value. * throws a build exception on an http authorization error, unless you have set ignoreerrors to true. * was spelt in Wintel case: . It is now lower case, though the old spelling is retained for anyone who used it. * Merging of Manifests in jar now works as documented. * paths that have been separated by colons would be incorrectly parsed on NetWare. * runant.pl now supports NetWare. * and tasks were in beta1, but not defined by default; They now are. fills a property with the name of a temporary file; lets you set the JVM's http, ftp and socks proxy settings. * failed for JDK 1.1 and 1.2, even if the class could be found on the user-specified classpath. * now works on z/OS. * forked failed for the wrong reason on JDK 1.1 - Ant would use a temporary file to hold the names of the files to compile under some conditons, but 1.1 doesn't support this feature. Ant will no longer try this, but you may run into problems with the length of the command line now. * the refid attribute for s nested into or s nested into didn't work. * didn't work for nested s. * dropped sourcepath entries if no "interesting" .java source files could be found below them. This has been backwards incompatible and caused problems with custom doclets like xdoclet. * Using the doclet, docletpath or docletpathref attributes of may have caused NullPointerExceptions. * nested of would include too much. * will no longer choke on s that point to non-existing directories. * didn't work at all. * and now fail if the file they are working on is locked. * would pick up the wrong executable in the combination JDK 1.2 and AIX. Other changes: -------------- * z/OS now gets detected by the os condition. * and now have an optional followsymlink attribute that can prevent Ant from following symbolic links on some platforms. * BeanShell is now supported in the