You can use "if" from ant-contrib:
http://ant-contrib.sourceforge.net/tasks/tasks/if.html
<if><isset property="doit"/>
<then><antcall>....</antcall></then>
</if>
All possible "if" conditions are here:
http://ant.apache.org/manual/CoreTasks/conditions.html
Hope it helps,
Dmitri.
Cyril Sagan wrote:
Our build script needs to run an arbitrary *group* of targets based on
a single property. Can you help me find a clean way to do this?
Here's an "almost solution" which illustrates what I'd like to
accomplish:
<target name="all" depends="init, decide_to_run_group, wrapper" />
<target name="decide_to_run_group">
<condition property="doit" value="true">
<some-boolean-test/>
</condition>
</target>
<target name="wrapper" if="doit">
<antcall>
<target name="A" />
<target name="B" />
<target name="C" />
<target name="D" />
</antcall>
</target>
This does not work. The problem is that any properties set in the
<antcall>'d targets will not be visible in the calling environment.
Targets A,B,C,etc -- not all of which I control, so I cannot
restructure -- may have side effects, setting state in properties that
I need to have access to.
Regarding the "<antcall> almost solution", I see that there are ways
to pass properties "down to" <antcall>, but I do not know of a clean
way to "pass back". I found a year+ old question on ant-dev asking
about this, but never saw an answer.
In any case, we aren't set on using (enhancing?) <antcall>, it was
just close to a solution.
Goal is to group the set of targets. I'm hoping to find a solution
less awkward than this:
<target name="A" if="doit" ... />
<target name="B" if="doit" ... />
<target name="C" if="doit" ... />
<target name="D" if="doit" ... />
Thanks for any suggestions.
--Cyril
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]