> -----Original Message-----
> From: Stefan Bodewig [mailto:[EMAIL PROTECTED]
>
> But I don't feel comfortable with adding magic properties for
> situations like the javac/jikes one in general. Unfortunately I don't
> have a better solution for all situations at hand yet.
>

I agree. Such properties seem like backdoor entries into the task bypassing
the normal interface used to configure the task.

What I had thought would work would be to define configurations for certain
tasks

<taskconfig task="javac">
        <attribute name="compiler" value="Jikes"/>
        <attribute name="pedantic" value="on"/>
</taskconfig>

Effectively these attributes would be set by default for the task when it is
executed. They could then be overridden on a per-task basis. If you know
that Jikes can't compile something, you could force a classic compile, etc.

Such configs could be defined in ${user.home}/.antconfig.xml.

This could also be used for mapping tasks to concrete implentations which
may be useful in the J2EE arena where there are many vendor implementations
of various tools.

<taskconfig task="jspc">
        <implementation task="wljspc"/>
</taskconfig>

It could even use some form of if processing

<taskconfig task="jspc">
        <implementation task="wljspc" if="weblogic.available"/>
        <implementation task="jasper" if="tomcat.available"/>
</taskconfig>

We could also support nested elements which would automatically get added to
the task invocation too. This would allow you to configure options which
make sense in only some implementations

<taskconfig task="javac">
        <attribute name="compiler" value="Jikes"/>
        <jikes pedantic="on"/>
</taskconfig>

What do you think?

Conor

Reply via email to