./devel/apache-ant, Apache Projects Java-Based make(1) replacement

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ]


Branch: CURRENT, Version: 1.10.18, Package name: apache-ant-1.10.18, Maintainer: tonio

Ant is a Java based build tool. In theory it is kind of like
"make" without make's wrinkles and with the full portability
of pure java code.

Ant uses XML to specify build actions to be taken, and new
build actions are implemented in Java.


Required to run:
[lang/openjdk11]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 4980.488 KB

Version history: (Expand)


CVS history: (Expand)


   2026-09-12 17:28:54 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
apache-ant: update to 1.10.18.

Fixes CVE-2025-7962.

Changes from Ant 1.10.17 TO Ant 1.10.18
=======================================

Other changes:
--------------

 * when using the SOURCE_DATE_EPOCH environment variable to set the
   time for <tstamp> the timezone will now be set to UTC for DSTAMP,
   TSTAMP and TODAY. This also applies to nested formats where the
   locale now also defaults to en_US unless it (or the timezone) have
   been set explicitly.
   Based on a patch used by the Debian Ant package maintainers.
   Part of Bugzilla Report 61269

 * Upgraded the jakarta.mail dependency to 2.0.2 because of
   CVE-2025-7962.

 * the SOURCE_DATE_EPOCH environment variable as well as the magic
   ant.tstamp.now and ant.tstamp.now.iso properties now also affect
   the timestamp added to a properties file written by <propertyfile>
   - but only if jdkproperties has its default value of false.
   Based on a patch used by the Debian Ant package maintainers.
   Part of Bugzilla Report 61269

 * a new method getBuildDate in Project can now be used to calculate a
   notion of a "build date" that consults the SOURCE_DATE_EPOCH environment
   variable as well as the magic ant.tstamp.now and ant.tstamp.now.iso
   properties in this order which you can use if you want to obtain a
   reproducible timestamp in tasks you write yourself.

 * The "record" task now has a new "relativeToBaseDir" attribute,
   which can be set to "yes" or "no", to control where the
   recorder's file gets created. In the absence of this attribute,
   if the "name" of the recorder was a relative path, then the
   recorder would create the file in the current working directory
   of the process. With this new attribute, the recorder can be
   configured to create that file in the basedir of the project.
   Bugzilla Report 17781

Fixed bugs:
-----------

 * When running with "microsoft" Java, Ant used to hardcode the
   "$JAVA_HOME/Packages" directory in the runtime Paths for certain
   tasks. The JDK shipped by Microsoft no longer contains that
   directory (for several decades now). As a result, when running with
   "microsoft" Java, an exception would be raised due to the missing
   directory. This has now been fixed and Ant no longer adds that
   directory to the Java runtime Paths.
   Github Pull Request #230

 * Inaccuracies in the documentation of the "record" task have been
   fixed.
   Bugzilla Report 70158

 * <mappedresources> with "enableMultipleMappings" set to \ 
"true" threw
   a NullPointerException if the mapper didn't apply to one of the
   resources. Unmapped resources are now omitted from the collection.

Changes from Ant 1.10.16 TO Ant 1.10.17
=======================================

Fixed bugs:
-----------

 * The JavaEnvUtils and FileUtils classes statically depend on each
   other since Ant 1.10.16 making it impossible to load JavaEnvUtils
   without loading FileUtils first causing NullPointerException for
   programmatic use on Windows. This affected Eclipse and may also
   affect other projects using Ant as a library.
   The classes can now be loaded independently again.
   Bugzilla Report 69992

Changes from Ant 1.10.15 TO Ant 1.10.16
=======================================

