【发布时间】:2010-02-22 18:32:30
【问题描述】:
我正在寻求实现一个连续的单元测试运行系统,我听说过称为“smoketest”或“tinderbox”的东西(一种构建服务器,它可以对给定的所有内容进行干净的版本控制检查和完整的系统构建)源存储库或项目),以及诸如使用 Delphi 的小型团队的“持续集成”之类的东西。
我不愿意致力于商业“构建服务器”产品,并希望我可以通过 delphi 中内置的 MS-Build 支持来做很多事情。
我正在寻找资源、想法和开始的地方。我不知道如何为此目的使用 MS Build。 Steve Trevethen 有一篇博文引发了关于旧 dcc32 命令行构建的一些讨论,一些 cmets 提到了自 delphi 2007 以来一直存在的 ms-build。我正在使用 Delphi 2010。我正在寻找指导和见解,和经验告诉我,这是一条合理的下坡路吗?如果不是,我应该走什么路?
我发现您可以使用 /p:DCU_DcuOutput= 从 msbuild 命令行覆盖单元 (DCU) 和 EXE 输出目录。请注意,我查看了 DPROJ 文件中的 XML 以了解如何覆盖内容。
但是,它只进行制作,而不是构建,并且 /t:rebuild 不起作用(编辑:是的。它在 DPROJ 文件上可以正常工作,但在 GroupProjects 上却不行。)
我希望任何地方都有更多 MSBuild-with-Delphi 文档? “Rad Studio 2010”产品文档中的 MS-Build 帮助显示了有关 MS-Build 的一两件事,但实际上很粗略且不完整。
相关问题:
【问题讨论】:
-
Offtopic,但我们使用 Cygwin makefiles 和 dcc32 来处理这样的事情。原因是我们的大多数项目都源于 Delphi 5 和更早的世界,所以我们只坚持我们所知道的......但它工作正常并且是免费的。
-
/t:rebuild为我做了一个完整的构建,在 dproj 文件上使用 Delphi 2009,您是否尝试在 dproj 而不是 groupproj 上运行 msbuild? stackoverflow.com/questions/1773546/… -
试试mingw的工具,比起cygwin/msys,省去了很多路径麻烦。不幸的是,mingw 似乎已经停止了 coreutils 构建
-
近年来,我开始在 msbuild 之上使用“want”,它为 Delphi 提供了 java 风格的“build.xml”(ant)工具。 wantnext 项目页面:bitbucket.org/wpostma/wantnext
标签: delphi msbuild build-automation