Changes from Ant 1.7.x TO current SVN version ============================================= Changes that could break older environments: ------------------------------------------- * Improved handling of InterruptException (lets suppose someone/thing is trying to kill the thread when we receive an InterruptException), when an InterruptException is received, we do not wait anymore in a while loop till the end time has been reached. Bugzilla report 42924. * Refactor PropertyHelper and introspection APIs to make extension more granular and support setting task/type attribute values to objects decoded by custom PropertyEvaluator delegates. Also add task for registering delegates and/or replacing the registered PropertyHelper instance. Bugzilla report 42736. * Added a restricted form of typedef called . This allows definition of elements that can only be within tasks or types. This method is now used to define conditions, selectors and selectors. This means that tasks may now have nested conditions just by implementing the Condition interface, rather than extending ConditionBase. It also means that the use of namespaces for some of the selectors introduced in Ant 1.7.0 is no longer necessary. Implementing this means that the DynamicElement work-around introduced in Ant 1.7.0 has been removed. Bugzilla report 40511. * In the task when a is used, the millis and datetime attributes now override the time of the source resource if provisioned. Bugzilla report 43235. * Remove fall-back mechanism for references that are not resolved during normal runtime execution. * FileUtils.createTempFile now actually creates the file. The TempFile task still does not create the file by default, can be instructed to do so however using a new parameter. Bugzilla report 33969. Fixed bugs: ----------- * task couldn't overwrite existing symlinks that pointed to nonexistent files Bugzilla report 38199. * task couldn't overwrite files that were in the way of the symlink. Bugzilla report 43426. * task failonerror="false" does not stop build from failing when 'ln' command returns non-zero. Bugzilla report 43624 * task couldn't differentiate between "no resources specified" and "no resources matched." Bugzilla report 43799. Other changes: -------------- * There is now a FileProvider interface for resources that act as a source of filenames. This should be used by tasks that require resources to provide filenames, rather than require that all resources are instances or subclasses of FileResource Bugzilla report 43348 * Fixcrlf now gives better error messages on bad directory attributes. Bugzilla report 43936 Changes from Ant 1.7.0 TO Ant 1.7.1 ============================================= Changes that could break older environments: ------------------------------------------- * String resources only have properties single expanded. If you relied on resources being expanded more than once, it no longer happens. Bugzilla report 42277. * A String resource's encoding attribute was only taken into account when set from the resource's OutputStream; the InputStream provided the String's binary content according to the platform's default encoding. Behavior has been modified to encode outgoing (InputStream) content as well as encoding incoming (OutputStream) content. * now prefers evaluation result/return value over value property. * with fork now returns gives -1 instead of 0 as result when failonerror is false and some exception (including timeout) occurs. Br 42377. * ant-type attribute has been marked as deprecated and a warning has been issued if it is encountered in the build file. Fixed bugs: ----------- * The default logger was failing to print complete stack traces for exceptions other than BuildException, thus omitting often important diagnostic information. Bugzilla 43398. * Error in FTP task Bugzilla report 41724 * Regression: Locator fails with URI encoding problem when spaces in path Bugzilla report 42222 * Regression in Locator: running Ant off a network share does not work: message "URI has authority component" appears Bugzilla report 42275 * Improvements in AntClassLoader Speed. Bugzilla report 42259 * Error in handling of some permissions, most notably the AllPermission on jdk 1.5 Bugzilla report 41776 * Replace task summary output incorrect. Bugzilla report 41544 * Dependset crashes ant when timestamp on files change during Dependset execution. Bugzilla report 41284 * Bug in org.apache.tools.ant.types.resources.comparators.Date Bugzilla report 41411 * in Ant 1.7.0 could throw NPE if no was defined. Bugzilla report 41422. * In Ant 1.7.0, in does not by default include only **/*.java as the documentation claims and earlier revisions did. Bugzilla report 41264. * SPI support in jar was broken. Bugzilla report 41201. * jsch-0.1.30 causes SCP task to hang Bugzilla report 41090. * Target from imported file listed twice in projecthelp. Bugzilla report 41226. * task double-expands properties if expandproperties is true, and expands properties if expandproperties is false. Bugzilla report 41204. * Rolling back Bugzilla 32927 (set a default description for a javadoc tag if not set) as it caused a BC problem. Bugzilla report 41268. * forks properly and so memory settings are picked up. Bug report 41280. * Regression: NPE was thrown when using against a (third-party instantiated) fileset with null Project reference. * Strip out all -J arguments to non forking rmic adapters, specifically the Sun and Weblogic compilers. Bug report 41349 * Synchonization issues in PropertyHelper. Bugzilla 41353. * did not append. Bugzilla 41399. * -autoproxy turns Java1.5+ automatic proxy support on. Bugzilla 41904 * Handle null result of system getProperty(). Bugzilla 42334. * Regression: concat fixlastline="true" should not have applied to nested text, but did in Ant 1.7.0. Bugzilla 42369. * Regression: ant.version was not passed down in . This worked in Ant1.6.5, but not in 1.7.0. Bugzilla bug 42263 * Regression: bzip2 task created corrupted output files for some inputs. Bugzilla bug 41596. * Regression: with did not work. Bugzilla 42735. * ant script, cd may output to stdout. Bugzilla 42739. * Modified selector doesn't update the cache if only one file has changed. Bugzilla 42802. * Regression: Path subclasses that overrode list() stopped working in resourceCollection contexts in Ant 1.7.0. Bugzilla 42967. * supports loading from xml based property definition. Bugzilla 42946 * supports collecting and rerunning failed test cases (textXXX methods). Bugzilla 42984. * War task failed with "No WEB-INF/web.xml file was added" when called a second time. Bugzilla 43121. * FilterMapper could throw an NPE. Bugzilla 43292. * Regession nested macrodefs with elements could cause StackOverFlow. Bugzilla 43324. * Some changes to broke third party tasks that extend it (like Apache Cactus' Ant task). The changes have been modified so that subclases should now work again - without any changes to the subclass. Other changes: -------------- * Various small optimizations speed up common tasks such as on large filesets, reducing both I/O and CPU usage. * Profiling logger has been added with basic profiling capabilities. *