Hi,

It's currently difficult to make reusable script when using <exec> task or
any other task using commandline args.
We oftenly need some "dynamic arguments" and this can be complicated.

Therefor, i suggest to introduce if/unless conditions on comand line args :

<exec executable="git">
   <arg value="commit"/>
   <arg line="-a" if="${commit.all.files}"/>
   <arg value="-m"/>
   <arg value="${commit.message}"/>
</exec>

I have a working implementation  with related tests and documentation.
Commandline.Arg class now extends ProjectComponent, and expose accessors
for if/unless condition, and rely on PropertyHelper to check conditions.

Is this sufficient ? From what i have seen, it doesn't break backward
compatibility at least all tests are green :p.

The setProject(Project p) method should be invoked "automatically" by
ProjectHelper isn't it ?

If ant is used in pure java and we ommited invoking setProject(Project p)
method, it should also works as PropertyHelper seems null safe.

If there is no objection i will commit this this week end.

Reply via email to