【发布时间】:2013-03-09 07:55:40
【问题描述】:
我有一个调用两个配方的构建配置。这两个配方必须按定义的顺序执行。
最后执行的配方由 mr.developer 扩展从 git 存储库中获取。然而,当 mr.developer 拉入配方时,它会将其视为一个鸡蛋并首先执行它。这会打乱正确的顺序并且构建失败。
我尝试设置 egg=false 以使配方不会首先执行,但这会阻止配方完全执行,因为它不是鸡蛋。
想知道我的 buildout.cfg 是什么样子的:
[buildout]
develop = .
extensions = mr.developer
auto-checkout = custom-recipe
parts =
part-one
part-two
[sources]
custom-recipe = git http://location.of.repo
[part-one]
recipe = recipe.from.pypi
src = ${buildout:directory}
[part-two]
recipe = custom-recipe
src = ${part-one:src}
应该遵守buildout:parts 中各部分出现的顺序。如果一个部分引用另一个部分,则可以更改顺序以使依赖关系正确。我试图通过从 part-two 引用 part-one 来“欺骗”构建,这不起作用,因为 mr.developer 已经引用了 part-two。
任何帮助将不胜感激。
【问题讨论】:
-
零件订购完全基于依赖关系。
mr.developer但是必须在零件订购之外采取行动,因为它需要先安装鸡蛋,然后再安装其他任何东西。它确实不会弄乱排序本身;第二部分将在第一部分之后运行,但第一部分可以跳过,因为它不需要更新。因此,我认为您的诊断在这里是错误的。