Changes from current Ant 1.6.5 version to current CVS version ============================================================= Changes that could break older environments: -------------------------------------------- * Use org.apache.log4j.Logger instead of org.apache.log4j.Category. Category has been deprecated for ~2 years and has been removed from the log4j code. Logger was introduced in log4j 1.2 so users of log4j 1.1 and log4j 1.0 need to upgrade to a newer version of log4j. Bugzilla Report 31951. * build.sysclasspath now also affects the bootclasspath handling of spawned Java VMs. If you set build.sysclasspath to anything other than "ignore" (or leave it unset, since "ignore" is the default when it comes to bootclasspath handling), then the bootclasspath of the VM running Ant will be added to the bootclasspath you've specified. * The Reference class now has a project field that will get used (if set) in preference to the passed in project, when dereferencing the reference. Bugzilla Report 25777. * On DOS and Netware, filenames beginning with a drive letter and followed by a colon but with no directory separator following the colon are no longer (incorrectly) accepted as absolute pathnames by FileUtils.normalize() and FileUtils.isAbsolutePath(). Netware volumes can still be specified without an intervening separator. UNC pathnames on Windows must include a server and share name, i.e. "\\a\b" to be considered valid absolute paths. * The now as per default installs a security manager using the default permissions. This is now independent of the failonerror attribute. Bugzilla report 33361. * now notices when the jar and signedjar are equal, and switches to the same dependency logic as when signedjar is omitted. This may break something that depended upon signing in this situation. However, since invoking the JDK jarsigner program with -signedjar set to the source jar actually crashes the JVM on our (Java1.5) systems, we don't think any build files which actually worked will be affected by the change. * used to ignore a nested fileset when a jar was also provided as an attribute, printing a warning message; now it signs files in the fileset. * An improved method of handling timestamp granularity differences between client and server was added to the task. FTP servers typically have HH:mm timestamps whereas local filesystems have HH:mm:ss timestamps. Previously, this required tweaking with the timediffmillis attribute which also was used to handle timezone differences. Now, there is a new timestampgranularity attribute. The default value for get operations is 0 since the user has the more powerful preservelastmodified attribute to work with. Since this is not available on put operations the default value adds a minute to the server timestamp in order to account for this, Scripts which previously used timediffmillis to do this compensation may need to be rewritten. timediffmillis has now been deprecated. Fixed bugs: ----------- * Wrong replacement of file separator chars prevens junitbatchtest from running correctly on files from a zipfileset. Bugzilla Report 35499 * Calling close twice on ReaderInputStream gave a nullpointer exception. Bugzilla Report 35544. * Memory leak from IntrospectionHelper.getHelper(Class) in embedded environments. Bugzilla Report 30162. * Translate task does not remove tokens when a key is not found. It logs a verbose message. Bugzilla Report 13936. * Incorrect task name with invalid "javac" task after a "presetdef. Bugzilla reports 31389 and 29499. * was not printing warnings about invalid manifest elements. Bugzilla report 32190 * got out of memory on large files (part of report 32566). can now handle files as long as there is enough disk space available. * Commandline.describeCommand() methods would attempt to describe arguments even when none, other than the executable name, were present. * Create signjar's helper ExecTask instance directly rather than by typedef discovery mechanisms. Bugzilla report 33433. * FileUtils.resolveFile() promised to return absolute files but did not always do so. * failed to retrieve a file when the path towards the file contained an element starting with . Bugzilla report 33770 * " always compiles on Java1.5" bugzilla report=33862. Fixed default stub version to always be "compat", even on Java1.5+. * The .NET compilation tasks failed if filenames given as references contained spaces. Bugzilla Report 27170. * SQL task would try access result sets of statements that didn't return any, causing problems with Informix IDS 9.2 and IBM DB2 8.1 FixPak 6 (or later). Bugzilla Reports 27162 and 29954. * Task.init() was called twice for most tasks. Bugzilla Report 34411. * JavaTest testcases sometimes fail on windows. Bugzilla Report 34502. * Targets with identical name work in imported project. Bugzilla Report 34566. * DemuxOutputStream now uses a WeakHashMap to store the thread-stream mapping, to avoid holding on to thread references after they terminate. * and create a new parser for every file in a fileset, and so validate multiple files properly. Bugzilla Report 32791 * / now accepts files upto 8GB, gives an error if larger files are to be included. This is the POSIX size limit. * removed line-breaks from stack-traces. Bugzilla Report 34963. * off-by-one error in environment setup for execution under OpenVMS fixed. Other changes: -------------- * Log fine-grained events at verbose level from JUnit. Bugzilla report 31885. * and