Changes that could break older environments:
-------------------------------------------

 * <xslt> now uses the same logic to compare file timestamps when
   determining whether a target file is out-of-date with respect to
   the source file or stylesheet that most other tasks use. This means
   it will assume a default timestamp granularity that depends on the
   current operating system.
   A new granularity attribute allows you to override the assumed
   granularity.
   Under certain edge cases this means xslt will now not process files
   it would have processed before (when the timestamps of source or
   stylesheet are very close or even equal to the timestamp of the
   target). In this case you can set granularity to 0 to get back to
   the behavior of 1.10.15.
   Bugzilla Report 65756

 * the <mail> task as well as MailLogger will now check the server
   identity as specified by RFC 2595 when JavaMail is used in
   combination with TLS (plain TLS or StartTLS).
   The check can be disabled with a new MailLogger property
   MailLogger.tls.checkserveridentity or a new <mail> task attribute
   checkServerIdentity.
   Bugzilla Report 69416

 * Ant now recognizes Windows junctions and treats them just like
   symbolic links in general. With this builds on Windows that use
   followSymlinks="false" and rely on Ant following Windows junctions
   will break. In order to get the old behavior you need to set
   followSymlinks to true and exclude real symbolic links via the
   <symlink> selector.
   Bugzilla Report 66293

Fixed bugs:
-----------

 * <scp> now properly handles IPv6 addresses as hostnames.
   Bugzilla Report 59160

 * javac task has been fixed to generate the "-classpath" option
   only when there are any classpath elements present.
   Bugzilla Report 69586

 * URLResource#getName could strip the first character of a resource
   path even if it was not a file separator.
   Bugzilla Report 69680

 * ant.bat now exits with a non-zero exit code if ANT_HOME is not set.
   Github Pull Request #222

 * A regression in ftp task caused some files to not be downloaded.
   That has been fixed now.
   Bugzilla Report 69485

Other changes:
--------------

 * Ant will no longer set a java.lang.SecurityManager at runtime
   if the "java.security.manager" system property is set to
   "disallow".
   Github Pull Request #216

 * <mail> and MailLogger can now enforce the use of STARTLS rather
   than silently fall back to unencrypted authentication via a new
   MailLogger property and a new <mail> task attribute.
   Bugzilla Report 69416

 * added a Windows specific <mklink> task that can be used to create
   hard links, symbolic links and junctions.

 * added <delete link="..."> that can be used delete symbolic \ 
links or
   Windows junctions. For symbolic links this duplicates what
   <symlink action="delete" ...> does - it has been introduced to
   handle symlinks and junctions via a single API.

 * added <canCreateSymlink> condition that evaluates to true if the
   current Ant process can create symbolic links.

 * added <windowsjunction> file selector which only selects directories
   that are Windows junctions.

 * added a new actOnLinkTargets attribute to <setpermissions> to
   control whether the permissions apply to a symbolic link or Windows
   junction or the target of the respective links. The old behavior
   of changing the link's target remains as default.

 * a new combination of attributes allows <sshexec> to mask sensitive
   data specified for the command line to execute.
   Github Pull Request #124

Changes from Ant 1.10.14 TO Ant 1.10.15
=======================================

Other changes:
--------------

 * exec task now logs the process' non-zero exit code at INFO
   level instead of the previous ERROR level. The following
   message from exec task is the one who's level has been changed:

   Result: 1

   Bugzilla Report 26453

 * Removes direct references to com.sun.net.ssl.internal.ssl.Provider class
   from the mail task, since that internal JDK class is no longer available
   in recent versions of Java.
   Bugzilla Report 68460

 * <replaceregexp> has a new failOnError attribute which, when
   enabled, makes the task throw a BuildException for certain error
   cases that will only be logged otherwise.
   Github Pull Request #206

 * <ftp> task now has a new "useSecureDataChannel" attribute which
   can be set to true, when ftps is enabled, to enable secure data
   channel.
   Bugzilla Report 68773

Fixed bugs:
-----------

 * Fixes an regression, introduced in Ant 1.10.13, where pathconvert
   would unintentionally trim the string output.
   Bugzilla Report 67082

 * Fixes a bug in <depend> task which would throw a ClassFormatError
   if it encountered constant pool entry type 17.
   Bugzilla Report 66552

 * Launching ant.bat from within a Java program using java.lang.Runtime.exec()
   could result in an unexpected failure. This has now been fixed.
   Bugzilla Report 67417

 * Fixes an issue in bootstrap.bat when trying to detect if the "javac"
   command in the JDK supports the "--release" option.
   Github Pull Request #205

 * Fixes a bug in org.apache.tools.ant.taskdefs.email.EmailAddress which
   would throw a java.lang.StringIndexOutOfBoundsException if the email
   address passed to its constructor was an empty String.
   Bugzilla Report 68462

 * legacy-xml reporter of junitlauncher task was using a non-buffered
   outputstream when generating the report. This introduces severe
   performance penalties since the writes translate to native write
   system calls. This has been fixed to use a BufferedOutputStream.
   Github Pull Request #207
   2023-09-09 23:12:49 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
