ANT无法获取Python脚本返回的退出代码
我现在在一台Windows XP的电脑上,用ant来构建我的Java项目。在build.xml文件里,我定义了不同的任务,其中一个任务是执行一个Python脚本,用来分析应用程序的输出。
我想让ANT在脚本发现特定标签时失败。我尝试了以下方法:
sys.exit(1)
或者
os.system("EXIT 1")
特别是第二个方法,它会执行控制台命令EXIT,这样在批处理文件里执行时确实能让构建过程失败。不过,遗憾的是,ant无法从被调用的脚本中获取退出代码,结果还是正常进行到最后,显示“构建成功”的信息。
这个脚本是这样调用的:
<exec dir="${path}/scripts" executable="python">
<arg line='log_analysis.py results.log" ' />
</exec>
谢谢你的帮助
1 个回答
17
试试这个:
<exec dir="${path}/scripts" executable="python" failonerror="true">
<arg line="log_analysis.py results.log" />
</exec>
默认情况下,Ant在命令执行出错时不会停止构建过程,也就是说即使出现了错误,它也会继续运行。要让它在出错时停止,你需要设置 failonerror="true"
。