如果您有大型组件,安装第三方组件总是需要很长时间,但如果您在多台计算机中设置环境,则需要更长时间.
而且我正在考虑将它们添加到版本控制(Subversion)中,因此使用所有必需的组件检查项目总是很容易的.
那么你如何管理它,以及在VCS中管理它们的最佳实践是什么?
还要考虑其中一些第三方没有来源但是作为Delphi库.(BPL).
如果我们有源,那么我们将它包含在我们的存储库中的单独文件夹下.
如果我们没有源代码,那么我们只保留存储库中最新的二进制文件(bpl,dll等),并在安装文档中包含安装/使用说明.
它看起来像这样:
\root \third_party_stuff \vendor1 --we *do* have the source for this \src \bin \vendor2 --we *do* have the source for this \src \bin \vendor3 --we don't have the source for this one \bin \our_stuff \project1 \src \bin \project2 \src \bin
使用Subversion,我使用外部功能.它使得在多个项目中使用第三方内容变得容易; 当您签出项目时,您也会获得外部依赖项.
如果您还没有,那么您应该获得使用Subversion的实用版本控制的副本.这是一本关于Subversion功能和如何做事的好书.虽然它从命令行引用SVN,但信息也可以轻松转换为TortoiseSVN中的GUI.
为了将组件重新安装到Delphi中以用于较旧的项目,我通常会将用于Delphi的任何版本的注册表项导出到项目的文件夹中,然后将.REG文件与项目一起检查到Subversion中.您可以轻松签出项目,导出现有的Delphi注册表部分以获取相应版本的Delphi,从项目源文件夹导入.REG文件,然后启动Delphi并安装所有组件.
至于"二元BPL"问题,对你感到羞耻!如果您的项目依赖于第三方工具,则应为其购买源代码.这样你就可以防止该公司破产,或者放弃对不兼容的组件或新版Delphi的支持.我总是得到第三方组件的来源; 如果源不可用,我会找到不同的产品或自己编写代码.它被称为自我保护.:-)