apache-ant: update to 1.10.14.

Changes from Ant 1.10.13 TO Ant 1.10.14
=======================================

Changes that could break older environments:
-------------------------------------------

 * Resource#compareTo now invokes getName rather than toString as the
   later may be costly (for example in the case of a StringResource).
   Bugzilla Report 66496

 * When using Java 18 or higher, Ant will no longer use Java SecurityManager
   because it has been deprecated for removal and by default is disallowed
   to be set at runtime https://openjdk.org/jeps/411.
   This will mean that the "<permissions>" type is no longer \ 
functional when
   using Java 18 or higher.
   Furthermore, when using Java 18 or higher, if the build executes
   tasks that call "java.lang.System.exit()" and if those tasks aren't
   running in a forked VM of their own, then such tasks will now kill
   the entire Ant build process. It is recommended that such tasks be
   updated to launch in a forked JVM so that the System.exit() call
   will not impact the JVM in which Ant process runs.

Fixed bugs:
-----------

 * log only the stylesheet name in the xslt task.
   Github Pull Request #199

 * junitlauncher task's "test" and "listener" elements which take
   a "outputDir" property were incorrectly resolving the outputDir
   against the current working directory instead of the project's
   basedir. This has now been fixed.
   Bugzilla Report 66504

 * regexmapper would, in some cases, incorrectly consume backslash characters
   from the "to" attribute, resulting in missing backslashes in the output.
   This is now fixed.
   Bugzilla Report 66468

 * <fixcrlf>, <replace> and <replaceregexp> now try to preserve the
   file permissions of the files they modify.
   Bugzilla Report 66522

 * junitlauncher task would fail if a forked test timed out even
   if haltOnFailure was set to false. This is now fixed.
   Bugzilla Report 66411

 * fixes a bug in org.apache.tools.zip.ZipOutputStream where, even
   when "zip64Mode" is set to "always", ZipOutputStream may \ 
not create
   a CEN extra field data for the entry.
   Bugzilla Report 66873

 * legacy-xml listener of junitlauncher task wouldn't report certain
   failures involving junit jupiter dynamic tests. This has now been
   fixed.
   Github Pull Request #122

Other changes:
--------------

 * <fork> element of the junitlauncher task now has a new optional \ 
"java"
   attribute which can be used to point to a different Java installation
   for runnning the forked tests.
   Bugzilla Report 66464

 * made sure <echoproperties> sorts the echoed properties on JDK9+ as well.
   Bugzilla Report 66588

 * org.apache.tools.ant.taskdefs.Recorder class now introduces a
   setLogLevel(LogLevel level) method.
   Bugzilla Report 66238

 * The <fork> element of junitlaunchertask now allows a "forkMode"
   attribute. forkMode=perTestClass can now be used to launch
   each test class in a separate forked JVM.
   Bugzilla Report 65176
   2023-02-16 11:32:36 by David Brownlee | Files touched by this commit (4)
Log message:
Adjust apache-ant wrapper to honour JAVA_HOME

Still use the pkgsrc ${PREFIX}/bin/java wrapper by default, but
allow overriding with either of JAVACMD or JAVA_HOME.  The latter
is particularly important for other pkgsrc packages which use ant
to build and may require a specific jdk (java-jna)

Drop setting of ANT_HOME (was in a non default branch anyway)

Bump PKGREVISION
   2023-01-17 10:45:48 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
apache-ant: update to 1.10.13.

Changes from Ant 1.10.12 TO Ant 1.10.13
=======================================

Changes that could break older environments:
-------------------------------------------

 * <get> has a new attribute authenticateOnRedirect that can be used to
   prevent Ant from sending the configured credentials when following a
   redirect. It is false by default, which means builds that rely on
   credentials being used on the redirected URI may break.
   Github Pull Request #173

