delphi - 如何使用 MSBuild 和包含在存储库中的编译器构建 delphi 应用程序(未随 IDE 安装)
问题描述
我的问题是以下情况是否可能。
- 我有一个安装了 MSBuild 的系统(可能是 Docker 映像)。
- 我有一个存储库,其中包含我的源代码(Delphi)和 delphi 编译器(目录 bin 和 lib)。
- 现在我在该系统上签出我的存储库,并希望使用 msbuild 来构建我的应用程序,并且 msbuild 应该使用我的存储库中的编译器。
这背后的想法是,将构建我的应用程序所需的所有数据(源代码、资源、编译器、构建脚本......)放在一个地方。我想使用 MSBuild,因为在那里我可以构建 .dproj 文件,而不是包含更少信息(例如:搜索路径)的 .dpr 文件(使用 dcc)。
解决方案
在 BIN 文件夹中有一个名为 RSVARS.bat 的文件,用于设置所需的环境变量。当您将包含 BIN/LIB 文件夹的存储库克隆到构建机器时,您应该考虑所需的路径并根据需要创建新的 rsvars.bat 或更新此文件。
然后你可以运行这样的东西来构建你的项目:
msbuild projectname.dproj /t:build /p:Configuration=Release /p:platform=Win32
我最近在一篇博文中详细介绍了 Jenkins 和 Delphi 构建。您可以浏览 Jenkins 部分并仅参考命令行构建信息,主要是“配置 Delphi 构建代理”和“在 Delphi 项目中使用 MSBuild 的注意事项”部分:https ://www.ideasawakened.com/post/getting -started-with-ci-cd-using-delphi-and-jenkins-on-windows
推荐阅读
- liferay-7 - 寻找使用 vuejs 配置故事书的示例 Liferay Portlet
- javascript - 自定义 chrome 扩展的 Extensionpay 支付页面?
- makefile - 如何让 CMake/CPack 为每个操作系统内的不同操作系统和不同架构生成多个包?
- c# - c# 使用与变量不同的类型设置属性
- typescript - 为什么在装饰器中使用 Object.defineProperty 创建的属性不会显示在对象上?
- angularjs - 如何在 Angular 项目中添加外部 APK
- python-3.x - 在tkinter中单击按钮后如何消失?
- javascript - 使用 API 获取数据获取请求复制响应结果数据
- python - 如何在pytorch中实现这个方程?
- informatica - Informatica Cloud 上的 Data Integrator 工具中的表达式