PageRenderTime 39ms CodeModel.GetById 21ms app.highlight 10ms RepoModel.GetById 0ms app.codeStats 1ms

/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(&quot;**\*test*.dll&quot;))]" this:Process.BuildNumberFormat="[&quot;$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)&quot;]" 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 + &quot;\&quot; + BuildDetail.BuildDefinition.Name + &quot;\&quot; + 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 + &quot;\&quot; + BuildDetail.BuildDefinition.Name + &quot;\&quot; + 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(&quot;{0}_{1}_{2}&quot;, 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(&quot;{0}\Sources&quot;, 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(&quot;{0}\Binaries&quot;, 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(&quot;{0}\TestResults&quot;, 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 &gt; Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize]" DisplayName="If WorkspaceName &gt; 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(&quot;The workspace name '{0}' exceeds the maximum allowed limit of '{1}' characters. Truncating it to match the maximum limit.&quot;, 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="[&quot;Workspace Created by Team Build&quot;]" 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(&quot;/p:SkipInvalidConfigurations=true {0}&quot;, 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() { &quot;Clean&quot; }]" TargetsNotLogged="[New String() {&quot;GetNativeManifest&quot;, &quot;GetCopyToOutputDirectoryItems&quot;, &quot;GetTargetPath&quot;}]" 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="[&quot;Label Created by Team Build&quot;]" DisplayName="Create Label" sap:VirtualizedContainerService.HintSize="200,22" Name="[LabelName]" Scope="[String.Format(&quot;$/{0}&quot;, 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(&quot;{0}@$/{1}&quot;, 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 + &quot;\&quot; + platformConfiguration.Configuration, BinariesDirectory + &quot;\&quot; + platformConfiguration.Platform + &quot;\&quot; + 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 + &quot;\logs&quot;, If (platformConfiguration.IsPlatformEmptyOrAnyCpu, BuildDetail.DropLocation + &quot;\logs\&quot; + platformConfiguration.Configuration, BuildDetail.DropLocation + &quot;\logs\&quot; + platformConfiguration.Platform + &quot;\&quot; + 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(&quot;The file {0} could not be found.&quot;, localProject), localProject)]" sap:VirtualizedContainerService.HintSize="219,100" />
309                                          </If.Then>
310                                          <If.Else>
311                                            <mtbwa:MSBuild CommandLineArguments="[String.Format(&quot;/p:SkipInvalidConfigurations=true {0}&quot;, 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() {&quot;GetNativeManifest&quot;, &quot;GetCopyToOutputDirectoryItems&quot;, &quot;GetTargetPath&quot;}]" 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="[&quot;This work item was created by TFS Build on a build failure.&quot;]" CustomFields="[New Dictionary(Of String, String) From { {&quot;System.Reason&quot;, &quot;Build Failure&quot;}, {&quot;Microsoft.VSTS.TCM.ReproSteps&quot;, &quot;Start the build using TFS Build&quot;}, {&quot;Priority&quot;, &quot;1&quot;}, {&quot;Severity&quot;, &quot;1 - Critical&quot;} }]" DisplayName="Create Work Item" sap:VirtualizedContainerService.HintSize="200,22" Title="[String.Format(&quot;Build Failure in Build: {0}&quot;, BuildDetail.BuildNumber)]" Type="[&quot;Bug&quot;]" />
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(&quot;{0}\{1}&quot;, outputDirectory, testAssembly.AssemblyFileSpec)]" Result="[testAssemblies]" />
400                                                  <If Condition="[testAssemblies.Count() &gt; 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(&quot;{0}\**\*.dll;{0}\**\*.exe&quot;, 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(&quot;{0}\**\*.pdb&quot;, 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>