我希望实现一个连续的单元测试运行系统,我听说称之为"冒烟"或"tinderbox",(一个构建服务器,可以执行干净的版本控制检查以及给定源存储库中所有内容的完整系统构建或使用Delphi,小团队的"持续集成"之类的东西.
我不愿承诺商业"构建服务器"产品,我希望我可以通过内置于delphi中的MS-Build支持做很多事情.
我正在寻找资源,想法和开始的地方.我不知道如何使用MS Build来达到这个目的. Steve Trevethen有一个博客文章,引用了对旧的dcc32命令行构建的一些讨论,并且一些评论提到ms-build自delphi 2007以来一直在这里.我正在使用Delphi 2010.我正在寻找指导和见解,以及经验,这将告诉我,这是一条合理的道路,如果没有,我应该走哪条路?
我发现你可以使用/ p:DCU_DcuOutput =覆盖msbuild命令行中的Unit(DCU)和EXE Output Directory.请注意,我查看了DPROJ文件中的XML,以了解如何覆盖内容.
但是,它只执行make,而不是构建,并且/ t:rebuild不起作用(编辑:是的.它在DPROJ文件上工作正常,但在GroupProjects上没有.)
我希望在那里有更多的MSBuild-with-Delphi文档?"Rad Studio 2010"产品文档中的MS-Build帮助显示了有关MS-Build的一两件事,但实际上是粗略和不完整的.
相关问题:
MSBuild的Delphi文档说
/ property:name = value设置或覆盖项目级属性,其中name是属性名称,value是属性值.使用分号或逗号分隔多个属性,或单独指定每个属性./ p也可以接受.例如:
/属性:WarningLevel = 2; OutputDir = BIN \调试
我找不到可用属性的列表,这是我目前所知道的:
我想得到一个完整的列表,但我最感兴趣的是能够覆盖Defines(dcc32 -d等价物).如果这些可以与dcc32相当,那将是锦上添花!
如何让MSBuild完全构建相当于dcc32 -b的Delphi项目?
我有两个我正在尝试构建的项目,第一个使用一些条件定义,它们通过msbuild传递给dcc32.但是,一些常见的单元似乎卡在第一组条件中,因此第二个项目构建不正确.