Ja, die Abhängigkeiten werden ausgeführt, bevor die Bedingungen ausgewertet werden.
Vom Ant manual:
Wichtig: die, wenn und solange Attribute nur aktivieren oder deaktivieren das Ziel, an die sie gebunden sind. Sie steuern nicht, ob Ziele, von denen ein bedingtes Ziel abhängt, ausgeführt werden. Tatsächlich werden sie erst ausgewertet, wenn das Ziel ausgeführt wird und alle Vorgänger bereits ausgeführt wurden.
Sie auch versucht, sich selbst haben könnte:
<project>
<target name="-runTests">
<property name="testSetupDone" value="foo"/>
</target>
<target name="runTestsIfTestSetupDone" if="testSetupDone" depends="-runTests">
<echo>Test</echo>
</target>
</project>
Ich gründe die Eigenschaft testSetupDone
innerhalb des je Ziel, und der Ausgang ist:
Buildfile: build.xml
-runTests:
runTestsIfTestSetupDone:
[echo] Test
BUILD SUCCESSFUL
Total time: 0 seconds
Ziel -runTests
ist ausgeführt, obwohl testSetupDone
in diesem Moment nicht gesetzt ist, und runTestsIfTestSetupDone
wird nachher ausgeführt ards, so wird depend
vorif
ausgewertet (mit Ant 1.7.0).
, dass keine Antwort auf die Frage, die gestellt wurde. –