Fixed bugs:
-----------

 * the PropertyEnumerator change introduced in 1.10.9 proved to be not
   fully backwards compatible when combined with certain custom
   PropertyHelper implementations - for example when using AntXtras.
   Bugzilla Report 65799

 * legacy-xml reporter of the junitlauncher task now escapes ]]> when writing \ 
CDATA.
   Bugzilla Report 65833

 * <scp> may leak connections when trying to preserve the last modified
   timestamps of files transferred recursively from a server.
   Bugzilla Report 66001

 * tstamp task would in certain cases parse the SOURCE_DATE_EPOCH environment \ 
variable
   value to an incorrect date. This has now been fixed.
   Github Pull Request #186

 * fetch.xml didn't set up non-default repositories propery and thus
   failed to download JAI.
   Github Pull Request #191

 * When building and installing Ant distribution from source, the build script
   would change permissions on unrelated files in the destination directory.
   This is now fixed and such unrelated files in the destination directory
   will be left untouched.
   Bugzilla Report 66164

 * parsing tar entries with multiple NUL bytes in their name would
   include garbage bytes as the name included all bytes up to the last
   NUL rather than the first.
   Github Pull Request #194

 * loadresource might log warnings even though quiet was set to true
   Bugzilla Report 65647

 * javac task would add paths constructs containing wildcards to the
   internally created argument file where wildcards are not allowed
   Bugzilla Report 65621

Other changes:
--------------

 * added an implementation of the MIME Mail sender based on the
   repackaged Jakarta Mail package rather than javax Mail.
   Github Pull Request #161

 * The "listener" element in the junitlauncher task now supports
   an "extension" attribute to control the filename extension
   of the generated output file from the listener.
   Github Pull Request #168

 * <ftp> now supports FTPs.
   Github Pull Request #170

 * DirectoryScanner avoids listing directory contents when it known it
   will never use the information retrieved. This may improve
   performance in some special cases.
   Bugzilla Report 66048

 * <manifest> will now create the parent directory of the manifestFile
   attribute if it doesn't exist.
   Bugzilla Report 66231

 * org.apache.tools.ant.BuildLogger now has a new method getMessageOutputLevel()
   which returns the currently set message output level.
   2021-11-01 08:04:29 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
apache-ant: update to 1.10.12.

Changes from Ant 1.10.11 TO Ant 1.10.12
=======================================

Fixed bugs:
-----------

 * The http condition would follow redirects even when \ 
"followRedirects" attribute
   was set to "false". This has now been fixed.
   Bugzilla Report 65489

 * Made sure setting build.compiler to the fully qualified classname
   that corresponds to extJavac or modern has the same effect as using
   the shorter alias names.
   Bugzilla Report 65539

 * Prevent potential deadlocks in org.apache.tools.ant.IntrospectionHelper.
   Bugzilla Report 65424

Other changes:
--------------

 * The implementation of AntClassLoader#findResources() has been changed to optimize
   it for potential performance issues, as those noted at
   \ 
https://issues.jenkins.io/browse/JENKINS-22310?focusedCommentId=197405&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-197405
   Github Pull Request #151

 * AntClassLoader now implements the ClassLoader#findResource(String) method.
   Github Pull Request #150

 * Ant tries to avoid file name canonicalization when possible.
   Bugzilla Report 65499

 * javadoc task will now look for warning messages in the STDERR stream too
   when "failonwarning" is set to true to account for changes in JDK 17+

 * The tar task now preserves symlinks of nested tarfilesets.
   Github Pull Request #142
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2021-07-29 12:04:30 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
apache-ant: update to 1.10.11.

Changes from Ant 1.10.10 TO Ant 1.10.11
=======================================

Fixed bugs:
-----------

 * a race condition could lead to NullPointerExceptions when running
   tasks in parallel.
   Bugzilla Report 65316

Other changes:
--------------

 * \ 
org.apache.tools.ant.taskdefs.optional.junitlauncher.confined.JUnitLauncherTask \ 
now
   has a new protected createExecuteWatchdog() method for allowing it to be \ 
overriden.
   Github Pull Request #147

 * Upgraded AntUnit to 1.4.1.