Changes from Ant 1.9.6 TO Ant 1.9.7

Changes that could break older environments:

 * <exec> and <apply> used to ignore the dir attribute if it was the
   same as the current working directory.  They now no longer do,
   which changes the behavior for vmlauncher="false" which would have
   used the project's basedir rather than the current working
   directory in that case.
   Bugzilla Report 58555

Fixed bugs:

 * ZipOutputStream could cause an ArrayIndexOutOfBoundsException when
   adding entries with comments.  This never happens when using Ant as
   a build tool but may affect users using Ant's zip package as a

 * <gunzip> and <bunzip2> didn't work for non-filesystem resources.

 * <jar> ignored the zip64Mode attribute when creating manifest-only
   jars.  This resulted in jar files that couldn't be read by Java5.
   Bugzilla Report 58428

 * <untar> will now detect GNU tar longname/link records even if they
   don't use the names used by GNU tar itself.  star is known to
   create archives of that kind.

 * <script> could fail to find javax.script on JDK9 with Jigsaw.
   Bugzilla Report 58271

 * <import> sometimes failed to normalize file names which could lead
   to files getting imported twice which in turn could lead to targets
   getting executed twice.
   Bugzilla Report 58886

 * TarInputStream now properly extraxt directory entries with a
   non-zero size.

 * <union> would drop file resources pointing to the same file but
   using different names.
   Bugzilla Report 57965

 * <replace>'s result was undefined when using the replacefilterfile
   attribute and some keys inside the properties files have been
   substrings of other keys. Keys are now sorted by descending size.
   Bugzilla Report 58997

 * Ant fails to run when arguments contain double-quote character.
   Bugzilla Report 58898

 * Ant fails to run if ANT_HOME contains a double-quote character.
   Bugzilla Report 58874

 * Definer's way to parse URLs from classloader breaks with
   recent Java 9 builds (b108).
   Bugzilla Report 59130

 * <ant> and <antcall> now preserve the ext status set by an <exit>
   Bugzilla Report 59228

Other changes:

 * <scp> now supports (filesystem-only) resource collections in
   addition to filesets.
   Bugzilla Report 50769

 * The <http> condition has a new optional attribute followRedirects.
   Bugzilla Report 58840

 * <java> now supports Java9 modules.

 * <javac> now supports Java9 modules.

 * <sshexec> and <scp> have two new attributes serverAliveInterval and
   serverAliveCountMax that can be used to keep a intermediaries from
   closing idle connections.
   Bugzilla Report 59162