我正在尝试制作一个Ant目标,如果其他两个目标中的一个完成则会运行。基本上,假设我有三个目标A1,A2和B,我希望B仅在A1或A2运行时运行。 A1和A2取决于条件,因此A1或A2将运行(但不会同时运行)。
例如:
<target name="A1" if="${conditionalVar}">
<target name="A2" unless="${conditionalVar}">
<target name="B" depends="????????">
目标B的'取决于'应该是什么?反正有吗?
答案 0 :(得分:3)
是的,这样的配置是可能的,而且不是很复杂:
诀窍是设置一个将被设置的属性(例如,将其命名为“taskA1.use”)。
<target name="A1" if="taskA1.use" />
<target name="A2" unless="taskA1.use" />
<target name="B" depends="A1,A2" />
因此,即使B依赖于任务A1和A2,也只会执行一个,具体取决于属性“taskA1.use”是否已设置。