> > 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