Как проверить, задан ли ${property}.attribute в ant
У меня есть несколько проектов. Каждый из проектов может иметь или не иметь зависимые классы. Если у меня есть зависимые классы, я должен создать jar-файл на основе java-файлов в свойстве class и добавить его в project1 jar, если свойство указано или его следует игнорировать. Теперь я должен динамически пройтись по всем проектам, и в цели я должен проверить наличие свойства и построить, если свойство существует.
<target name="test">
<foreach list="${projects}" target="test2" param="project"/>
</target>
<target name="test2">
<!-- Here i have to test wheter ${project}.class exist or not-->
</target>
Ниже приведен пример файла свойств
projects=project1,project2,...
project1.class=class1.java,class2.java
Здесь у project2 нет свойства.class, поэтому он не должен создавать jar зависимостей. Как я могу проверить существование собственности. Я знаю, что set может использоваться для определения статуса свойства, но это происходит динамически, может кто-то помочь в этом?
1 ответ
Решение
Вы на правильном пути с <isset>
:
<target name="test2">
<if>
<isset property="${project}.class"/>
<then>
<echo message="${project}.class exists -- let's run a build"/>
</then>
</if>
</target>