如何解决"依赖地狱"在Delphi / Pascal项目中? //源代码模块化为几个git子模块

时间:2017-09-27 21:32:19

标签: delphi pascal

每个项目都包含模块化的源代码并驻留在各自的Git存储库中,它们通过git submodule链接:

  • 项目A取决于项目B,
  • 项目B依赖于项目C(版本X),
  • 项目A取决于项目C(版本Y),

X和Y可能不同。

鉴于这些依赖关系,项目A可以具有以下文件夹结构:

Project A\A.pas
Project A\Libs\Project B\B.pas
Project A\Libs\Project B\Libs\Project C\C.pas
Project A\Libs\Project C\C.pas

但是,项目A将具有以下非工作 uses子句:

uses
  B in 'Libs\Project B\B.pas',
  C in 'Libs\Project B\Libs\Project C\C.pas',
  C in 'Libs\Project C\C.pas';

项目A或项目B是否增加了对项目C的依赖性并不重要。

有没有办法解决Dependency Hell的这种变体?如果是,怎么样?

0 个答案:

没有答案