С чем-то вроде этого:
<project name="foo-bar" basedir=".">
<target name="bar" depends="foo" unless="isAvailable">
<echo message="file is not available" />
</target>
<target name="foo">
<available file="${basedir}/path/to/file.java" property="isAvailable"/>
</target>
</project>
- Цель "bar" зависит от цели "foo".
- Когда выполняется «foo», он проверяет наличие файла.
- Если он существует, он устанавливает свойство
isAvailable
.
- Цель "bar" будет выполняться и выводить сообщение только в том случае, если
isAvailable
не задано.
Вы также можете поместить <available>
на «корневой уровень» вашей сборки (вне цели, как прямой дочерний элемент <project>
, и он будет оценен до запуска любой из целей:
<project name="foo" basedir=".">
<available file="${basedir}/path/to/file.java" property="isAvailable"/>
<target name="bar" unless="isAvailable">
<echo message="file is not available" />
</target>
</project>