> > Then why is it an Optional task? > > Because we once decided to call it an optional task. > > > What's optional about it? Did it used to be optional? > > There may have been a JDK 1.2 dependency when Ant was supposed to work > on JDK 1.1, I'm not sure. > > Really, there is no clear distinction between core and optional. Much > of it is historic.
Should we make a policy for categorizing tasks as core/optional? - core: works with the desired JDK only - optional: needs an external library Then we could change the manual order - I think BWC is not a really point here. We dont have to change the package statements of the classes (and shouldnt because of BWC). Benefit: clear order what an optional and what a core component is. Because all optional tasks requires (then) a 3rd party lib, we could bundle them (the Ant classes) as an antlib. Maybe with the external lib itself - if there is no license problem. Mmh - btw "bundling with external libs" ... should we write a "download-ext-lib" target which tries to download the needed libs? <target name="download-ext-lib"> <get src="..../junit.jar" dest="ext-libs/junit.jar"/> <get src="..../bsf.jar" dest="ext-libs/bsf.jar"/> ... </target> (Maybe the <library> would do something here). Jan