对于我的团队城市配置,我有一个带有潜在预处理器宏定义的构建参数。这是一个包含此值的复选框:/p:DefineConstants=IncludeFleetSimulation
。它有这个值,所以我可以很容易地将它添加到我的MSBuild参数中。但是,我也想更改输出文件名。我不希望文件名中包含/p:...
。相反,我想要“IFS”。有没有办法通过TeamCity参数解析有条件地插入一些东西?我想象的是这样的事情:%IFS% != "" ? "_IFS" : ""%
。我如何在TeamCity中实现这一目标?
答案 0 :(得分:0)
我最后编写了一个Nant脚本步骤来实现这一目标:
<project name="RenameFilesBasedOnParamters" default="Rename">
<target name="Rename">
<property name="IncludeFleetSimulation" value="%IncludeFleetSimulation%" />
<property name="currentDirectory" value="%system.teamcity.build.workingDir%" />
<if test="${IncludeFleetSimulation != ''}">
<foreach item="File" property="file">
<in>
<items basedir="${currentDirectory}">
<include name="*%build.number%_%build.vcs.number%*" />
</items>
</in>
<do>
<move file="${file}"
tofile="${currentDirectory + '\' +
path::get-file-name-without-extension(file) +
'_FS' + path::get-extension(file)}" />
</do>
</foreach>
</if>
...