Changes from Ant 1.5.3 to Ant 1.5.4 =================================== Changes that could break older environments: -------------------------------------------- * If the Visual Age tasks used to work for you, they may stop doing so now - and we'd like to know about it. The current set of tasks is supposed to work with any version of VAJ starting with 3.0. Fixed bugs: ----------- * The Visual Age for Java tasks didn't work (at least for versions 3.0 and higher). Bugzilla Report 10016. * URL-encoding in didn't work properly. * VAJRemoteUtil called getAbsolutePath instead of getPath causing problems when using a Windows VAJ server from a UNIX server. Bugzilla Report 20457. * VAJImport task failed with NullPointerException when using DirectoryScanner. Bugzilla Report 22080. Other changes: -------------- * Shipped XML parser is now Xerces 2.5.0 * will invoke oldjavah on JDK 1.4.2. Bugzilla Report 18667. * The VAJ tasks now support a haltonfailure attribute to conditionally keep building even if they fail. * It is now possible to use the latest (versioned or unversioned) edition in by using special wildcard characters. Also fixes Bugzilla Report 2236. Changes from Ant 1.5.2 to Ant 1.5.3 =================================== Changes that could break older environments: -------------------------------------------- * The task and friends have again changed a method signature (sorry, was necessary to fix bug 17780). The return type of getResourcesToAdd has changed. Fixed bugs: ----------- * 's filemode would get ignored and the dirmode was used for the included files as well. As a side effect, WinZIP was unable to extract or display the files, so they seemed to be missing from the archive. Bugzilla Report 17648. * could use the wrong path separator when trying to change the remote working directory. Bugzilla Report 17735. * would loose all original files if you didn't specify any nested <(zip)fileset>s and the manifest had changed. Bugzilla Report 17780. * If you used a value starting with \ on Windows for the appxml attribute of or the webxml attribute of , it would be ignored. Bugzilla Report 17871. * Ant will no longer implicitly add Sun's rt.jar in when you use jvc and don't specify a bootclasspath. Bugzilla Report 18055. * The prefix attribute of would not generate directory entries for the prefix itself. Bugzilla Report 18403. * starteam checkout can now handle deleted labels. Bugzilla Report 17646. * The Unix wrapper script failed if you invoked it as a relative symlink and ANT_HOME has not been set. Bugzilla Report 17721. Other Changes: -------------- * Added ability to specify manifest encoding for the and tasks Changes from Ant 1.5.1 to Ant 1.5.2 =================================== Changes that could break older environments: -------------------------------------------- * ANT_OPTS environment variable is now applied at the start of the Java command line, allowing position specific parameters of some JVMs, such as -classic to be specified. * ZipScanner#getIncludedFiles will now return the names of the ZipEntries that have been matched instead of the name of the archive. * The task and friends have been heavily modified, almost every method signature of the Zip class has changed. If you have subclassed Zip (or one of its subclasses), your class will most likely not compile against the current code base. If it still compiles, it will probably not work as in Ant 1.5.1. Fixed bugs: ----------- * was not ignoring comment lines. * wouldn't update an existing manifest if only an attribute of an existing section changed. * ant.bat now supports the ANT_ARGS and JAVACMD environment variables again (like Ant 1.5 did). * The "plain" could throw a NullPointerException if an error occured in setUp. * will now produce output when a test times out as well. * would count some internal character replacements when reporting the number of replaced tokens. * would cause an exception if a pointed to files that do not exist. * will now pass -source to custom doclets as well. * would throw a NullPointException if there had been no differences. * could miss today's changes. * could append newline characters between concatenated files. * ignored the specified encoding of the files to validate. * the errorsbeginat attribute of the condition didn't work. * Ant will try to force loading of certain packages like com.sun.* from the system classloader. The packages are determined by the version of the JVM running Ant. * Ant didn't find the runtime libraries on IBM's JDK 1.4 for Linux. * random component of temporary files is now always a positive integer. * Ant could incorrectly try to use the 1.4 regexp implementation even if it isn't available if you run the JVM with -Xverify:none. * Ant would die with an exception if you used nested elements in Ant and the refid attribute didn't point to an existing project reference. * The task can now be compiled (and Ant thus bootstrapped) using Kaffee. * build.sysclasspath will now be honored by more tasks. * The signjar keystore attribute has been reverted to a String allowing it to once again accept URLs. This should not affect current File based usage unless you are extending the Signjar task. * would remove the original manifest. * fix up folder creation in PVCS task * 's up-to-date check didn't work for nested <(tar)fileset>s. * Corrected a problem in XMLLogger where it would not associated messages with a taskdef'd task * now works when using attributes (i.e. not filesets) and pointing to the same file * Java task (and output system) now stores output which does not end with a line feed. * splash screen wouldn't disappear when build was finished. * now supports OS/2. * and friends would only update/recreate existing archives if the files to add/update have been newer than the archive. * 's element could fail for offline="true" on some JDKs. Other changes: -------------- * MailLogger now sets the Date header correctly. * Shipped XML parser is now Xerces 2.3.0 * signjar now accepts a maxmemory attribute to allow the memory allocated to the jarsigner tool to be specified. The jarsigner from the JDK's JAVA_HOME bin dir is now used rather than the first jarsigner on the path. * **/.DS_Store has been added to the list of default pattern excludes. * The Created-By header in the default manifest now contains the JVM vendor and version according to the jar specification. A new header, Ant-Version provides the Ant version used to create the jar. * can now store Unix permissions in a way that can be reconstructed by Info-Zip's unzip command. Changes from Ant 1.5.1Beta1 to 1.5.1 ==================================== Fixed bugs: ----------- * 's prefix attribute failed to apply to nested elements. * created an empty junit-noframes.html if no format had been specified. * would remove more than it should if the file name contained more than one dot. * s nested into s didn't work. Other changes: -------------- * Shipped XML parser is now Xerces 2.2.0 * Filesets now support a 'file' attribute, allowing a single-file fileset to be constructed without having to specify its parent directory separately. * will now return the result of a call to getName instead of "unknown" for Test implementations that don't extend TestCase but have a public String getName() method. Changes from Ant 1.5 to 1.5.1Beta1 ================================== Fixed bugs: ----------- * Date/time in CvsChangeLog was in local timezone and 12 hour format leading to a problem when sorting by time. It is now UTC (GMT) and in 24-hour format as per cvs 'specifications'. * CvsTagDiff now supports ampersand modules or modules that have a different root directory than their name. * EjbJar threw NPEs for the Websphere element. The property 'websphere.home' was not documented. * Mail example in the documentation was not correct. * 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. * could append a newline character at the end of the file. 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