Sì, le dipendenze vengono eseguite prima che le condizioni vengano valutate.
Dal Ant manual:
Importante: il se e meno attributi solo attivare o disattivare la porta a cui sono collegati. Non controllano se gli obiettivi che un obiettivo condizionale dipende o meno vengono eseguiti. In realtà, non vengono nemmeno valutati fino a quando l'obiettivo sta per essere eseguito e tutti i suoi predecessori sono già stati eseguiti.
Si potrebbe anche provato da soli:
<project>
<target name="-runTests">
<property name="testSetupDone" value="foo"/>
</target>
<target name="runTestsIfTestSetupDone" if="testSetupDone" depends="-runTests">
<echo>Test</echo>
</target>
</project>
che sto impostando la proprietà testSetupDone
all'interno del bersaglio seconda, e l'uscita è:
Buildfile: build.xml
-runTests:
runTestsIfTestSetupDone:
[echo] Test
BUILD SUCCESSFUL
Total time: 0 seconds
target -runTests
è eseguito, anche se testSetupDone
non è impostato in questo momento e runTestsIfTestSetupDone
viene eseguito dopo ards, quindi depend
viene valutato prima delloif
(utilizzando Ant 1.7.0).
fonte
2010-10-25 12:01:25
Questa non è una risposta alla domanda che è stato chiesto. –