【问题标题】:Add a custom command line to Makefile.am in order to fail the build将自定义命令行添加到 Makefile.am 以使构建失败
【发布时间】:2013-11-13 15:39:14
【问题描述】:

我有一些 linux 命令行,当它的输出不为空时,我需要使构建失败。 我们通过使用 AutoMake 构建的 makefile 执行构建。 有很多嵌套的 Makefile.am。 我尝试以不同的方式将此检查添加到几个 makefile.am 但未能成功,主要是语法不接受它或只是不起作用。 如果我只是将此命令行放在 make-install 标签之后并在输出中显示错误但没有使构建失败,那么这就是我所得到的。 会很感激一些有效的sn-p。 谢谢

【问题讨论】:

  • make-install 为时已晚,无法构建失败。你试过什么命令?你想为什么目标做这件事? automake 文件(针对此目标)的相关 sn-ps 是什么样的?
  • 我尝试了几个,例如: install: install-am if [[ -n $(xmlwf applicative_xml/exchange.xml) ]];然后\退出(1); \fi 当前的automake很简单:dist_conf_DATA = logInfo.conf \p0f.fp
  • automake 文件如何生成applicative_xml/exchange.xml 文件?
  • 它不会生成它。它是预定义的 XML 文件。
  • 我认为构建时间对于 xmlwf 检查手动创建的文件来说为时已晚。你为什么不在提交/提交/等处这样做?时间?话虽如此,如果您在构建期间没有生成文件,那么您需要找到在构建过程早期运行的其他构建时目标,并将您的 xmlwf 检查添加到该规则中。

标签: linux build makefile automake


【解决方案1】:

我们最终将此检查放入更简单的 Jenkins 构建脚本中。

我使用的另一个很酷的解决方案是在预提交阶段为所有可以提交的客户端创建 GIT 挂钩(我们使用 GIT 作为存储库)并在那里检查命令。这样,除非此检查完美运行,否则没有人可以提交。 我修改了这个例子来创建这样的钩子:http://codeinthehole.com/writing/tips-for-using-a-git-pre-commit-hook/ 请注意,符号链接对我不起作用,所以我使用了完美的硬链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 2014-03-03
    • 2018-02-18
    • 2018-09-28
    • 1970-01-01
    • 2011-04-10
    相关资源
    最近更新 更多