Changes from Ant 1.9.7 TO Ant 1.10.0 ==================================== Changes that could break older environments: ------------------------------------------- * Ant 1.10.x requires Java8 or newer at compile or build time. The 1.9.x series wil stay compatible with Java5. * The <apt> task has been removed since apt itself has been removed with Java8. * <fileset>/<zipfileset>/<tarfileset> exhibited undefined behavior when both the dir and file attribute have been used on the same instance. This will now cause the build to fail. Bugzilla Report 59402 * <native2ascii> will default to the builtin implementation on Java8 as well (sun isn't available for Java9+ anyway). * The ant.java.version property will now hold the value "9" rather than "1.9" if running on Java 9. * <rmic> will no longer allow the -Xnew option (or xmic compiler) to be used when running on Java 9 since this option has been removed. Bugzilla Report 59906 * <javah> will default to the "forking" implementation on Java8 as well. Fixed bugs: ----------- * setDynamicAttribute on MacroInstance now lower-cases the attribute name in order to allow users of the API to use the attributes names they have specified. Bugzilla Report 59339 * <get>'s quiet attribute was broken, it didn't suppress any messages. Bugzilla Report 59379 * <zip>'s check whether an archive is already up-to-date failed on NTFS filesystems and re-created archives more often than necessary. Bugzilla Report 59562 * AntClassLoader didn't delegate to the parent loader for classes in the "jdk" package or one of its subpackages. This hierarchy has been introduced with Java 7. Bugzilla Report 59556 * The ant wrapper script used on Unix-like operating systems only worked on OSes where sed is GNU sed. Bugzilla Report 59898 * <touch>'s default pattern as well as the default patterns used by the <date> (resource) selectors depended on the JDK being used - or rather the locale provider being used and the default locale provider changed with Java 9. They are now fixed and the documentation has been updated to reflect the real patterns used rather than a non-formal description of the expected format. Bugzilla Report 59909 * Clarified the documentation of <get>'s retries attribute. Bugzilla Report 59930 * The ant wrapper script failed if backticks were passed on the command line. Bugzilla Report 60150, 59445 * The report generated by <junitreport> could contain duplicate characters in stack traces. Bugzilla Report 58661 Other changes: -------------- * New file selectors <executable>, <symlink> and <ownedBy>. * New task <setpermissions> that provides the ability to set POSIX compatible permssions via NIO's PosixFilePermission * <junit> now initializes the cause of the AssertionFailedError when converting from AssertionError. Bugzilla Report 58982 * <scp> now supports compression via the optional compressed attribute. Bugzilla Report 47552 * <junit> now supports JDK9 modules Github Pull Request #18 * a new implementation "builtin" has been added to <native2ascii> and is the default when running on JDK9+ since the tool itself has been removed from the JDK. Bugzilla Report 59855 * added a new <native2asciifilter> filter that can perform non-ASCII to Unicode-escape conversions. * <rmic> defaults to the "forking" compiler on JDK 9+ as the implementation class of rmic is not exported by its containing module and thus not accessible to Ant without applying -XaddExports magic. Bugzilla Report 59860 * a new implementation "forking" has been added to <javah> and is used as default when running on JDK9. * support for javac's -h switch has been added with the nativeheaderdir attribute. Bugzilla Report 59905 * it is now possible to set features of the TraX factory used by <xslt> and <junitreport>. * it is now possible to use references to Ant types and classloaders built around Ant <path>s as values for TraX factory attributes. * AntClassLoader and its subclasses register themselves as parallel capable. * <junitreport> now enables the feature http://www.oracle.com/xml/jaxp/properties/enableExtensionFunctions when run on Java 9 so the redirect extension function can be used if when a SecurityManager is active. Bugzilla Report 60060 * support for javac's --release switch introduced with Java9 has been added. Bugzilla Report 60172