我正在研究包含很多项目的 Eclipse 环境。在我的一个项目中,我持有几个带有 XML 模式的 XML 文件。如果任何 xml 文件与 XML 模式不一致,我希望编译不会开始或失败。
我编写了一个比较每个 XML 和模式的 python 脚本,并将它作为预构建步骤运行。
问题是预构建步骤不会在出现错误时停止编译。
我错过了什么吗?
谢谢!
我正在研究包含很多项目的 Eclipse 环境。在我的一个项目中,我持有几个带有 XML 模式的 XML 文件。如果任何 xml 文件与 XML 模式不一致,我希望编译不会开始或失败。
我编写了一个比较每个 XML 和模式的 python 脚本,并将它作为预构建步骤运行。
问题是预构建步骤不会在出现错误时停止编译。
我错过了什么吗?
谢谢!
不,你没有错过任何东西。eclipse 文档清楚地表明,无论预构建步骤的结果如何,构建步骤都会被执行。这正是发生的事情。
您的解决方案可能是将名为“makefile.defs”的文件放在项目目录中,并向其中添加触发 python 脚本的规则。如果脚本失败,这将停止构建过程。我尝试了类似的方法并且它有效,但是找到正确的规则并不那么容易。因此,我建议您编写自己的 makefile,不要让 eclipse 生成它们。这为您在整个构建过程中提供了最大的灵活性。一个折衷办法是编写一个额外的脚本,调用您的脚本来检查 XML 文件,然后是 eclipse 生成的 makefile。
顺便说一句:忘记python。改用 Ruby。