【发布时间】:2011-08-10 13:39:03
【问题描述】:
我必须维护用 Delphi 编写的旧软件。源代码树真是一团糟。我正在尝试做两件事:创建干净的目录结构并设置自动构建过程。
现在我已经生成了以下目录树
\项目
\构建\输出
\dist\发布
\dist\调试
\文档
\环境
\res
\src
\src 目录包含*.pas 和*.dfm 文件和project.dpr。各种资源(图标、图像和字体)位于\res 目录中。 \env 用于创建用于调试目的的各种环境。 IDE 设置为将 project.exe 构建到此目录中。
构建脚本存储在build 文件夹中。这些脚本在dcc32.exe 的帮助下在dist\release 和dist\debug 文件夹中生成产品分发(在exe 中包含和不包含调试信息)。 build\output 用于在 IDE 内部或构建脚本内部构建过程中保存 dcu 文件。
我的方法有一点缺陷。我无法从新计算机开始,从我的 repo 中签出代码,开始构建脚本并接收准备使用的项目分发。我需要先打开IDE,安装所需的组件(例如RXLib和MemoEx),设置库路径等等。只有在这些步骤之后,我才能运行我的构建脚本。
直到上周,这还不是什么大问题。我已经修改了第 3 方组件以修复错误(此组件不再维护 :-(),因此我必须将此组件的代码添加到我的项目结构中。此时如果我将从repo 我需要检查 3rd 方库的代码是否有变化。如果库的代码发生了变化,我需要重新编译组件并重新安装它们。
问题
- 有没有办法从命令行重新安装 Delphi 7 中的组件?有没有办法不用硬编码D7的安装路径?
- 如何在项目树中存储第三方组件的代码?
- 我应该将
bpl和dcu放在哪里,它们将在组件构建期间生成。我应该把它们放在Project\build\output吗?或者最好将输出放置到另一个位置(不要覆盖 Delphi 设置),但在项目配置中更改库路径?
【问题讨论】:
标签: delphi components build-automation project-structuring