Mystery solved.

I needed to:

1.       Add BuildUri="$(BuildURI)" to the label task

2.       Appended $(LabelQueryScope) to the Name value in the label task

3.       Override GetChangeSetsAndUpdateWorkItems

  <Target Name="GetChangeSetsAndUpdateWorkItems" Condition=" 
'$(IsDesktopBuild)'!='true' ">
    <GenCheckinNotesUpdateWorkItems
          TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
          BuildUri="$(BuildURI)"
          BuildNumber="$(BuildNumber)"
          CurrentLabel="$(BuildNumber)$(LabelQueryScope)"
          LastLabel="$(LastGoodBuildNumber)$(LabelQueryScope)"
          UpdateWorkItems="$(UpdateAssociatedWorkItems)"
          ContinueOnError="true" />
  </Target>

>From memory, the only reason I'm overriding the TFS Label task is to reduce 
>it's scope - this was a problem in TFS 2005 - there was no other way to tell 
>it to  the label just to the required files and not the entire project - hence 
>all change sets in the entire project would be reported.

Does anyone know if there's a new way to limit the label scope in TFS 2008?

Cheers

Matt





From: Matthew Hunter [mailto:[EMAIL PROTECTED]
Sent: Friday, 11 April 2008 11:57 AM
To: [email protected]
Subject: [OzTFS] Build Upgrade from TFS 2005 to 2008 issues

Hi guys,

I've hit some snags upgrading our builds from TFS 2005 to TFS 2008.

 I am having problems picking up the change sets and work items associated with 
a build, it is not picking up the previous build label correctly.

Problem #1
The first snag I hit was that the "label"  task had been changed (infact the 
help online still doesn't seem to be up to date 
http://msdn2.microsoft.com/en-us/library/aa721747.aspx)

Originally I had the following to limit the label to the correct files in my 
project:

<Target Name="CoreLabel" Condition=" '$(IsDesktopBuild)'!='true' " 
DependsOnTargets="$(CoreLabelDependsOn)">
        <Label
Condition=" '$(SkipLabel)'!='true' "
Workspace="$(WorkspaceName)"
Name="$(BuildNumber)@$/$(TeamProject)/$(GetChangesetForFolder)"
Version="W$(WorkspaceName)"
Files="$/$(TeamProject)/$(GetChangesetForFolder)"
Child="$(ChildLabel)"
Comments="$(LabelTaskComment)"
Recursive="true" />
</Target>

I had to change it to this, to get it to work:

<Target Name="CoreLabel" Condition=" '$(IsDesktopBuild)'!='true' " 
DependsOnTargets="$(CoreLabelDependsOn)">
<Label
Condition=" '$(SkipLabel)'!='true' "
TeamFoundationServerURL="$(TeamFoundationServerURL)"
Name="$(BuildNumber)"
Version="W$(WorkspaceName)"
Files="$/$(TeamProject)/$(GetChangesetForFolder)"
Child="$(ChildLabel)"
Comments="$(LabelTaskComment)"
Recursive="true" />
</Target>

The changes made were to remove the "Workspace" element, add the 
TeamFoundationServerURL and change the Name element.

Removing the "@$/$(TeamProject)/$(GetChangesetForFolder)" from the Name element 
was necessary, because it was complaining with:

The label name '[EMAIL PROTECTED]/WorldOriginate/Source' is not supported. It 
must be less than 64 characters, cannot end with a space or period, and cannot 
contain any of the following characters: "/:<>\|*?@

This seems to work fine, and the label is applied correctly when the build 
succeeds.

Problem #2
The next thing to happen was the build worked successfully the first time 
picking up all associated files/work items changes since the last build, but 
the second and subsequent times I have run the build, not work items are picked 
up.  Of course, out put from the build is coming out correctly, but the it's 
just these associations that are missing that is really annoying me.

This is probably because I am overriding the CoreLabel task, but I'm not sure 
why it's happening exactly.

The message I am getting in the build log says:

Task "GenCheckinNotesUpdateWorkItems"
  GenCheckinNotesUpdateWorkItems 
TeamFoundationServerUrl="http://colorado:8080/"; 
BuildUri="vstfs:///Build/Build/2203" CurrentLabel="[EMAIL 
PROTECTED]/WorldOriginate" UpdateWorkItems=True 
BuildNumber="WebSite_20080411.3" BuildUri="vstfs:///Build/Build/2203"
  Warning: Cannot find the last label '': no changesets will be associated with 
the build.

In the only successful build after the upgrade to TFS 2008, it managed to find 
this information, and the build log showed the following:

Task "GenCheckinNotesUpdateWorkItems"
  GenCheckinNotesUpdateWorkItems 
TeamFoundationServerUrl="http://colorado:8080/"; 
BuildUri="vstfs:///Build/Build/2151" CurrentLabel="[EMAIL 
PROTECTED]/WorldOriginate" LastLabel="WebSite_20080311.1" UpdateWorkItems=True 
BuildNumber="WebSite_20080404.7" BuildUri="vstfs:///Build/Build/2151"
  Analyzing labels WebSite_20080311.1 and [EMAIL PROTECTED]/WorldOriginate.
  Querying item history.

Of course, I've had a look at "GenCheckinNotesUpdateWorkItems" task 
(http://msdn2.microsoft.com/en-us/library/aa721749.aspx), but I'm not sure 
where it gets the LastLabel from?

I suspect removing the Removing the 
"@$/$(TeamProject)/$(GetChangesetForFolder)" from the Name element is the 
problem - but I can't figure out where this information should go ...

Also, anyone know where I can get the updated  "label task" documentation for 
TFS 2008?

Any help would be greatly appreciated!!

Thanks

Matthew Hunter

________________________________
[cid:[email protected]]


Matthew Hunter
Senior Developer
Stargate Group
Level 3, 600 Victoria Street
Richmond Victoria 3121
Telephone:

03 8420 3000

Facsimile:

[cid:[email protected]]<http://www.stargategroup.com.au/>


This message contains confidential information and is intended only for the 
individual named. If you are not the named addressee you should not 
disseminate, distribute or copy this e-mail. Please notify the sender 
immediately if you have received this e-mail by mistake and delete this e-mail 
from your system. No responsibility is assumed by the company or its employee 
to any other person for any loss or damage (whether caused by negligence or 
not) arising from the use of the information and advice contained herein. 
Finally, it is your responsibility to check any attachments for viruses and 
defects before opening or sending them on.

________________________________
OzTFS.com - to unsubscribe from this list, send a message back to the list with 
'unsubscribe' as the subject. View the web archives at 
http://www.mail-archive.com/[email protected]/
Powered by mailenable.com, supported by www.readify.net



OzTFS.com - to unsubscribe from this list, send a message back to the list with 
'unsubscribe' as the subject. View the web archives at 
http://www.mail-archive.com/[email protected]/

Powered by mailenable.com, supported by www.readify.net

<<inline: image001.gif>>

<<inline: image004.jpg>>

Reply via email to