在项目之间共享 Delphi 源文件的最佳方式是什么?
澄清:我们希望在多个 Delphi 项目中使用单个源文件。我们一直在使用 SCM 工具将同一个文件放入多个文件夹中,但这并不是一种 super 优雅的体验,我们也在考虑迁移到不支持此功能的工具。
在研究这个问题时,我考虑了几种不同的方法,但我想知道您在做什么以及如何找到自己的方法。
重要场景:
- 编码时间
- 添加新的共享依赖项应需要显式声明,以便管理共享。
- 添加新的共享依赖项应该仍然相对简单;它不需要复杂的过程。
- 如果有一个文件列出了项目(从外部)所有“导入”文件,那就太好了。
- 编译时
- 所有项目应始终使用一个当前版本(截至源同步状态加上本地编辑的当前版本)进行构建。
- (在不同位置维护不同版本应该使用文件分支,这不是这里的主题。)
- 每个项目是否应该能够使用不同的编译器设置(包括标志)影响共享文件的编译是有争议的。
- 始终一致构建的源代码可以说更容易维护(即长期)。
- 如果可以轻松地将上述更改的范围限制在一个项目内,则可以说更容易进行维护修复(即短期)。
- 所有项目应始终使用一个当前版本(截至源同步状态加上本地编辑的当前版本)进行构建。
- 调试时
- 当单步执行例程或设置断点时,应自动打开正确版本的源代码。
- 编辑显示的源代码应该会影响下一个构建。
- 我们不想针对源代码的临时副本进行调试:我们可能会在困惑中丢失代码。
注意事项:
- 近期:
- 哪种方法最容易实现?
- 长期:
- 什么方法最容易使用和维护?
提前感谢您的反馈!
马蒂亚斯
<小时/> --- 更新 ---感谢您通过回答、评论和投票提供反馈!
我已经开始将共享文件放入一个“生产者”项目并将已编译文件列表导入到每个“消费者”项目中。这些项目正在与 MSBuild 链接在一起。一旦事情更加确定,我将编辑这个问题和“图书馆项目”答案,以分享我学到的东西。
敬请期待! (但是不要屏住呼吸;几分钟之内你就会窒息!:P)
最佳答案
使用源代码管理系统的文件共享功能
- 优点:如果 SCM 系统支持,则设置快速且简单。
- 优点/缺点:每个消费者项目都可以独立影响编译时间。
- 缺点:在源的本地工作副本中没有官方位置。
- 这可能会导致困惑。
- 缺点:在 checkin 并重新检索之前,源更改不会反射(reflect)在其他位置。
- 在 checkin 之前正确验证其他项目是可能的,但非常痛苦。
- 缺点:并非所有 SCM 系统都支持共享文件。
- Subversion 最接近的功能是文件夹级 svn:externals。
(编辑:重新命名以避免混淆。当然,每个人都应该使用源代码管理!:-) )
关于delphi - 在项目之间共享 Delphi 源文件的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/259673/