0

我正在研究包含很多项目的 Eclipse 环境。在我的一个项目中,我持有几个带有 XML 模式的 XML 文件。如果任何 xml 文件与 XML 模式不一致,我希望编译不会开始或失败。

我编写了一个比较每个 XML 和模式的 python 脚本,并将它作为预构建步骤运行。

问题是预构建步骤不会在出现错误时停止编译。

我错过了什么吗?

谢谢!

4

1 回答 1

1

不,你没有错过任何东西。eclipse 文档清楚地表明,无论预构建步骤的结果如何,构建步骤都会被执行。这正是发生的事情。

请参阅:http ://help.eclipse.org/luna/topic/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_steps.htm?cp=5_4_7_0_3_3_1

您的解决方案可能是将名为“makefile.defs”的文件放在项目目录中,并向其中添加触发 python 脚本的规则。如果脚本失败,这将停止构建过程。我尝试了类似的方法并且它有效,但是找到正确的规则并不那么容易。因此,我建议您编写自己的 makefile,不要让 eclipse 生成它们。这为您在整个构建过程中提供了最大的灵活性。一个折衷办法是编写一个额外的脚本,调用您的脚本来检查 XML 文件,然后是 eclipse 生成的 makefile。

顺便说一句:忘记python。改用 Ruby。

于 2015-06-02T23:45:20.007 回答