Hi, Thanks for patching the patch, i installed version 1.5.6868.1 on top of RC1 and CCNetLabel is now updated with accurate value.
/Chris On Tue, Feb 9, 2010 at 11:38 PM, Craig Sutherland <[email protected]>wrote: > Hello all, > > > > We have put in a fix for this – it will take a new snapshot of the > integration properties after the label has been generated. This is available > from the latest build on ccnetlive. > > > > As a bit of background for this problem – build values were intended to be > static values that are set at the beginning of the build (i.e. they came > from the parameter values that people entered.) Over time people added > additional functionality (added integration properties, changed to using > build values within source control blocks, etc.) So we probably need to > resolve the best way of handling this some time, rather than just adding > patches on top of patches L > > > > > > Craig > > > > *From:* [email protected] [mailto:[email protected]] *On > Behalf Of *Ruben Willems > *Sent:* Wednesday, 10 February 2010 10:24 a.m. > > *To:* [email protected] > *Subject:* Re: [ccnet-user] using Dynamic Value in publisher block > (CCNetLabel) > > > > Hi > > created an issue > http://jira.public.thoughtworks.org/browse/CCNET-1816 > > working on a solution > > with kind regards > Ruben Willems > > On Tue, Feb 9, 2010 at 12:01 AM, Allen Weeks <[email protected]> > wrote: > > 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 ... ) > > > > > > > > >
