CCNet: Comment puis-je copier le numéro de révision svn dans un fichier MSBuild?
-
13-09-2019 - |
Question
Est-ce anyboy savoir comment passer le paramètre LastChangeNumber
dans MSBuild?
Je suis en train d'utiliser ceci:
<Exec Condition=" '$(LastChangeNumber)' != '' " Command=">\\server\destination\subversion_revision.txt echo subversion $(LastChangeNumber)" />
Ce qui ne tient pas compte avec succès la condition si je quitte le paramètre LastChangeNumber du MSBuild, et réussit si je passe un paramètre superposé comme /p:LastChangeNumber=foo
. Cependant, quand j'essaie ceci:
<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>
Je reçois une erreur dans mon journal du serveur CrusieControl.NET:
ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException: Référence à symbole inconnu LastChangeNumber
La solution
Eh bien, je trouve une façon de le faire:
<Exec Command=">$(DeployDir)label.txt echo subversion $(CCNetLabel)" />
Avec une étiqueteuse personnalisée:
<labeller type="assemblyVersionLabeller">
<major>2</major>
<minor>0</minor>
</labeller>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow