Ant 1.8 Planning Section
Projects we depend on and their forthcoming releases
- Xerces. We redist this, so should get a late release.
- Xalan
- JUnit
- Java 1.6.0 is out, 1.7 in early alpha only.
Projects that depend upon us, and their cutoff dates
- Eclipse
NetBeans
- IntelliJ IDEA
CruiseControl
- JEdit (less tightly coupled)
Features
This is just an initial mixture of "nice to have", "controversial" and "necessary" features.
They will get modified a lot during the 1.8 coding phase.
- remove functionality depending on third party libraries that we
- cannot support or even build - for example starteam and weblogic tasks.
(done: moved into their own AntLibs in the sandbox)
- cannot support or even build - for example starteam and weblogic tasks.
- fix up the sql task.
- add classpath manipulation (classloader task, coreloader etc)
- add logic/controlflow features from jsp/ant-contrib (for, if,
- while, try, var etc)
- better scripting language support
- allow javascript and jruby to create tasks/types natively
- (beanshell, groovy can do this currently).
- allow javascript and jruby to create tasks/types natively
- import improvements (url support, searchpath support)
- if/unless attributes with primitive EL (expression language)
- (ie if="${property.not.present}" will work as if="property.not.present")
- restricted types (i.e. roles)
- some simple build file generators (like seam-gen)
- xmlize the manual goals:
- pdf version output
- clean html output
- easy navigation
- provide streaming xml support for logger and junit.
- ? simple antlib downloads built-in ?
Local variables in macrodef. ant-contrib <var> gives you this, though we could make it easier to mutate properties for them.
- Make tests work for Java6 (rmic).
- 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)
- Add mapper support on archive tasks (zip etc). So you could flatten libraries in WAR/EAR.
- Make it easier for building Ant regarding to its 3rd party libraries. (Maybe via Ivy and a bundled ivy.jar (bundled like antunit.jar))
''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) Maybe use of Ivy for this.
''Want'' Features Implemented
''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.
From 1.7.0 wontfix:
<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)
this has been discussed at dev@ant.apache.org - something will be done for ant 1.8.
- 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.
Testing
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.
(Java 1.3 is EOL as of the Java 6 release. -Jesse)
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.
MUST Pass
- Java 1.3 - Java 6, WinXP, Linux, MacOS, SysV Unix
- Java 6 Vista
Old JDKs can be downloaded from Suns archive
SHOULD Pass
- Recent Java, Netware
MAY Pass
- OpenVMS, Any Java
WONTFIX this release
Definitely not in this release. Pull stuff down here when scrubbed from the previous lists.