Ant 1.7 Planning Section

Pre-release Actions

  • Find a release manager


  • Beta1 August 27th, 2006
  • Beta2 September 17th, 20006
  • Beta3 October 15th, 2006
  • (feature frozen, branch the repository?)
  • Release Beta3 + four weeks

Features can still be added during the Beta phase, in the RC1/Release period bug fixes and feature removal only.

Projects we depend on and their forthcoming releases

  • Xerces. We redist this, so should get a late release.
  • Xalan
  • JUnit
  • Java 1.5.06 is out, 1.6 in early beta only.

Projects that depend upon us, and their cutoff dates

  • Eclipse
  • NetBeans

  • IntelliJ IDEA
  • JEdit (less tightly coupled)


''Must Have'' Features

These are the features that hold the build; fallbacks to be listed. To add something here you must be prepared to implement it, or know someone who is. Everything needs a name.

  • Fix for key IDE bugs (see eclipse, netbeans bugzillas) [all]
  • Junit 4 integration to a level that Ant-dev and junit are happy.

''Must Have'' Features Implemented

''Must Have'' Features Downgraded

  • Local variables in macrodef. ant-contrib <var> gives you this, though we could make it easier to mutate properties for them.

  • flatten in libraries to WAR/EAR somehow (related to <libraries>) [stevel?] (libraries status? -MJB)

    • The workaround is to <copy> things; its not too hard and lets you see what you are including.

''Want'' Features

Less critical, but still nice. Adding here is also a statement of intent.

  • <propertyfile> in java tasks for loading properties straight from a file.

  • reduce number of outstanding bugzilla bugs by fixing them or declaring WONTFIX/Invalid.

  • reduce number of outstanding bugzilla enhancements by implementing some, or closing them off.

  • include fetch.xml in redist package and integrate w/ maven2 artifacts (done? -MJB)

''Want'' Features Implemented

  • improve diagnostics when something like <junit> wont instantiate. i.e. distinguish "class not found" from "class not loadable" and explain why the difference. Maybe allow for per-task diagnostics text through a static member function, or extra markup in the taskdef.

  • add Resource Collections (for arbitrary groups of file-like Resources); tasks adapted (thanks Stefan).

''Like'' Features

Less important stuff.

  • security hardening. "locking down...or giving the opportunity to lock down; e.g. secure class loading, working with digital certs, etc..." Rated as 'like' because of the difficulty.
  • Look at all SCM tasks and pull in pending patches for new features. Find people to test them. (I looked at VSS when implementing as antlib (svn sandbox), pulled in as many patches/fixes as I could find in bugzilla - Kev)
  • Lightweight Java1.5 distro without Xerces.

''Like'' Features Implemented

  • rename junit.jar to junit-3.8.1 in SCM, for <libraries> integration. As this is only in lib/optional, effects should be minimal (i.e. rename wont be visible to end users) [done].

Bugs to Fix

With bugzilla URLs and summary text, please.

  • Forking RMIC broken; fix or pull.


Platforms to test on. We may want to formally remove support for platforms that are unsupported by their vendor. That means Java1.2 and Win98.

Linux Platforms should cover common distros: RHEL, Suse. Debian (Ubuntu)?. SysV Unix can be delegated to the vendors, say AIX and HPUX. Solaris is also a possibility, if a VMware image is available.


  • Java 1.2 - 1.5, WinXP
  • Java 1.2 - 1.5, Linux
  • Java 1.2 - 1.5, SysV Unix
  • Java 1.2 - 1.5, BSD Unix
  • Java 1.2 - 1.5, MacOS X

Old JDKs can be downloaded from Suns archive


  • Java1.5, Recent Vista Snapshot
  • Java1.6 beta, Linux
  • Java1.6 beta, WinXP
  • Java1.6 beta, SysV Unix
  • Java1.6 beta, BSD Unix
  • Recent Java, Netware

MAY Pass

  • Java 1.5, Win9x. (Steve has a VMWare image for this)
  • Java1.6 beta, Recent Vista Snapshot (Steve has a VMWare image for this)
  • Java1.6 beta, MacOS X (I've checked apple/developer (ADC) and so far no mention of Java6 on OSX - Kev)
  • OpenVMS, Any Java

WONTFIX this release

Definitely not in this release. Pull stuff down here when scrubbed from the previous lists.

  • <issigned> to do signature checking (identify signatory). fundamentally impossible.

  • <libraries>: maven2, security. Use Maven2 artifact library instead.

  • <classloader> to allow adding of jars to the current classloader (would solve a lot of problems at the cost of some issues)

  • Java1.5 environment fetching. Ideally as part of a rework of Execute.getProcessEnv() (if we plan to retrofit commons-exec in source after it stabilizes, maybe we should forego this at present? -MJB)
  • Doc improvements.
  • No labels