我正在使用Ant调用Eclipse PDE Build来构建RCP应用程序的无头构建。据我所知,PDE Build本身调用Ant来构建应用程序,因此我们实际上是在Ant中运行Ant构建。
问题是:当PDE Build由于Java编译器的编译错误而失败时,错误不会传播回启动PDE Build的父Ant脚本。这意味着虽然不是,但据说构建已经成功。但是,当存在其他错误时,它确实会失败,例如当缺少插件时,无法解析依赖关系。
这是我调用构建Eclipse功能的任务:
<target name="feature_build">
<exec executable="java" failonerror="true">
<arg value="-Xmx512m" />
<arg value="-jar" />
<arg value="${equinox.launcher}" />
<arg value="-application" />
<arg value="org.eclipse.ant.core.antRunner" />
<arg value="-buildfile" />
<arg value="${pde.build.dir}/scripts/build.xml" />
</exec>
</target>
我做了一些明显错误的事情,或者这可能是PDE Build中的一个错误?我正在为Eclipse E4 M5构建,根据构建输出,PDE Build的版本是3.9.0-v20131003-1506。