Может ли цель Ant зависеть от завершения одной из ее зависимостей, но не от обеих? - PullRequest
0 голосов
/ 21 декабря 2011

Я пытаюсь создать цель Ant, которая будет работать, если завершится ОДНА из двух других целей.По сути, предполагая, что у меня есть три цели: А1, А2 и В, я хочу, чтобы Б запускалась только в случае запуска А1 ИЛИ А2.A1 и A2 зависят от условия, поэтому будут выполняться A1 или A2 (но никогда не оба).

Например:

<target name="A1" if="${conditionalVar}"> 
<target name="A2" unless="${conditionalVar}">
<target name="B" depends="????????">

Каким должно быть «зависит» для цели B?Есть ли в любом случае, чтобы сделать это?

1 Ответ

3 голосов
/ 21 декабря 2011

Да, такая конфигурация возможна и не очень сложна:

Хитрость заключается в том, чтобы установить свойство, которое будет проверяться, если оно установлено (например, называть его «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" или нет.

...