Сборка Ant завершается неудачно, но всегда выполняет цель в Jenkins - PullRequest
0 голосов
/ 02 ноября 2011

[решено] - в моей системе не был найден правильный 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>
...