CCNet: Как скопировать номер редакции SVN в файл в MSBuild? - PullRequest
1 голос
/ 22 сентября 2009

Кто-нибудь знает, как передать параметр LastChangeNumber в MSBuild?

Я пытаюсь использовать это:

<Exec Condition=" '$(LastChangeNumber)' != '' " Command=">\\server\destination\subversion_revision.txt echo subversion $(LastChangeNumber)" />

Что успешно игнорирует условие, если я пропускаю параметр LastChangeNumber из MSBuild, и успешно, если я передаю параметр bunk, такой как /p:LastChangeNumber=foo. Однако, когда я пытаюсь это сделать:

  <msbuild>
    <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
    <projectFile>MySolution.sln</projectFile>
    <buildArgs>/noconsolelogger /p:Configuration=Debug /p:LastChangeNumber=$(LastChangeNumber) /v:diag</buildArgs>
    <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
  </msbuild>

В журнале моего сервера CrusieControl.NET появляется ошибка:

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException: Ссылка на неизвестный символ LastChangeNumber

1 Ответ

3 голосов
/ 23 сентября 2009

Ну, я нашел ОДИН способ сделать это:

<Exec Command=">$(DeployDir)label.txt echo subversion $(CCNetLabel)" />

с пользовательским ярлыком:

<labeller type="assemblyVersionLabeller">
  <major>2</major>
  <minor>0</minor>
</labeller>
...