1

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

4

1 回答 1

1

我最终编写了一个 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>
    ...
于 2012-09-13T21:20:07.410 回答