CCNet:Как мне скопировать номер редакции svn в файл в MSBuild?
-
13-09-2019 - |
Вопрос
Знает ли кто-нибудь, как передать LastChangeNumber
параметр в MSBuild?
Я пытаюсь использовать это:
<Exec Condition=" '$(LastChangeNumber)' != '' " Command=">\\server\destination\subversion_revision.txt echo subversion $(LastChangeNumber)" />
Который успешно игнорирует условие, если я оставляю параметр LastChangeNumber из MSBuild, и завершается успешно, если я передаю двухъярусный параметр типа /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.СЕТЕВОЙ журнал сервера:
ThoughtWorks.CruiseControl.Core.Config.Препроцессор.Исключение EvaluationException:Ссылка на неизвестный символ Номер последнего изменения
Решение
Что ж, я нашел ОДИН способ сделать это:
<Exec Command=">$(DeployDir)label.txt echo subversion $(CCNetLabel)" />
С помощью специальной этикетировочной машины:
<labeller type="assemblyVersionLabeller">
<major>2</major>
<minor>0</minor>
</labeller>
Не связан с StackOverflow