I've found the same issue with CC.Net 1.5.6697.8 from CCNetLive in a
forceBuild publisher.
I'm also using the parameters stored in the build log xml with the xpath
expression
<xsl:variable name="CCNetLabel"
select="/cruisecontrol/parameters/paramet...@name='$CCNetLabel']/@value"/>
in a dashboard XSL transform and also finding the same out of date label.
I think I've tracked down the source of this issue to
IntegrationRunner.Integrate() in core/IntegrationRunner.cs. After the
build label is created it is updated on the IIntegrationResult, but
neither the result.Parameters array nor the
result.IntegrationRequest.BuildValues hash is updated. Updating these
just after the calls to target.CreateLabel() seems to fix the problem.
The ExecutableTask is not effected because it obtains the CCNetLabel via
IIntegrationResult.IntegrationProperties, which creates a fresh hash
table every time containing the latest value of IIntegrationResult.Label.
-- Allen
Christophe Planty wrote:
Hi,
With the RC1 version (never tryed with older versions), I encountered
a strange behaviour while trying to use CCNetLabel value in publisher
block :
i can retreive $[$CCNetLabel] , but it's the label of the previous
build , not the current one .
I wonder if it's the expected result. (I'd expect the current's build
label , then there's maybe some changes to do in my config)
config is basically like :
<project ....
<labeller type="defaultlabeller">
<initialBuildLabel>1</initialBuildLabel>
<prefix>MyBuild-</prefix>
<incrementOnFailure>true</incrementOnFailure>
<labelFormat>00000</labelFormat>
</labeller>
<tasks>
.. some tasks
<tasks>
<publishers>
.. some other publishers
<exec>
<executable>test.bat</executable>
<buildArgs>logForTest $[$CCNetLabel]</buildArgs>
</exec>
</publishers>
the small test.bat just echo and logs in a file the arguments ...
i observed same bahaviour with <labeller type="lastChangeLabeller">
is there a way to retreive current's build label from within ccnet
config ?
( mail publisher , statistics publisher retreives the good label ... )