CCNet: Como faço para copiar o número de revisão svn para um arquivo no MSBuild?
-
13-09-2019 - |
Pergunta
sabe anyboy como passar o parâmetro LastChangeNumber
em MSBuild?
Eu estou tentando usar o seguinte:
<Exec Condition=" '$(LastChangeNumber)' != '' " Command=">\\server\destination\subversion_revision.txt echo subversion $(LastChangeNumber)" />
Que sucesso ignora a condição se eu deixar de fora o parâmetro LastChangeNumber do MSBuild, e consegue se eu passar um parâmetro de beliche como /p:LastChangeNumber=foo
. No entanto, quando eu tente o seguinte:
<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>
Eu recebo um erro no meu log do servidor CrusieControl.NET:
ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException: Referência a símbolo desconhecido LastChangeNumber
Solução
Bem, eu encontrei uma maneira de fazê-lo:
<Exec Command=">$(DeployDir)label.txt echo subversion $(CCNetLabel)" />
Com um rotulador personalizado:
<labeller type="assemblyVersionLabeller">
<major>2</major>
<minor>0</minor>
</labeller>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow