Our Rate of Change
JWare/AntXtras Foundation (AntX) is refactored and extended as the need arises. In particular, as new versions of Ant are released, AntX will change to remain up-to-date and to take advantage of new Ant infrastructure where feasible (and worth the effort). We will always update AntX to fix critical bugs or packaging issues as soon as possible; however, because AntX is still making its way to its 1.0 release, all bug-fixes are rolled into the next point-release with no branching into maintenance releases (ie. we would not create an AntX v0.7.1 for bug-fixes, instead changes and bug-fixes would appear in v0.8).
Below we describe our (near) future plans generally. We estimate there will be four beta releases of AntX 0.6 before the final release; see details below. You can use the AntX Feature Requests Tracker to submit your own enhancement suggestions. We often reschedule features to the next major release if we decide there are enough new concepts and/or components for the release under construction. Items rescheduled in this manner have not fallen behind schedule per se, they’ve just been reprioritized with regards to the current release.
Planned Extensions
01. General
- Need to sign releases. [0.5rc]
- Provide public-facing issue reporting/tracking system. [0.5rc]
- Integrate with Ant 1.6.2 [0.5rc]
- Support for antlibs and namespaces. [0.5rc] (Needs Ant 1.6.2)
- Support for <propertyset>s. [0.4rc]
- Support for <macrodef>s. [0.5b1]
- Support for top-level tasks. [0.4b3]
- Support for mutable properties. [0.4rc]
- Update documentation to apply to Ant 1.6 runtime. [0.4rc]
- Add a version.txt file to AntX distribution. [0.6]
- Move User Guide to web as individual component descriptions. [1.0]
- Export AntXtras/Oofs (One Offs) as a separate release package on SF.net. Include links to package from our “Contributed Source” section. [???]
02. Execution Iteration and Fixture Support
- Introduce build-iteration controls element (other than System properties) that AntX tasks/types use to determine default and/or inherited settings. (AntX value-URIs.) [0.6]
- Add a build-iteration identifier (ITID) that is based on date/time and the standard JWare product information. [0.5rc]
Add a <iterationconfig> element that simplifies the various AntX management tasks (particularly those done once at initialization time like <manageuris>). [0.5rc]
Integration of build-iteration artifacts framework. Now an independent AntXtras project (ssmc).
- Add support for custom classpaths and filepaths to various fixture control and admin tasks like <manageuris>. [0.6]
- Enhance <overlay> so can overlay a <properties> object. [0.6]
- Enhance <isolate> to pay attention to default fixture excludes. Will need to create an equivalent to Ant’s defaultexcludes mechanism. [0.6]
- Enhance <unassign> to support multiple items to unassign at once. [0.6]
03. Execution Rules Framework
- Add ability to turn off <assert>s. [0.5b2]
- Add JRE test to set of platform-specific conditions. Must be supported by our <do> to ensure compatibility with AntUnit. <assert>s. [0.6]
- Add new value-URIs handlers to give access to predefined AntX conditions like <tallyset>s. [0.5rc]
- Fix the various set checking conditions like <allset> to accept string lists
and files. [0.6]
- Rework the “is-available” type conditions to include a new <isdirectory> and <isfile> pair that can be defined with flexible value attributes. [0.6]
- The AntX “httpalive” shorthand conditions should support a secondary “maxwait[millis]” modifier. [0.6]
- Add generic <exists> condition to base AntX framework; in particular to support the new expanded <fixturecheck>. [0.6]
- Enhanced <fixturecheck> to support nested elements including the new <exists> and <antversion> conditions. [0.6]
- Combine <capturelogs> and <captureoutputs> for AntUnit. [0.6]
04. Feedback Framework (Log4Ant)
- Extract functionality of <emitlogs> to a top-level Ant BuildListener that can be used from command line. [0.6]
- Ensure Log4Ant works with Log4J’s Chainsaw 2.x. [0.5rc]
- Make capturing the environment, packaging(zip), and sending(mail) easier from within an <iferror> handler taskset. [0.6]
- Rename <msgsconfigure> to <overlay-msgs> and <emitconfigure> to <overlay-emit> to better sync with our overlay terminology. [0.5rc]
- Ensure Log4Ant works with the upcoming Log4J 1.3 distribution. [0.6|0.7] (Depends on log4j 1.3 beta’s date.)
- Enhance <printenv> and <print> to support a propertieslike option. [0.6]
- Improve the block coverage of the various print component unit tests. [0.6]
05. Flow-Control Framework
- Add ability to call macrodefs from <callforeach> and <call>. [0.5b3]
- Add mode=local support to <foreach>. This mode will make the nested tasks create a macrodef in effect. [0.5b3]
- Extend <callforeach> and <foreach> with fileset loop controls to support a new “basenameonly” parameter. [0.5b2]
- Enhance <domatch> to support choices based on pre-defined conditions like <tallyset>s. [0.5b2]
- Enhance <do> to support general “is true” and “is false” conditions. This mechanism must be compatible with macrodef’s attributes and AntX value-URIs. [0.5b1]
- Enhance <do> to support access to pre-defined conditions as execution controls. Should be based on same code as the <domatch>’s new shorthand condition evaluation. [0.5b2]
Fix <callinline> to reconfigure (enabled) components to overlay environment. Should also redo for <property> and <propertyset>! [0.5rc]
- Add support for a maxloops parameter to looping tasks as a hard-stop mechanism in event of runaway tests or very large sets. [0.5b3]
- Enhance <dowhile> and <foreach> to support a kind of loop break. [???]
- Introduce a kindof default problem handler (that is linked to <iferror> somehow). [0.6]
06. Value URI Framework
- Rework valueuris.xml to auto enable valueuris. This file is never used unless valueuris are being enabled so there's no real point to requiring that mighty long enable it flag! [0.6]
- Add platform test uris for AntX conditions like $os:, $ant[like]:, and $jre[like]:. [0.6]
07. Resource Bundle Messages Framework
- Fix the unintuitive way a "default" message bundle is not searched after a "root" message bundle is installed. Make the default bundle the last in the search path unless explicitly turned off. [0.6]
08. Helpers
- Expose task <copy[system]property> that changes a system property. [0.5b1]
- Add parameter “urlproperty” to various new object tasks (like <newtempfile>) that saves the new item’s location as a URL to specified property. [0.5b1]
- Add support for Ant itself in <vendorinfo> task. [0.6?] (Has been upgraded to support for Apache Depot’s version project so it’s been pushed to a later release, ssmc)
Extend <assign> to support the following operations for integers: "sum", "abs", "min", and "max". Instead added support for float values. [0.5b2]
- Tweak <parentdir> to permit classpath info when looking for resources. [0.6]
- Enhance <properties> to support "refid" and "inherit" parameters. [0.6]
09. Support for other JWare/AntXtras-based Projects
- AntUnit (website).
- CI-Build.
- Subversion.
10. In Need of Future JRE, Ant, and/or newer Third-Party Library
- Determine how the build script’s location can be tranferred to the Log4J context as log event’s source. Currently not be feasible (ssmc). [??]
- Determine whether AntX’s mutable properties helpers <assign> and <assignimport> can leverage the new PropertyHelper utility in Ant 1.6. Currently not be feasible because property helper hooks/overrides are not passed on to sub-projects and are not exposed in the property collections (ssmc). [??]
Status Icons Key
- Item is planned for some future iteration.
- Item design and implementation has started.
- Item has been completed and released to some milestone iteration.
- Item has fallen behind schedule (missed milestone).
- Item has been rescheduled to next major release.
- Item has fallen seriously behind schedule an is in danger of reverting to simply “planned” for a future iteration.
- Item has been cancelled permanently. (This status is shown for one full point release cycle; it is then removed along with item.)
|