有没有办法在多个 buldouts 中重复使用零件?我有几个我想添加到构建中的工具,它们不会随着构建而改变。这是一个示例案例:
- 配置全局构建选项,例如 download-cache=~/.buildout/downloads
- Buildout A 需要 cmake 2.8.4
- Buildout B 需要 cmake 2.8.4
一种方法是将以下内容放入它们的每个配置中
[cmake]
recipe = zc.recipe.cmmi
url = http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
由于这不会在两个构建中发生变化,因此如果可以将其设置为类似于鸡蛋的缓存方式,它将节省更多的磁盘空间。但是,我想不出一个好的方法来做到这一点。我不认为扩建设计时考虑到了这一点。
想法:
是否可以将 cmake tarball 重新分发为 python 蛋?也许为不同的平台编译 tarball 并在鸡蛋中重新分发二进制文件?
另一个想法是有一个可以处理这种行为的配方。也许是一个包含其他配方的配方,并检查该部件是否已全局安装。也许它看起来像这样:
[cmake]
recipe = my.recipe.reusuableparts
real-recipe = zc.recipe.cmmi
url = http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz