/BuildProcessTemplates/DefaultTemplate.xaml
XAML | 602 lines | 602 code | 0 blank | 0 comment | 0 complexity | 8edd2f8ca73bf4f820af4196e9ebc21d MD5 | raw file
Possible License(s): BSD-3-Clause
1<Activity mc:Ignorable="sap" x:Class="TfsBuild.Process" this:Process.BuildSettings="[New Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings()]" this:Process.TestSpecs="[New Microsoft.TeamFoundation.Build.Workflow.Activities.TestSpecList(New Microsoft.TeamFoundation.Build.Workflow.Activities.TestAssemblySpec("**\*test*.dll"))]" this:Process.BuildNumberFormat="["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"]" this:Process.CleanWorkspace="[Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All]" this:Process.RunCodeAnalysis="[Microsoft.TeamFoundation.Build.Workflow.Activities.CodeAnalysisOption.AsConfigured]" this:Process.SourceAndSymbolServerSettings="[New Microsoft.TeamFoundation.Build.Workflow.Activities.SourceAndSymbolServerSettings(True, Nothing)]" this:Process.AgentSettings="[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }]" this:Process.AssociateChangesetsAndWorkItems="[True]" this:Process.CreateWorkItem="[True]" this:Process.DropBuild="[True]" this:Process.MSBuildPlatform="[Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto]" this:Process.PerformTestImpactAnalysis="[True]" this:Process.CreateLabel="[True]" this:Process.DisableTests="[False]" this:Process.Verbosity="[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]" this:Process.SupportedReasons="All" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mt="clr-namespace:Microsoft.TeamFoundation;assembly=Microsoft.TeamFoundation.Common" xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client" xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mttbb="clr-namespace:Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities;assembly=Microsoft.TeamFoundation.TestImpact.BuildIntegration" xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client" xmlns:mtvc1="clr-namespace:Microsoft.TeamFoundation.VersionControl.Common;assembly=Microsoft.TeamFoundation.VersionControl.Common" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:sa="clr-namespace:System.Activities;assembly=System.Activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:si="clr-namespace:System.IO;assembly=mscorlib" xmlns:sl="clr-namespace:System.Linq;assembly=System.Core" xmlns:this="clr-namespace:TfsBuild" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
2 <x:Members>
3 <x:Property Name="BuildSettings" Type="InArgument(mtbwa:BuildSettings)" />
4 <x:Property Name="TestSpecs" Type="InArgument(mtbwa:TestSpecList)" />
5 <x:Property Name="BuildNumberFormat" Type="InArgument(x:String)" />
6 <x:Property Name="CleanWorkspace" Type="InArgument(mtbwa:CleanWorkspaceOption)" />
7 <x:Property Name="RunCodeAnalysis" Type="InArgument(mtbwa:CodeAnalysisOption)" />
8 <x:Property Name="SourceAndSymbolServerSettings" Type="InArgument(mtbwa:SourceAndSymbolServerSettings)" />
9 <x:Property Name="AgentSettings" Type="InArgument(mtbwa:AgentSettings)" />
10 <x:Property Name="AssociateChangesetsAndWorkItems" Type="InArgument(x:Boolean)" />
11 <x:Property Name="CreateWorkItem" Type="InArgument(x:Boolean)" />
12 <x:Property Name="DropBuild" Type="InArgument(x:Boolean)" />
13 <x:Property Name="MSBuildArguments" Type="InArgument(x:String)" />
14 <x:Property Name="MSBuildPlatform" Type="InArgument(mtbwa:ToolPlatform)" />
15 <x:Property Name="PerformTestImpactAnalysis" Type="InArgument(x:Boolean)" />
16 <x:Property Name="CreateLabel" Type="InArgument(x:Boolean)" />
17 <x:Property Name="DisableTests" Type="InArgument(x:Boolean)" />
18 <x:Property Name="GetVersion" Type="InArgument(x:String)" />
19 <x:Property Name="PrivateDropLocation" Type="InArgument(x:String)" />
20 <x:Property Name="Verbosity" Type="InArgument(mtbw:BuildVerbosity)" />
21 <x:Property Name="Metadata" Type="mtbw:ProcessParameterMetadataCollection" />
22 <x:Property Name="SupportedReasons" Type="mtbc:BuildReason" />
23 </x:Members>
24 <this:Process.MSBuildArguments>
25 <InArgument x:TypeArguments="x:String" />
26 </this:Process.MSBuildArguments>
27 <this:Process.GetVersion>
28 <InArgument x:TypeArguments="x:String" />
29 </this:Process.GetVersion>
30 <this:Process.Metadata>
31 <mtbw:ProcessParameterMetadataCollection />
32 </this:Process.Metadata>
33 <mva:VisualBasic.Settings>Assembly references and imported namespaces serialized as XML namespaces</mva:VisualBasic.Settings>
34 <sap:WorkflowViewStateService.ViewState>
35 <scg:Dictionary x:TypeArguments="x:String, x:Object">
36 <x:Boolean x:Key="ShouldExpandAll">True</x:Boolean>
37 </scg:Dictionary>
38 </sap:WorkflowViewStateService.ViewState>
39 <Sequence sad:XamlDebuggerXmlReader.FileName="C:\vstf\lab26vsts\src\vset\SCM\BigBuild\templates\defaulttemplate.xaml" sap:VirtualizedContainerService.HintSize="1972,13038" mtbwt:BuildTrackingParticipant.Importance="None">
40 <Sequence.Variables>
41 <Variable x:TypeArguments="mtbc:IBuildDetail" Name="BuildDetail" />
42 </Sequence.Variables>
43 <sap:WorkflowViewStateService.ViewState>
44 <scg:Dictionary x:TypeArguments="x:String, x:Object">
45 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
46 </scg:Dictionary>
47 </sap:WorkflowViewStateService.ViewState>
48 <mtbwa:GetBuildDetail DisplayName="Get the Build" sap:VirtualizedContainerService.HintSize="1950,22" mtbwt:BuildTrackingParticipant.Importance="Low" Result="[BuildDetail]" />
49 <Sequence DisplayName="Update Drop Location" sap:VirtualizedContainerService.HintSize="1950,1310" mtbwt:BuildTrackingParticipant.Importance="Low">
50 <sap:WorkflowViewStateService.ViewState>
51 <scg:Dictionary x:TypeArguments="x:String, x:Object">
52 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
53 </scg:Dictionary>
54 </sap:WorkflowViewStateService.ViewState>
55 <mtbwa:InvokeForReason DisplayName="Update Build Number for Triggered Builds" sap:VirtualizedContainerService.HintSize="611,146" Reason="Triggered">
56 <mtbwa:UpdateBuildNumber BuildNumberFormat="[BuildNumberFormat]" DisplayName="Update Build Number" sap:VirtualizedContainerService.HintSize="200,22" />
57 </mtbwa:InvokeForReason>
58 <If Condition="[DropBuild AndAlso (BuildDetail.Reason And Microsoft.TeamFoundation.Build.Client.BuildReason.Triggered) = BuildDetail.Reason]" DisplayName="If DropBuild And Build Reason is Triggered" sap:VirtualizedContainerService.HintSize="611,550" mtbwt:BuildTrackingParticipant.Importance="Low">
59 <If.Then>
60 <Sequence sap:VirtualizedContainerService.HintSize="486,449" mtbwt:BuildTrackingParticipant.Importance="None">
61 <sap:WorkflowViewStateService.ViewState>
62 <scg:Dictionary x:TypeArguments="x:String, x:Object">
63 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
64 </scg:Dictionary>
65 </sap:WorkflowViewStateService.ViewState>
66 <If Condition="[String.IsNullOrEmpty(BuildDetail.DropLocationRoot)]" DisplayName="If DropLocationRoot is empty" sap:VirtualizedContainerService.HintSize="464,201" mtbwt:BuildTrackingParticipant.Importance="Low">
67 <If.Then>
68 <Throw DisplayName="Throw EmptyDropLocationRootException" Exception="[New Microsoft.TeamFoundation.Build.Workflow.Activities.EmptyDropLocationRootException(BuildDetail.BuildDefinition.Name)]" sap:VirtualizedContainerService.HintSize="269,100" mtbwt:BuildTrackingParticipant.Importance="Low" />
69 </If.Then>
70 </If>
71 <mtbwa:SetBuildProperties DisplayName="Set Drop Location" DropLocation="[BuildDetail.DropLocationRoot + "\" + BuildDetail.BuildDefinition.Name + "\" + BuildDetail.BuildNumber]" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" PropertiesToSet="DropLocation" />
72 <mtbwa:CreateDirectory Directory="[BuildDetail.DropLocation]" DisplayName="Create the Drop Location" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Normal" />
73 </Sequence>
74 </If.Then>
75 </If>
76 <If Condition="[DropBuild AndAlso BuildDetail.Reason = Microsoft.TeamFoundation.Build.Client.BuildReason.ValidateShelveset]" DisplayName="If DropBuild And Build Reason is ValidateShelveset" sap:VirtualizedContainerService.HintSize="611,410" mtbwt:BuildTrackingParticipant.Importance="Low">
77 <If.Then>
78 <If Condition="[Not String.IsNullOrEmpty(PrivateDropLocation)]" sap:VirtualizedContainerService.HintSize="464,309" mtbwt:BuildTrackingParticipant.Importance="None">
79 <If.Then>
80 <Sequence sap:VirtualizedContainerService.HintSize="231,208" mtbwt:BuildTrackingParticipant.Importance="None">
81 <sap:WorkflowViewStateService.ViewState>
82 <scg:Dictionary x:TypeArguments="x:String, x:Object">
83 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
84 </scg:Dictionary>
85 </sap:WorkflowViewStateService.ViewState>
86 <mtbwa:SetBuildProperties DisplayName="Set Drop Location for Private Build" DropLocation="[PrivateDropLocation + "\" + BuildDetail.BuildDefinition.Name + "\" + BuildDetail.BuildNumber]" sap:VirtualizedContainerService.HintSize="200,22" mtbwt:BuildTrackingParticipant.Importance="Low" PropertiesToSet="DropLocation" />
87 <mtbwa:CreateDirectory Directory="[BuildDetail.DropLocation]" DisplayName="Create the Drop Location" sap:VirtualizedContainerService.HintSize="200,22" mtbwt:BuildTrackingParticipant.Importance="Normal" />
88 </Sequence>
89 </If.Then>
90 <If.Else>
91 <mtbwa:WriteBuildWarning sap:VirtualizedContainerService.HintSize="208,208" Message="The build outputs for this private build will not be copied to the drop location because the PrivateDropLocation is not set." />
92 </If.Else>
93 </If>
94 </If.Then>
95 </If>
96 </Sequence>
97 <mtbwa:AgentScope DisplayName="Run On Agent" sap:VirtualizedContainerService.HintSize="1950,11316" MaxExecutionTime="[AgentSettings.MaxExecutionTime]" MaxWaitTime="[AgentSettings.MaxWaitTime]" ReservationSpec="[AgentSettings.GetAgentReservationSpec()]">
98 <mtbwa:AgentScope.Variables>
99 <Variable x:TypeArguments="mtbc:IBuildAgent" Name="BuildAgent" />
100 <Variable x:TypeArguments="mtvc:Workspace" Name="Workspace" />
101 <Variable x:TypeArguments="x:String" Name="BuildDirectory" />
102 <Variable x:TypeArguments="x:String" Default="[BuildDetail.BuildNumber]" Name="LabelName" />
103 <Variable x:TypeArguments="x:String" Name="WorkspaceName" />
104 <Variable x:TypeArguments="x:String" Name="SourcesDirectory" />
105 <Variable x:TypeArguments="x:String" Name="BinariesDirectory" />
106 <Variable x:TypeArguments="x:String" Name="TestResultsDirectory" />
107 </mtbwa:AgentScope.Variables>
108 <Sequence DisplayName="Initialize Variables" sap:VirtualizedContainerService.HintSize="1928,1046" mtbwt:BuildTrackingParticipant.Importance="Low">
109 <sap:WorkflowViewStateService.ViewState>
110 <scg:Dictionary x:TypeArguments="x:String, x:Object">
111 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
112 </scg:Dictionary>
113 </sap:WorkflowViewStateService.ViewState>
114 <mtbwa:GetBuildAgent DisplayName="Get the Agent" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" Result="[BuildAgent]" />
115 <mtbwa:GetBuildDirectory DisplayName="Get the Build Directory" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" Result="[BuildDirectory]" />
116 <Assign x:TypeArguments="x:String" DisplayName="Initialize Workspace Name" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" To="[WorkspaceName]" Value="[String.Format("{0}_{1}_{2}", BuildDetail.BuildDefinition.Id, Microsoft.TeamFoundation.LinkingUtilities.DecodeUri(BuildAgent.Uri.AbsoluteUri).ToolSpecificId, BuildAgent.ServiceHost.Name)]" />
117 <Assign x:TypeArguments="x:String" DisplayName="Initialize Sources Directory" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" To="[SourcesDirectory]" Value="[String.Format("{0}\Sources", BuildDirectory)]" />
118 <Assign x:TypeArguments="x:String" DisplayName="Initialize Binaries Directory" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" To="[BinariesDirectory]" Value="[String.Format("{0}\Binaries", BuildDirectory)]" />
119 <Assign x:TypeArguments="x:String" DisplayName="Initialize TestResults Directory" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" To="[TestResultsDirectory]" Value="[String.Format("{0}\TestResults", BuildDirectory)]" />
120 <If Condition="[Not BuildSettings.HasPlatformConfigurations]" DisplayName="If Not BuildSettings.HasPlatformConfigurations" sap:VirtualizedContainerService.HintSize="464,201" mtbwt:BuildTrackingParticipant.Importance="Low">
121 <If.Then>
122 <AddToCollection x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="Use Default Platform Configuration" Collection="[BuildSettings.PlatformConfigurations]" Item="[Microsoft.TeamFoundation.Build.Workflow.Activities.PlatformConfiguration.Default]" mtbwt:BuildTrackingParticipant.Importance="Low" />
123 </If.Then>
124 </If>
125 <If Condition="[WorkspaceName.Length > Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize]" DisplayName="If WorkspaceName > MaxSize" sap:VirtualizedContainerService.HintSize="464,309" mtbwt:BuildTrackingParticipant.Importance="Low">
126 <If.Then>
127 <Sequence sap:VirtualizedContainerService.HintSize="281,208" mtbwt:BuildTrackingParticipant.Importance="None">
128 <sap:WorkflowViewStateService.ViewState>
129 <scg:Dictionary x:TypeArguments="x:String, x:Object">
130 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
131 </scg:Dictionary>
132 </sap:WorkflowViewStateService.ViewState>
133 <mtbwa:WriteBuildWarning sap:VirtualizedContainerService.HintSize="200,22" Message="[String.Format("The workspace name '{0}' exceeds the maximum allowed limit of '{1}' characters. Truncating it to match the maximum limit.", WorkspaceName, Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize)]" />
134 <Assign x:TypeArguments="x:String" DisplayName="Truncate WorkspaceName to MaxSize" sap:VirtualizedContainerService.HintSize="200,22" mtbwt:BuildTrackingParticipant.Importance="Low" To="[WorkspaceName]" Value="[WorkspaceName.Substring(0, Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize).TrimEnd()]" />
135 </Sequence>
136 </If.Then>
137 </If>
138 </Sequence>
139 <Sequence DisplayName="Initialize Workspace" sap:VirtualizedContainerService.HintSize="1928,1819" mtbwt:BuildTrackingParticipant.Importance="Low">
140 <sap:WorkflowViewStateService.ViewState>
141 <scg:Dictionary x:TypeArguments="x:String, x:Object">
142 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
143 </scg:Dictionary>
144 </sap:WorkflowViewStateService.ViewState>
145 <mtbwa:DeleteDirectory Directory="[TestResultsDirectory]" DisplayName="Delete Test Results Directory" sap:VirtualizedContainerService.HintSize="818,22" mtbwt:BuildTrackingParticipant.Importance="Normal" Recursive="[True]" />
146 <If Condition="[Not CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.None]" DisplayName="If Not CleanWorkspace = CleanWorkspaceOption.None" sap:VirtualizedContainerService.HintSize="818,201" mtbwt:BuildTrackingParticipant.Importance="Low">
147 <If.Then>
148 <mtbwa:DeleteDirectory Directory="[BinariesDirectory]" DisplayName="Delete Binaries Directory" sap:VirtualizedContainerService.HintSize="269,100" mtbwt:BuildTrackingParticipant.Importance="Normal" />
149 </If.Then>
150 </If>
151 <If Condition="[CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All]" DisplayName="If CleanWorkspace = CleanWorkspaceOption.All" sap:VirtualizedContainerService.HintSize="818,309" mtbwt:BuildTrackingParticipant.Importance="Low">
152 <If.Then>
153 <Sequence DisplayName="Delete Workspace and Sources Directory" sap:VirtualizedContainerService.HintSize="281,208" mtbwt:BuildTrackingParticipant.Importance="Low">
154 <sap:WorkflowViewStateService.ViewState>
155 <scg:Dictionary x:TypeArguments="x:String, x:Object">
156 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
157 </scg:Dictionary>
158 </sap:WorkflowViewStateService.ViewState>
159 <mtbwa:DeleteWorkspace DeleteLocalItems="[True]" DisplayName="Delete Workspace" sap:VirtualizedContainerService.HintSize="200,22" mtbwt:BuildTrackingParticipant.Importance="Normal" Name="[WorkspaceName]" />
160 <mtbwa:DeleteDirectory Directory="[SourcesDirectory]" DisplayName="Delete Sources Directory" sap:VirtualizedContainerService.HintSize="200,22" mtbwt:BuildTrackingParticipant.Importance="Normal" />
161 </Sequence>
162 </If.Then>
163 </If>
164 <mtbwa:CreateWorkspace BuildDirectory="[BuildDirectory]" Comment="["Workspace Created by Team Build"]" DisplayName="Create Workspace" sap:VirtualizedContainerService.HintSize="818,22" Name="[WorkspaceName]" Result="[Workspace]" SourcesDirectory="[SourcesDirectory]" />
165 <If Condition="[CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.Outputs]" DisplayName="If CleanWorkspace = CleanWorkspaceOption.Outputs" sap:VirtualizedContainerService.HintSize="818,919" mtbwt:BuildTrackingParticipant.Importance="Low">
166 <If.Then>
167 <ForEach x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="For Each Configuration in BuildSettings.PlatformConfigurations" sap:VirtualizedContainerService.HintSize="693,818" mtbwt:BuildTrackingParticipant.Importance="Low" Values="[BuildSettings.PlatformConfigurations]">
168 <ActivityAction x:TypeArguments="mtbwa:PlatformConfiguration">
169 <ActivityAction.Argument>
170 <DelegateInArgument x:TypeArguments="mtbwa:PlatformConfiguration" Name="platformConfiguration" />
171 </ActivityAction.Argument>
172 <Sequence DisplayName="Clean Configuration" sap:VirtualizedContainerService.HintSize="663,715">
173 <sap:WorkflowViewStateService.ViewState>
174 <scg:Dictionary x:TypeArguments="x:String, x:Object">
175 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
176 </scg:Dictionary>
177 </sap:WorkflowViewStateService.ViewState>
178 <If Condition="[BuildSettings.HasProjectsToBuild]" DisplayName="If BuildSettings.HasProjectsToBuild" sap:VirtualizedContainerService.HintSize="641,591" mtbwt:BuildTrackingParticipant.Importance="Low">
179 <If.Then>
180 <ForEach x:TypeArguments="x:String" DisplayName="For Each Project in BuildSettings.ProjectsToBuild" sap:VirtualizedContainerService.HintSize="516,490" mtbwt:BuildTrackingParticipant.Importance="Low" Values="[BuildSettings.ProjectsToBuild]">
181 <ActivityAction x:TypeArguments="x:String">
182 <ActivityAction.Argument>
183 <DelegateInArgument x:TypeArguments="x:String" Name="serverBuildProjectItem" />
184 </ActivityAction.Argument>
185 <Sequence DisplayName="Clean Project" sap:VirtualizedContainerService.HintSize="486,387" mtbwt:BuildTrackingParticipant.Importance="Normal">
186 <Sequence.Variables>
187 <Variable x:TypeArguments="x:String" Name="localBuildProjectItem" />
188 </Sequence.Variables>
189 <sap:WorkflowViewStateService.ViewState>
190 <scg:Dictionary x:TypeArguments="x:String, x:Object">
191 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
192 </scg:Dictionary>
193 </sap:WorkflowViewStateService.ViewState>
194 <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Paths to Local Paths" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" Input="[serverBuildProjectItem]" Result="[localBuildProjectItem]" Workspace="[Workspace]" />
195 <If Condition="[System.IO.File.Exists(localBuildProjectItem)]" DisplayName="If File.Exists(Project)" sap:VirtualizedContainerService.HintSize="464,201" mtbwt:BuildTrackingParticipant.Importance="Low">
196 <If.Then>
197 <mtbwa:MSBuild CommandLineArguments="[String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)]" Configuration="[platformConfiguration.Configuration]" DisplayName="Run MSBuild for Project" GenerateVSPropsFile="[True]" sap:VirtualizedContainerService.HintSize="269,100" OutDir="[BinariesDirectory]" Platform="[platformConfiguration.Platform]" Project="[localBuildProjectItem]" Targets="[New String() { "Clean" }]" TargetsNotLogged="[New String() {"GetNativeManifest", "GetCopyToOutputDirectoryItems", "GetTargetPath"}]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" />
198 </If.Then>
199 </If>
200 </Sequence>
201 </ActivityAction>
202 </ForEach>
203 </If.Then>
204 </If>
205 </Sequence>
206 </ActivityAction>
207 </ForEach>
208 </If.Then>
209 </If>
210 <mtbwa:SyncWorkspace DisplayName="Get Workspace" sap:VirtualizedContainerService.HintSize="818,22" VersionOverride="[GetVersion]" Workspace="[Workspace]" />
211 </Sequence>
212 <If Condition="[CreateLabel]" DisplayName="If CreateLabel" sap:VirtualizedContainerService.HintSize="1928,309" mtbwt:BuildTrackingParticipant.Importance="Low">
213 <If.Then>
214 <mtbwa:InvokeForReason DisplayName="Create and Set Label for non-Shelveset Builds" sap:VirtualizedContainerService.HintSize="281,208" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated">
215 <mtbwa:LabelWorkspace Comment="["Label Created by Team Build"]" DisplayName="Create Label" sap:VirtualizedContainerService.HintSize="200,22" Name="[LabelName]" Scope="[String.Format("$/{0}", BuildDetail.BuildDefinition.TeamProject)]" Workspace="[Workspace]" />
216 <mtbwa:SetBuildProperties DisplayName="Set Label on BuildDetail" sap:VirtualizedContainerService.HintSize="200,22" mtbwt:BuildTrackingParticipant.Importance="Low" LabelName="[String.Format("{0}@$/{1}", LabelName, BuildDetail.BuildDefinition.TeamProject)]" PropertiesToSet="LabelName" />
217 </mtbwa:InvokeForReason>
218 </If.Then>
219 </If>
220 <TryCatch DisplayName="Try Compile, Test, and Associate Changesets and Work Items" sap:VirtualizedContainerService.HintSize="1928,7898" mtbwt:BuildTrackingParticipant.Importance="Low">
221 <TryCatch.Finally>
222 <Sequence DisplayName="Revert Workspace and Copy Files to Drop Location" sap:VirtualizedContainerService.HintSize="1910,511" mtbwt:BuildTrackingParticipant.Importance="Low">
223 <sap:WorkflowViewStateService.ViewState>
224 <scg:Dictionary x:TypeArguments="x:String, x:Object">
225 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
226 </scg:Dictionary>
227 </sap:WorkflowViewStateService.ViewState>
228 <mtbwa:InvokeForReason DisplayName="Revert Workspace for Shelveset Builds" sap:VirtualizedContainerService.HintSize="464,146" Reason="ValidateShelveset, CheckInShelveset">
229 <mtbwa:RevertWorkspace DisplayName="Revert Workspace" sap:VirtualizedContainerService.HintSize="200,22" Workspace="[Workspace]" />
230 </mtbwa:InvokeForReason>
231 <If Condition="[DropBuild AndAlso Not String.IsNullOrEmpty(BuildDetail.DropLocation)]" DisplayName="If DropBuild And DropLocation is Set" sap:VirtualizedContainerService.HintSize="464,201" mtbwt:BuildTrackingParticipant.Importance="Low">
232 <If.Then>
233 <mtbwa:CopyDirectory Destination="[BuildDetail.DropLocation]" DisplayName="Copy Files to Drop Location" sap:VirtualizedContainerService.HintSize="269,100" Source="[BinariesDirectory]" />
234 </If.Then>
235 </If>
236 </Sequence>
237 </TryCatch.Finally>
238 <TryCatch.Try>
239 <Sequence sap:VirtualizedContainerService.HintSize="1910,7226" mtbwt:BuildTrackingParticipant.Importance="None">
240 <Sequence.Variables>
241 <Variable x:TypeArguments="s:Exception" Name="compilationException" />
242 <Variable x:TypeArguments="scg:IList(mtvc:Changeset)" Name="associatedChangesets" />
243 <Variable x:TypeArguments="x:Boolean" Name="treatTestFailureAsBuildFailure" />
244 </Sequence.Variables>
245 <sap:WorkflowViewStateService.ViewState>
246 <scg:Dictionary x:TypeArguments="x:String, x:Object">
247 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
248 </scg:Dictionary>
249 </sap:WorkflowViewStateService.ViewState>
250 <Parallel DisplayName="Compile, Test, and Associate Changesets and Work Items" sap:VirtualizedContainerService.HintSize="1888,5264">
251 <TryCatch DisplayName="Try Compile and Test" sap:VirtualizedContainerService.HintSize="1270,5218" mtbwt:BuildTrackingParticipant.Importance="Low">
252 <TryCatch.Try>
253 <Sequence DisplayName="Compile and Test" sap:VirtualizedContainerService.HintSize="1252,4850">
254 <sap:WorkflowViewStateService.ViewState>
255 <scg:Dictionary x:TypeArguments="x:String, x:Object">
256 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
257 </scg:Dictionary>
258 </sap:WorkflowViewStateService.ViewState>
259 <ForEach x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="For Each Configuration in BuildSettings.PlatformConfigurations" sap:VirtualizedContainerService.HintSize="1230,4003" mtbwt:BuildTrackingParticipant.Importance="Low" Values="[BuildSettings.PlatformConfigurations]">
260 <ActivityAction x:TypeArguments="mtbwa:PlatformConfiguration">
261 <ActivityAction.Argument>
262 <DelegateInArgument x:TypeArguments="mtbwa:PlatformConfiguration" Name="platformConfiguration" />
263 </ActivityAction.Argument>
264 <Sequence DisplayName="Compile and Test for Configuration" sap:VirtualizedContainerService.HintSize="1200,3900" mtbwt:BuildTrackingParticipant.Importance="Low">
265 <Sequence.Variables>
266 <Variable x:TypeArguments="x:String" Name="outputDirectory" />
267 <Variable x:TypeArguments="x:String" Name="logFileDropLocation" />
268 </Sequence.Variables>
269 <sap:WorkflowViewStateService.ViewState>
270 <scg:Dictionary x:TypeArguments="x:String, x:Object">
271 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
272 </scg:Dictionary>
273 </sap:WorkflowViewStateService.ViewState>
274 <Sequence DisplayName="Initialize Variables" sap:VirtualizedContainerService.HintSize="1178,387" mtbwt:BuildTrackingParticipant.Importance="Low">
275 <sap:WorkflowViewStateService.ViewState>
276 <scg:Dictionary x:TypeArguments="x:String, x:Object">
277 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
278 </scg:Dictionary>
279 </sap:WorkflowViewStateService.ViewState>
280 <Assign x:TypeArguments="x:String" DisplayName="Initialize OutputDirectory" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" To="[outputDirectory]" Value="[If (platformConfiguration.IsEmpty Or BuildSettings.PlatformConfigurations.Count = 1, BinariesDirectory, If (platformConfiguration.IsPlatformEmptyOrAnyCpu, BinariesDirectory + "\" + platformConfiguration.Configuration, BinariesDirectory + "\" + platformConfiguration.Platform + "\" + platformConfiguration.Configuration))]" />
281 <If Condition="[Not String.IsNullOrEmpty(BuildDetail.DropLocation)]" DisplayName="If DropLocation is Set" sap:VirtualizedContainerService.HintSize="464,201" mtbwt:BuildTrackingParticipant.Importance="Low">
282 <If.Then>
283 <Assign x:TypeArguments="x:String" DisplayName="Initialize LogFile Drop Location" sap:VirtualizedContainerService.HintSize="269,100" mtbwt:BuildTrackingParticipant.Importance="Low" To="[logFileDropLocation]" Value="[If (platformConfiguration.IsEmpty Or BuildSettings.PlatformConfigurations.Count = 1, BuildDetail.DropLocation + "\logs", If (platformConfiguration.IsPlatformEmptyOrAnyCpu, BuildDetail.DropLocation + "\logs\" + platformConfiguration.Configuration, BuildDetail.DropLocation + "\logs\" + platformConfiguration.Platform + "\" + platformConfiguration.Configuration))]" />
284 </If.Then>
285 </If>
286 </Sequence>
287 <If Condition="[BuildSettings.HasProjectsToBuild]" DisplayName="If BuildSettings.HasProjectsToBuild" sap:VirtualizedContainerService.HintSize="1178,1379" mtbwt:BuildTrackingParticipant.Importance="Low">
288 <If.Then>
289 <ForEach x:TypeArguments="x:String" DisplayName="For Each Project in BuildSettings.ProjectsToBuild" sap:VirtualizedContainerService.HintSize="536,1278" mtbwt:BuildTrackingParticipant.Importance="Low" Values="[BuildSettings.ProjectsToBuild]">
290 <ActivityAction x:TypeArguments="x:String">
291 <ActivityAction.Argument>
292 <DelegateInArgument x:TypeArguments="x:String" Name="serverBuildProjectItem" />
293 </ActivityAction.Argument>
294 <TryCatch DisplayName="Try to Compile the Project" sap:VirtualizedContainerService.HintSize="506,1175" mtbwt:BuildTrackingParticipant.Importance="Low">
295 <TryCatch.Try>
296 <Sequence DisplayName="Compile the Project" sap:VirtualizedContainerService.HintSize="488,387" mtbwt:BuildTrackingParticipant.Importance="Low">
297 <Sequence.Variables>
298 <Variable x:TypeArguments="x:String" Name="localProject" />
299 </Sequence.Variables>
300 <sap:WorkflowViewStateService.ViewState>
301 <scg:Dictionary x:TypeArguments="x:String, x:Object">
302 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
303 </scg:Dictionary>
304 </sap:WorkflowViewStateService.ViewState>
305 <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" Input="[serverBuildProjectItem]" Result="[localProject]" Workspace="[Workspace]" />
306 <If Condition="[Not System.IO.File.Exists(localProject)]" DisplayName="If Local File Doesn't Exist" sap:VirtualizedContainerService.HintSize="464,201">
307 <If.Then>
308 <Throw DisplayName="Throw FileNotFoundException" Exception="[New System.IO.FileNotFoundException(String.Format("The file {0} could not be found.", localProject), localProject)]" sap:VirtualizedContainerService.HintSize="219,100" />
309 </If.Then>
310 <If.Else>
311 <mtbwa:MSBuild CommandLineArguments="[String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)]" Configuration="[platformConfiguration.Configuration]" DisplayName="Run MSBuild for Project" GenerateVSPropsFile="[True]" sap:VirtualizedContainerService.HintSize="220,100" LogFileDropLocation="[logFileDropLocation]" OutDir="[outputDirectory]" Platform="[platformConfiguration.Platform]" Project="[localProject]" RunCodeAnalysis="[RunCodeAnalysis]" TargetsNotLogged="[New String() {"GetNativeManifest", "GetCopyToOutputDirectoryItems", "GetTargetPath"}]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" />
312 </If.Else>
313 </If>
314 </Sequence>
315 </TryCatch.Try>
316 <TryCatch.Catches>
317 <Catch x:TypeArguments="s:Exception" sap:VirtualizedContainerService.HintSize="492,526">
318 <sap:WorkflowViewStateService.ViewState>
319 <scg:Dictionary x:TypeArguments="x:String, x:Object">
320 <x:Boolean x:Key="IsExpanded">False</x:Boolean>
321 </scg:Dictionary>
322 </sap:WorkflowViewStateService.ViewState>
323 <ActivityAction x:TypeArguments="s:Exception">
324 <ActivityAction.Argument>
325 <DelegateInArgument x:TypeArguments="s:Exception" Name="ex" />
326 </ActivityAction.Argument>
327 <Sequence DisplayName="Handle Exception" sap:VirtualizedContainerService.HintSize="486,495">
328 <sap:WorkflowViewStateService.ViewState>
329 <scg:Dictionary x:TypeArguments="x:String, x:Object">
330 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
331 </scg:Dictionary>
332 </sap:WorkflowViewStateService.ViewState>
333 <mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed]" DisplayName="Set CompilationStatus to Failed" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" PropertiesToSet="CompilationStatus" />
334 <If Condition="[CreateWorkItem]" DisplayName="If CreateWorkItem" sap:VirtualizedContainerService.HintSize="464,247" mtbwt:BuildTrackingParticipant.Importance="Low">
335 <If.Then>
336 <mtbwa:InvokeForReason DisplayName="Create Work Item for non-Shelveset Builds" sap:VirtualizedContainerService.HintSize="281,146" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated">
337 <mtbwa:OpenWorkItem AssignedTo="[BuildDetail.RequestedFor]" Comment="["This work item was created by TFS Build on a build failure."]" CustomFields="[New Dictionary(Of String, String) From { {"System.Reason", "Build Failure"}, {"Microsoft.VSTS.TCM.ReproSteps", "Start the build using TFS Build"}, {"Priority", "1"}, {"Severity", "1 - Critical"} }]" DisplayName="Create Work Item" sap:VirtualizedContainerService.HintSize="200,22" Title="[String.Format("Build Failure in Build: {0}", BuildDetail.BuildNumber)]" Type="["Bug"]" />
338 </mtbwa:InvokeForReason>
339 </If.Then>
340 </If>
341 <Rethrow DisplayName="Rethrow the exception so the build will stop" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" />
342 </Sequence>
343 </ActivityAction>
344 </Catch>
345 </TryCatch.Catches>
346 </TryCatch>
347 </ActivityAction>
348 </ForEach>
349 </If.Then>
350 </If>
351 <If Condition="[Not DisableTests]" DisplayName="If Not DisableTests" sap:VirtualizedContainerService.HintSize="1178,1930" mtbwt:BuildTrackingParticipant.Importance="Low">
352 <If.Then>
353 <Sequence DisplayName="Run Tests" sap:VirtualizedContainerService.HintSize="1053,1829" mtbwt:BuildTrackingParticipant.Importance="Low">
354 <sap:WorkflowViewStateService.ViewState>
355 <scg:Dictionary x:TypeArguments="x:String, x:Object">
356 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
357 </scg:Dictionary>
358 </sap:WorkflowViewStateService.ViewState>
359 <If Condition="[Not TestSpecs Is Nothing]" DisplayName="If Not TestSpecs Is Nothing" sap:VirtualizedContainerService.HintSize="1031,1705" mtbwt:BuildTrackingParticipant.Importance="Low">
360 <If.Then>
361 <ForEach x:TypeArguments="mtbwa:TestSpec" DisplayName="For Each TestSpec in TestSpecs" sap:VirtualizedContainerService.HintSize="906,1604" mtbwt:BuildTrackingParticipant.Importance="Low" Values="[TestSpecs]">
362 <ActivityAction x:TypeArguments="mtbwa:TestSpec">
363 <ActivityAction.Argument>
364 <DelegateInArgument x:TypeArguments="mtbwa:TestSpec" Name="spec" />
365 </ActivityAction.Argument>
366 <TryCatch DisplayName="Try Run Tests" sap:VirtualizedContainerService.HintSize="876,1501" mtbwt:BuildTrackingParticipant.Importance="Low">
367 <TryCatch.Try>
368 <If Condition="[TypeOf spec Is Microsoft.TeamFoundation.Build.Workflow.Activities.TestMetadataFileSpec]" DisplayName="If spec Is TestMetadataFileSpec" sap:VirtualizedContainerService.HintSize="858,759" mtbwt:BuildTrackingParticipant.Importance="None">
369 <If.Then>
370 <Sequence DisplayName="Run MSTest for Metadata File" sap:VirtualizedContainerService.HintSize="222,658">
371 <Sequence.Variables>
372 <Variable x:TypeArguments="mtbwa:TestMetadataFileSpec" Name="testMetadataFile" />
373 <Variable x:TypeArguments="x:String" Name="localTestMetadata" />
374 </Sequence.Variables>
375 <sap:WorkflowViewStateService.ViewState>
376 <scg:Dictionary x:TypeArguments="x:String, x:Object">
377 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
378 </scg:Dictionary>
379 </sap:WorkflowViewStateService.ViewState>
380 <Assign x:TypeArguments="mtbwa:TestMetadataFileSpec" DisplayName="Assign spec to testMetadataFile" sap:VirtualizedContainerService.HintSize="200,22" mtbwt:BuildTrackingParticipant.Importance="Low" To="[testMetadataFile]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.TestMetadataFileSpec)]" />
381 <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" sap:VirtualizedContainerService.HintSize="200,22" mtbwt:BuildTrackingParticipant.Importance="Low" Input="[testMetadataFile.MetadataFileName]" Result="[localTestMetadata]" Workspace="[Workspace]" />
382 <mtbwa:MSTest Category="[testMetadataFile.CategoryFilter]" CommandLineArguments="[testMetadataFile.MSTestCommandLineArgs]" DisplayName="Run MSTest for Metadata File" Flavor="[platformConfiguration.Configuration]" sap:VirtualizedContainerService.HintSize="200,22" MaxPriority="[testMetadataFile.MaximumPriority]" MinPriority="[testMetadataFile.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[platformConfiguration.Platform]" SearchPathRoot="[outputDirectory]" TestLists="[testMetadataFile.TestLists]" TestMetadata="[localTestMetadata]" TestSettings="[String.Empty]" />
383 </Sequence>
384 </If.Then>
385 <If.Else>
386 <Sequence DisplayName="Run MSTest for Test Assemblies" sap:VirtualizedContainerService.HintSize="611,658" mtbwt:BuildTrackingParticipant.Importance="Low">
387 <Sequence.Variables>
388 <Variable x:TypeArguments="mtbwa:TestAssemblySpec" Name="testAssembly" />
389 <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="testAssemblies" />
390 <Variable x:TypeArguments="x:String" Default="[String.Empty]" Name="testFlavor" />
391 <Variable x:TypeArguments="x:String" Default="[String.Empty]" Name="testPlatform" />
392 </Sequence.Variables>
393 <sap:WorkflowViewStateService.ViewState>
394 <scg:Dictionary x:TypeArguments="x:String, x:Object">
395 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
396 </scg:Dictionary>
397 </sap:WorkflowViewStateService.ViewState>
398 <Assign x:TypeArguments="mtbwa:TestAssemblySpec" DisplayName="Assign spec to testAssembly" sap:VirtualizedContainerService.HintSize="589,22" mtbwt:BuildTrackingParticipant.Importance="Low" To="[testAssembly]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.TestAssemblySpec)]" />
399 <mtbwa:FindMatchingFiles DisplayName="Find Test Assemblies" sap:VirtualizedContainerService.HintSize="589,22" mtbwt:BuildTrackingParticipant.Importance="Low" MatchPattern="[String.Format("{0}\{1}", outputDirectory, testAssembly.AssemblyFileSpec)]" Result="[testAssemblies]" />
400 <If Condition="[testAssemblies.Count() > 0]" DisplayName="If Test Assemblies Found" sap:VirtualizedContainerService.HintSize="589,410" mtbwt:BuildTrackingParticipant.Importance="Low">
401 <If.Then>
402 <If Condition="[testAssembly.HasTestSettingsFile]" DisplayName="If testAssembly.HasTestSettingsFile" sap:VirtualizedContainerService.HintSize="464,309" mtbwt:BuildTrackingParticipant.Importance="Low">
403 <If.Then>
404 <Sequence DisplayName="Find Test Settings File And Run MSTest" sap:VirtualizedContainerService.HintSize="231,208" mtbwt:BuildTrackingParticipant.Importance="Low">
405 <Sequence.Variables>
406 <Variable x:TypeArguments="x:String" Name="localTestSettings" />
407 </Sequence.Variables>
408 <sap:WorkflowViewStateService.ViewState>
409 <scg:Dictionary x:TypeArguments="x:String, x:Object">
410 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
411 </scg:Dictionary>
412 </sap:WorkflowViewStateService.ViewState>
413 <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" sap:VirtualizedContainerService.HintSize="200,22" mtbwt:BuildTrackingParticipant.Importance="Low" Input="[testAssembly.TestSettingsFileName]" Result="[localTestSettings]" Workspace="[Workspace]" />
414 <mtbwa:MSTest Category="[testAssembly.CategoryFilter]" CommandLineArguments="[testAssembly.MSTestCommandLineArgs]" DisplayName="Run MSTest for Test Assemblies" Flavor="[platformConfiguration.Configuration]" sap:VirtualizedContainerService.HintSize="200,22" MaxPriority="[testAssembly.MaximumPriority]" MinPriority="[testAssembly.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[platformConfiguration.Platform]" SearchPathRoot="[outputDirectory]" TestContainers="[testAssemblies]" TestSettings="[localTestSettings]" />
415 </Sequence>
416 </If.Then>
417 <If.Else>
418 <mtbwa:MSTest Category="[testAssembly.CategoryFilter]" CommandLineArguments="[testAssembly.MSTestCommandLineArgs]" DisplayName="Run MSTest for Test Assemblies" Flavor="[platformConfiguration.Configuration]" sap:VirtualizedContainerService.HintSize="208,208" MaxPriority="[testAssembly.MaximumPriority]" MinPriority="[testAssembly.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[platformConfiguration.Platform]" SearchPathRoot="[outputDirectory]" TestContainers="[testAssemblies]" />
419 </If.Else>
420 </If>
421 </If.Then>
422 </If>
423 </Sequence>
424 </If.Else>
425 </If>
426 </TryCatch.Try>
427 <TryCatch.Catches>
428 <Catch x:TypeArguments="s:Exception" sap:VirtualizedContainerService.HintSize="862,480">
429 <sap:WorkflowViewStateService.ViewState>
430 <scg:Dictionary x:TypeArguments="x:String, x:Object">
431 <x:Boolean x:Key="IsExpanded">False</x:Boolean>
432 </scg:Dictionary>
433 </sap:WorkflowViewStateService.ViewState>
434 <ActivityAction x:TypeArguments="s:Exception">
435 <ActivityAction.Argument>
436 <DelegateInArgument x:TypeArguments="s:Exception" Name="testException" />
437 </ActivityAction.Argument>
438 <Sequence DisplayName="Handle MSTest Exception" sap:VirtualizedContainerService.HintSize="856,449">
439 <sap:WorkflowViewStateService.ViewState>
440 <scg:Dictionary x:TypeArguments="x:String, x:Object">
441 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
442 </scg:Dictionary>
443 </sap:WorkflowViewStateService.ViewState>
444 <If Condition="[Not (TypeOf testException Is Microsoft.TeamFoundation.Build.Workflow.Activities.TestFailureException)]" DisplayName="If testException is NOT TestFailureException" mtbwt:BuildTrackingParticipant.Importance="Low">
445 <If.Then>
446 <mtbwa:WriteBuildError DisplayName="Write Test Failure Exception message" Message="[testException.Message]" />
447 </If.Then>
448 </If>
449 <mtbwa:SetBuildProperties DisplayName="Set TestStatus to Failed" sap:VirtualizedContainerService.HintSize="464,22" mtbwt:BuildTrackingParticipant.Importance="Low" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed]" />
450 <If Condition="[spec.FailBuildOnFailure]" DisplayName="If spec.FailBuildOnFailure" sap:VirtualizedContainerService.HintSize="464,201" mtbwt:BuildTrackingParticipant.Importance="Low">
451 <If.Then>
452 <Assign x:TypeArguments="x:Boolean" DisplayName="Set treatTestFailureAsBuildFailure to True" sap:VirtualizedContainerService.HintSize="269,100" mtbwt:BuildTrackingParticipant.Importance="Low" To="[treatTestFailureAsBuildFailure]" Value="[True]" />
453 </If.Then>
454 </If>
455 </Sequence>
456 </ActivityAction>
457 </Catch>
458 </TryCatch.Catches>
459 </TryCatch>
460 </ActivityAction>
461 </ForEach>
462 </If.Then>
463 </If>
464 </Sequence>
465 </If.Then>
466 </If>
467 </Sequence>
468 </ActivityAction>
469 </ForEach>
470 <If Condition="[BuildDetail.CompilationStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If CompilationStatus = Unknown" sap:VirtualizedContainerService.HintSize="1230,201" mtbwt:BuildTrackingParticipant.Importance="Low">
471 <If.Then>
472 <mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" DisplayName="Set CompilationStatus to Succeeded" sap:VirtualizedContainerService.HintSize="269,100" mtbwt:BuildTrackingParticipant.Importance="Low" PropertiesToSet="CompilationStatus" />
473 </If.Then>
474 </If>
475 <If Condition="[BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If TestStatus = Unknown" sap:VirtualizedContainerService.HintSize="1230,201" mtbwt:BuildTrackingParticipant.Importance="Low">
476 <If.Then>
477 <mtbwa:SetBuildProperties DisplayName="Set TestStatus to Succeeded" sap:VirtualizedContainerService.HintSize="269,100" mtbwt:BuildTrackingParticipant.Importance="Low" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" />
478 </If.Then>
479 </If>
480 <If Condition="[treatTestFailureAsBuildFailure And (BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed)]" DisplayName="If TreatTestFailureAsBuildFailure And (TestStatus = Failed)" sap:VirtualizedContainerService.HintSize="1230,201" mtbwt:BuildTrackingParticipant.Importance="Low">
481 <If.Then>
482 <mtbwa:SetBuildProperties DisplayName="Set Status to Failed" sap:VirtualizedContainerService.HintSize="269,100" mtbwt:BuildTrackingParticipant.Importance="Low" PropertiesToSet="Status" Status="[Microsoft.TeamFoundation.Build.Client.BuildStatus.Failed]" />
483 </If.Then>
484 </If>
485 </Sequence>
486 </TryCatch.Try>
487 <TryCatch.Catches>
488 <Catch x:TypeArguments="s:Exception" sap:VirtualizedContainerService.HintSize="1256,106">
489 <sap:WorkflowViewStateService.ViewState>
490 <scg:Dictionary x:TypeArguments="x:String, x:Object">
491 <x:Boolean x:Key="IsExpanded">False</x:Boolean>
492 </scg:Dictionary>
493 </sap:WorkflowViewStateService.ViewState>
494 <ActivityAction x:TypeArguments="s:Exception">
495 <ActivityAction.Argument>
496 <DelegateInArgument x:TypeArguments="s:Exception" Name="compilationExceptionArgument" />
497 </ActivityAction.Argument>
498 <Assign x:TypeArguments="s:Exception" DisplayName="Save the Compilation Exception" sap:VirtualizedContainerService.HintSize="1250,75" mtbwt:BuildTrackingParticipant.Importance="None" To="[compilationException]" Value="[compilationExceptionArgument]" />
499 </ActivityAction>
500 </Catch>
501 </TryCatch.Catches>
502 </TryCatch>
503 <If Condition="[AssociateChangesetsAndWorkItems]" DisplayName="If AssociateChangesetsAndWorkItems" sap:VirtualizedContainerService.HintSize="464,5218" mtbwt:BuildTrackingParticipant.Importance="Low">
504 <If.Then>
505 <mtbwa:InvokeForReason DisplayName="Associate Changesets and Work Items for non-Shelveset Builds" sap:VirtualizedContainerService.HintSize="281,146" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated">
506 <mtbwa:AssociateChangesetsAndWorkItems DisplayName="Associate Changesets and Work Items" Result="[associatedChangesets]" />
507 </mtbwa:InvokeForReason>
508 </If.Then>
509 </If>
510 </Parallel>
511 <If Condition="[Not compilationException Is Nothing]" DisplayName="If a Compilation Exception Occurred" sap:VirtualizedContainerService.HintSize="1888,201" mtbwt:BuildTrackingParticipant.Importance="Low">
512 <If.Then>
513 <Throw DisplayName="Rethrow Compilation Exception" Exception="[compilationException]" sap:VirtualizedContainerService.HintSize="269,100" mtbwt:BuildTrackingParticipant.Importance="Low" />
514 </If.Then>
515 </If>
516 <Parallel DisplayName="Get Impacted Tests, Index Sources and Publish Symbols" sap:VirtualizedContainerService.HintSize="1888,1557">
517 <If Condition="[PerformTestImpactAnalysis]" DisplayName="If PerformTestImpactAnalysis" sap:VirtualizedContainerService.HintSize="464,1511" mtbwt:BuildTrackingParticipant.Importance="Low">
518 <If.Then>
519 <Sequence DisplayName="Get Impacted Tests" sap:VirtualizedContainerService.HintSize="281,208" mtbwt:BuildTrackingParticipant.Importance="Low">
520 <Sequence.Variables>
521 <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="assemblies" />
522 </Sequence.Variables>
523 <sap:WorkflowViewStateService.ViewState>
524 <scg:Dictionary x:TypeArguments="x:String, x:Object">
525 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
526 </scg:Dictionary>
527 </sap:WorkflowViewStateService.ViewState>
528 <mtbwa:FindMatchingFiles DisplayName="Find Build Outputs" sap:VirtualizedContainerService.HintSize="200,22" mtbwt:BuildTrackingParticipant.Importance="Low" MatchPattern="[String.Format("{0}\**\*.dll;{0}\**\*.exe", BinariesDirectory)]" Result="[assemblies]" />
529 <mttbb:GetImpactedTests Assemblies="[assemblies]" AssociatedChangesets="[associatedChangesets]" BinariesRoot="[BinariesDirectory]" Build="[BuildDetail]" CodeChanges="{x:Null}" DisplayName="Get Impacted Tests" ImpactedTests="{x:Null}" Workspace="[Workspace]" />
530 </Sequence>
531 </If.Then>
532 </If>
533 <If Condition="[SourceAndSymbolServerSettings.IndexSources Or SourceAndSymbolServerSettings.HasSymbolStorePath]" DisplayName="If SourceAndSymbolServerSettings.IndexSources Or SourceAndSymbolServerSettings.HasSymbolStorePath" sap:VirtualizedContainerService.HintSize="690,1511" mtbwt:BuildTrackingParticipant.Importance="Low">
534 <If.Then>
535 <mtbwa:InvokeForReason DisplayName="Index Sources and Publish Symbols for Triggered Builds" sap:VirtualizedContainerService.HintSize="565,1410" Reason="Triggered">
536 <mtbwa:InvokeForReason.Variables>
537 <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="symbolFiles" />
538 </mtbwa:InvokeForReason.Variables>
539 <mtbwa:FindMatchingFiles DisplayName="Find Symbol Files" sap:VirtualizedContainerService.HintSize="543,22" mtbwt:BuildTrackingParticipant.Importance="Low" MatchPattern="[String.Format("{0}\**\*.pdb", BinariesDirectory)]" Result="[symbolFiles]" />
540 <If Condition="[SourceAndSymbolServerSettings.IndexSources]" DisplayName="If SourceAndSymbolServerSettings.IndexSources" sap:VirtualizedContainerService.HintSize="543,569" mtbwt:BuildTrackingParticipant.Importance="Low">
541 <If.Then>
542 <TryCatch DisplayName="Try Index Sources" sap:VirtualizedContainerService.HintSize="418,468" mtbwt:BuildTrackingParticipant.Importance="Low">
543 <TryCatch.Try>
544 <mtbwa:IndexSources DisplayName="Index Sources" FileList="[symbolFiles]" sap:VirtualizedContainerService.HintSize="400,100" />
545 </TryCatch.Try>
546 <TryCatch.Catches>
547 <Catch x:TypeArguments="s:Exception" sap:VirtualizedContainerService.HintSize="404,106">
548 <sap:WorkflowViewStateService.ViewState>
549 <scg:Dictionary x:TypeArguments="x:String, x:Object">
550 <x:Boolean x:Key="IsExpanded">False</x:Boolean>
551 </scg:Dictionary>
552 </sap:WorkflowViewStateService.ViewState>
553 <ActivityAction x:TypeArguments="s:Exception">
554 <ActivityAction.Argument>
555 <DelegateInArgument x:TypeArguments="s:Exception" Name="exception" />
556 </ActivityAction.Argument>
557 <mtbwa:WriteBuildError sap:VirtualizedContainerService.HintSize="398,75" Message="[exception.Message]" />
558 </ActivityAction>
559 </Catch>
560 </TryCatch.Catches>
561 </TryCatch>
562 </If.Then>
563 </If>
564 <If Condition="[SourceAndSymbolServerSettings.HasSymbolStorePath]" DisplayName="If SourceAndSymbolServerSettings.HasSymbolStorePath" sap:VirtualizedContainerService.HintSize="543,615" mtbwt:BuildTrackingParticipant.Importance="Low">
565 <If.Then>
566 <TryCatch DisplayName="Try Publish Symbols" sap:VirtualizedContainerService.HintSize="418,514" mtbwt:BuildTrackingParticipant.Importance="Low">
567 <TryCatch.Try>
568 <mtbwa:SharedResourceScope DisplayName="Synchronize Access to Symbol Store" sap:VirtualizedContainerService.HintSize="400,146" mtbwt:BuildTrackingParticipant.Importance="Low" MaxExecutionTime="[TimeSpan.Zero]" MaxWaitTime="[New TimeSpan(1, 0, 0)]" ResourceName="[SourceAndSymbolServerSettings.SymbolStorePath]">
569 <mtbwa:PublishSymbols DisplayName="Publish Symbols" FileList="[symbolFiles]" sap:VirtualizedContainerService.HintSize="200,22" ProductName="[BuildDetail.BuildDefinition.Name]" StorePath="[SourceAndSymbolServerSettings.SymbolStorePath]" Version="[BuildDetail.BuildNumber]" />
570 </mtbwa:SharedResourceScope>
571 </TryCatch.Try>
572 <TryCatch.Catches>
573 <Catch x:TypeArguments="s:Exception" sap:VirtualizedContainerService.HintSize="404,106">
574 <sap:WorkflowViewStateService.ViewState>
575 <scg:Dictionary x:TypeArguments="x:String, x:Object">
576 <x:Boolean x:Key="IsExpanded">False</x:Boolean>
577 </scg:Dictionary>
578 </sap:WorkflowViewStateService.ViewState>
579 <ActivityAction x:TypeArguments="s:Exception">
580 <ActivityAction.Argument>
581 <DelegateInArgument x:TypeArguments="s:Exception" Name="exception" />
582 </ActivityAction.Argument>
583 <mtbwa:WriteBuildError sap:VirtualizedContainerService.HintSize="398,75" Message="[exception.Message]" />
584 </ActivityAction>
585 </Catch>
586 </TryCatch.Catches>
587 </TryCatch>
588 </If.Then>
589 </If>
590 </mtbwa:InvokeForReason>
591 </If.Then>
592 </If>
593 </Parallel>
594 </Sequence>
595 </TryCatch.Try>
596 </TryCatch>
597 </mtbwa:AgentScope>
598 <mtbwa:InvokeForReason DisplayName="Check In Gated Changes for CheckInShelveset Builds" sap:VirtualizedContainerService.HintSize="1950,146" Reason="CheckInShelveset">
599 <mtbwa:CheckInGatedChanges DisplayName="Check In Gated Changes" sap:VirtualizedContainerService.HintSize="200,22" />
600 </mtbwa:InvokeForReason>
601 </Sequence>
602</Activity>