TeamCity构建参数:重用具有多个值的复选框?

时间:2012-09-04 20:48:50

标签: msbuild preprocessor teamcity

对于我的团队城市配置,我有一个带有潜在预处理器宏定义的构建参数。这是一个包含此值的复选框:/p:DefineConstants=IncludeFleetSimulation。它有这个值,所以我可以很容易地将它添加到我的MSBuild参数中。但是,我也想更改输出文件名。我不希望文件名中包含/p:...。相反,我想要“IFS”。有没有办法通过TeamCity参数解析有条件地插入一些东西?我想象的是这样的事情:%IFS% != "" ? "_IFS" : ""%。我如何在TeamCity中实现这一目标?

1 个答案:

答案 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>
    ...