[решено] - в моей системе не был найден правильный jar муравейника.Нужно указать путь вручную в сборке xml следующим образом:
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="/usr/share/ant/lib/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>
-------------------------------------------
Q: У меня есть скрипт на python, который запускается через ant / Jenkins, например:
<project name="prjName">
<target name="preRun" description="do something">
....
</target>
<target name="Run" description="Run the python script">
<exec executable="python" failonerror="true">
<arg value="${basedir}/run.py" />
<arg value="something" />
</exec>
</target>
<target name="other1" description="do something">
....
</target>
<target name="other2" description="do something">
....
</target>
</project>
Теперь этот pythonСкрипт запускает внешний инструмент (web-inject, который создает несколько файлов результатов) и продолжает поиск слова FAIL в журналах.Как только он находит FAIL, он делает sys.exit("Error")
. Таким образом, сборка завершается неудачно, но я все еще хочу выполнить цель - other1.Возможно ли это через try-catch?Я делаю это так, но это не работает
<macrodef name="test-case">
<sequential>
<trycatch>
<try>
<exec executable="python" failonerror="true">
<arg value="${basedir}/read.py" />
</exec>
</try>
<catch>
<echo>Investigate exceptions in the run!</echo>
</catch>
<finally>
<antcall target="other1" />
</finally>
</trycatch>
</sequential>
</macrodef>
<target name="other1" description="do something">
....
</target>