【发布时间】:2012-01-14 00:23:44
【问题描述】:
在深入了解build configuration inheritance 之后,下一个问题出现了:如何处理仅存在于某些包中的构建配置?
从命令行构建过去看起来像这样:
msbuild ..\lib\Package1.dproj /target:Build /p:config=%1
msbuild ..\lib\Package2.dproj /target:Build /p:config=%1
msbuild ..\lib\Package3.dproj /target:Build /p:config=%1
参数config 是Debug 或Release。这运作良好。
现在一些包有了新的构建配置,比如Release_Child_Config(在我的例子中它继承自Release)。我现在必须做(例如):
msbuild ..\lib\Package1.dproj /target:Build /p:config=Release_Child_Config
msbuild ..\lib\Package2.dproj /target:Build /p:config=Release_Child_Config
msbuild ..\lib\Package3.dproj /target:Build /p:config=Release
在此示例中,Package3 没有名为 Release_Child_Config 的构建配置。这意味着我不能再使用一个config 参数了。
我希望所有具有特殊构建配置 Release_Child_Config 的软件包都使用它构建,其他的应该回退到 Release。有可能以某种方式自动化吗?还是我必须为每个包创建每个构建配置?
【问题讨论】:
-
你在
%1传递批处理脚本是什么? -
您可以在您的 .bat 文件中使用 if 语句将 Release 转换为 Release_Child_Config 用于需要的项目。但似乎你正在为自己的生活变得艰难。为什么不坚持简单的 Release?
-
有两个不同的版本。 “正常”版本 (
Release) 和“特殊”版本 (Release_Child_Config)。特殊的是“正常”加 X。我需要能够自动构建它们。
标签: delphi build-automation delphi-2009