我现在在项目树的根目录中有一个 /externals 目录。在这里面,我引用了另一个项目。我可以在主项目 NAnt 脚本中编写所有外部组件的构建脚本。这些构建的结果如下:
/externals/external-project1/build/buildartifacts/{dlls|html|js}
/externals/external-project2/build/buildartifacts/{dlls|html|js}
这一切都很好,但现在我很好奇我的主要项目应该如何引用这些构建工件。例如,假设外部项目构建了我的一些代码库所依赖的 DLL。我应该简单地引用构建工件目录中的 DLL,还是应该实现另一个将这些复制到 /thirdparty/libs/ 文件夹的 NAnt 任务?
这意味着我的构建现在依赖于构建这个外部项目(可以是内部项目,也可以是第三方项目)的能力。签入最新的构建工件集以确保主构建不会因为依赖构建中断而中断是个好主意吗?
希望这足够清楚。只是把这个写下来对我来说至少澄清了这个问题:-)。
- 编辑 -
多谢你们。我想我将实施“签出修订版”,但由于构建速度如此之快,我不会签入任何构建工件。还必须弄清楚如何处理外部项目的依赖关系(例如:原型、swfobject 等)。