Unified · Split
| @@ -72,32 +72,21 @@ · 71 unmodified lines | |||
| 72 | <Import Project="Targets\Inline\TfsVersion.targets"/> | 72 | <Import Project="Targets\Inline\TfsVersion.targets"/> |
| 73 | <Import Project="Targets\MSBuild Community Tasks\MSBuild.Community.Tasks.Targets"/> | 73 | <Import Project="Targets\MSBuild Community Tasks\MSBuild.Community.Tasks.Targets"/> |
| 74 | <Import Project="Targets\MSBuild Extension Pack\MSBuild.ExtensionPack.tasks"/> | 74 | <Import Project="Targets\MSBuild Extension Pack\MSBuild.ExtensionPack.tasks"/> |
| 75 | |||
| 76 | <PropertyGroup> | ||
| 77 | 75 | ||
| 78 | <TfsUserName></TfsUserName> | 76 | <PropertyGroup> |
| 79 | 77 | <!-- Name of the project being built. --> | |
| 80 | <TfsPassword></TfsPassword> | ||
| 81 | |||
| 82 | <!-- Name of the project being built. --> | ||
| 83 | <ProjectName></ProjectName> | 78 | <ProjectName></ProjectName> |
| 84 | 79 | <!-- Solution of the project being built. --> | |
| 85 | <!-- Solution of the project being built. --> | ||
| 86 | <ProjectSolution></ProjectSolution> | 80 | <ProjectSolution></ProjectSolution> |
| 87 | |||
| 88 | <!-- Name of the local build workspace. --> | 81 | <!-- Name of the local build workspace. --> |
| 89 | <Workspace></Workspace> | 82 | <Workspace></Workspace> |
| 90 | 83 | <!-- URL of the Team Foundation Server. --> | |
| 91 | <!-- URL of the Team Foundation Server. --> | ||
| 92 | <TfsServer></TfsServer> | 84 | <TfsServer></TfsServer> |
| 93 | 85 | <!-- Root server folder of the project. --> | |
| 94 | <!-- Root server folder of the project. --> | ||
| 95 | <ServerFolder></ServerFolder> | 86 | <ServerFolder></ServerFolder> |
| 96 | 87 | <!-- Root local folder of the project. --> | |
| 97 | <!-- Root local folder of the project. --> | ||
| 98 | <LocalFolder></LocalFolder> | 88 | <LocalFolder></LocalFolder> |
| 99 | 89 | <!-- Source control label for the build. --> | |
| 100 | <!-- Source control label for the build. --> | ||
| 101 | <BuildLabel></BuildLabel> | 90 | <BuildLabel></BuildLabel> |
| 102 | <!-- Type of the build to compile. --> | 91 | <!-- Type of the build to compile. --> |
| 103 | <BuildFlavor></BuildFlavor> | 92 | <BuildFlavor></BuildFlavor> |
| @@ -109,10 +98,8 @@ · 5 unmodified lines | |||
| 109 | <BuildDeployFolder></BuildDeployFolder> | 98 | <BuildDeployFolder></BuildDeployFolder> |
| 110 | <!-- Setting for enabling user propmts. --> | 99 | <!-- Setting for enabling user propmts. --> |
| 111 | <BuildInteractive></BuildInteractive> | 100 | <BuildInteractive></BuildInteractive> |
| 112 | |||
| 113 | |||
| 114 | <!-- File containing the build version. --> | 101 | <!-- File containing the build version. --> |
| 115 | <VersionFile></VersionFile> | 102 | <VersionFile></VersionFile> |
| 116 | <!-- Versioning scheme major number change type. --> | 103 | <!-- Versioning scheme major number change type. --> |
| 117 | <VersionMajorChange></VersionMajorChange> | 104 | <VersionMajorChange></VersionMajorChange> |
| 118 | <!-- Versioning scheme minor number change type. --> | 105 | <!-- Versioning scheme minor number change type. --> |
| @@ -123,8 +110,10 @@ · 4 unmodified lines | |||
| 123 | <VersionRevisionChange></VersionRevisionChange> | 110 | <VersionRevisionChange></VersionRevisionChange> |
| 124 | <!-- Version of the source code to build. --> | 111 | <!-- Version of the source code to build. --> |
| 125 | <SourceVersion></SourceVersion> | 112 | <SourceVersion></SourceVersion> |
| 126 | 113 | <!-- User name for Team Foundation Client. --> | |
| 127 | 114 | <TfsUserName></TfsUserName> | |
| 115 | <!-- Password for Team Foundation Client. --> | ||
| 116 | <TfsPassword></TfsPassword> | ||
| 128 | <!-- Paths to Team Foundation Client. --> | 117 | <!-- Paths to Team Foundation Client. --> |
| 129 | <TfsClient></TfsClient> | 118 | <TfsClient></TfsClient> |
| 130 | <!-- Path to Visual Studio IDE. --> | 119 | <!-- Path to Visual Studio IDE. --> |
| @@ -133,19 +122,14 @@ · 2 unmodified lines | |||
| 133 | <MSTest></MSTest> | 122 | <MSTest></MSTest> |
| 134 | <!-- Path to Sandcastle Builder. --> | 123 | <!-- Path to Sandcastle Builder. --> |
| 135 | <SandcastleBuilder></SandcastleBuilder> | 124 | <SandcastleBuilder></SandcastleBuilder> |
| 136 | |||
| 137 | |||
| 138 | <!-- Forces a build regardless of new changes since last build. --> | 125 | <!-- Forces a build regardless of new changes since last build. --> |
| 139 | <ForceBuild></ForceBuild> | 126 | <ForceBuild></ForceBuild> |
| 140 | <!-- Skips the versioning process and just executes build steps. --> | 127 | <!-- Skips the versioning process and just executes build steps. --> |
| 141 | <SkipVersioning></SkipVersioning> | 128 | <SkipVersioning></SkipVersioning> |
| 142 | 129 | <!--Executes build without running unit tests when true.--> | |
| 143 | <!--Executes build without running unit tests when true.--> | 130 | <SkipUnitTest>True</SkipUnitTest> |
| 144 | <SkipUnitTest>True</SkipUnitTest> | ||
| 145 | |||
| 146 | <!-- Name of binaries archive file. --> | 131 | <!-- Name of binaries archive file. --> |
| 147 | <BinariesArchiveFileName></BinariesArchiveFileName> | 132 | <BinariesArchiveFileName></BinariesArchiveFileName> |
| 148 | |||
| 149 | <!-- Name of installs archive file. --> | 133 | <!-- Name of installs archive file. --> |
| 150 | <InstallsArchiveFileName></InstallsArchiveFileName> | 134 | <InstallsArchiveFileName></InstallsArchiveFileName> |
| 151 | <!-- Working directory for creating binaries archive file. --> | 135 | <!-- Working directory for creating binaries archive file. --> |
| @@ -153,7 +137,7 @@ · 1 unmodified line | |||
| 153 | <!-- Working directory for creating installs archive file. --> | 137 | <!-- Working directory for creating installs archive file. --> |
| 154 | <InstallsArchiveWorkingDirectory></InstallsArchiveWorkingDirectory> | 138 | <InstallsArchiveWorkingDirectory></InstallsArchiveWorkingDirectory> |
| 155 | </PropertyGroup> | 139 | </PropertyGroup> |
| 156 | 140 | ||
| 157 | <PropertyGroup> | 141 | <PropertyGroup> |
| 158 | <!-- | 142 | <!-- |
| 159 | InitializeBuild | 143 | InitializeBuild |
| @@ -202,7 +186,6 @@ · 42 unmodified lines | |||
| 202 | CorePrepareSettings; | 186 | CorePrepareSettings; |
| 203 | AfterPrepareSettings; | 187 | AfterPrepareSettings; |
| 204 | </PrepareSettingsDependsOn> | 188 | </PrepareSettingsDependsOn> |
| 205 | |||
| 206 | <CreateWorkspaceDependsOn> | 189 | <CreateWorkspaceDependsOn> |
| 207 | BeforeCreateWorkspace; | 190 | BeforeCreateWorkspace; |
| 208 | CoreCreateWorkspace; | 191 | CoreCreateWorkspace; |
| @@ -257,33 +240,27 @@ · 48 unmodified lines | |||
| 257 | AfterDeleteWorkspace; | 240 | AfterDeleteWorkspace; |
| 258 | </DeleteWorkspaceDependsOn> | 241 | </DeleteWorkspaceDependsOn> |
| 259 | </PropertyGroup> | 242 | </PropertyGroup> |
| 260 | 243 | ||
| 261 | <ItemGroup> | 244 | <ItemGroup> |
| 262 | <!-- List of projects to build. --> | 245 | <!-- List of projects to build. --> |
| 263 | <ProjectsToBuild Include="Nothing" Exclude="Nothing"/> | 246 | <ProjectsToBuild Include="Nothing" Exclude="Nothing"/> |
| 264 | |||
| 265 | <!-- List of installs to build. --> | 247 | <!-- List of installs to build. --> |
| 266 | <InstallsToBuild Include="Nothing" Exclude="Nothing"/> | 248 | <InstallsToBuild Include="Nothing" Exclude="Nothing"/> |
| 267 | |||
| 268 | <!-- List of files to be versioned. --> | 249 | <!-- List of files to be versioned. --> |
| 269 | <FilesToVersion Include="Nothing" Exclude="Nothing"> | 250 | <FilesToVersion Include="Nothing" Exclude="Nothing"> |
| 270 | <VersionRegex>(?'BeforeVersion')(?'CoreVersion')(?'AfterVersion')</VersionRegex> | 251 | <VersionRegex>(?'BeforeVersion')(?'CoreVersion')(?'AfterVersion')</VersionRegex> |
| 271 | <VersionPrecision>4</VersionPrecision> | 252 | <VersionPrecision>4</VersionPrecision> |
| 272 | </FilesToVersion> | 253 | </FilesToVersion> |
| 273 | |||
| 274 | <!-- List of unit test assemblies. --> | 254 | <!-- List of unit test assemblies. --> |
| 275 | <UnitTestAssemblies Include="Nothing" Exclude="Nothing"/> | 255 | <UnitTestAssemblies Include="Nothing" Exclude="Nothing"/> |
| 276 | |||
| 277 | <!-- List of binaries to archive. --> | 256 | <!-- List of binaries to archive. --> |
| 278 | <BinariesToArchive Include="Nothing" Exclude="Nothing"/> | 257 | <BinariesToArchive Include="Nothing" Exclude="Nothing"/> |
| 279 | |||
| 280 | <!-- List of installs to archive. --> | 258 | <!-- List of installs to archive. --> |
| 281 | <InstallsToArchive Include="Nothing" Exclude="Nothing"/> | 259 | <InstallsToArchive Include="Nothing" Exclude="Nothing"/> |
| 282 | |||
| 283 | <!-- Destinations of archive files (*.zip). --> | 260 | <!-- Destinations of archive files (*.zip). --> |
| 284 | <ArchiveDestinations Include="Nothing" Exclude="Nothing"/> | 261 | <ArchiveDestinations Include="Nothing" Exclude="Nothing"/> |
| 285 | </ItemGroup> | 262 | </ItemGroup> |
| 286 | 263 | ||
| 287 | <Target Name="All"> | 264 | <Target Name="All"> |
| 288 | <!-- Entry point for the build. --> | 265 | <!-- Entry point for the build. --> |
| 289 | <CallTarget Targets="InitializeBuild"/> | 266 | <CallTarget Targets="InitializeBuild"/> |
| @@ -292,42 +269,30 @@ · 2 unmodified lines | |||
| 292 | <Beep/> | 269 | <Beep/> |
| 293 | <OnError ExecuteTargets="HandleBuildFailure"/> | 270 | <OnError ExecuteTargets="HandleBuildFailure"/> |
| 294 | </Target> | 271 | </Target> |
| 295 | 272 | ||
| 296 | <Target Name="InitializeBuild" DependsOnTargets="$(InitializeBuildDependsOn)"/> | 273 | <Target Name="InitializeBuild" DependsOnTargets="$(InitializeBuildDependsOn)"/> |
| 297 | |||
| 298 | <Target Name="CompileBuild" DependsOnTargets="$(CompileBuildDependsOn)"/> | 274 | <Target Name="CompileBuild" DependsOnTargets="$(CompileBuildDependsOn)"/> |
| 299 | |||
| 300 | <Target Name="FinalizeBuild" DependsOnTargets="$(FinalizeBuildDependsOn)"/> | 275 | <Target Name="FinalizeBuild" DependsOnTargets="$(FinalizeBuildDependsOn)"/> |
| 301 | |||
| 302 | <Target Name="PrepareSettings" DependsOnTargets="$(PrepareSettingsDependsOn)"/> | 276 | <Target Name="PrepareSettings" DependsOnTargets="$(PrepareSettingsDependsOn)"/> |
| 303 | |||
| 304 | <Target Name="CheckEnvironment" DependsOnTargets="$(CheckEnvironmentDependsOn)"/> | 277 | <Target Name="CheckEnvironment" DependsOnTargets="$(CheckEnvironmentDependsOn)"/> |
| 305 | |||
| 306 | <Target Name="CreateWorkspace" DependsOnTargets="$(CreateWorkspaceDependsOn)"/> | 278 | <Target Name="CreateWorkspace" DependsOnTargets="$(CreateWorkspaceDependsOn)"/> |
| 307 | |||
| 308 | <Target Name="PopulateWorkspace" DependsOnTargets="$(PopulateWorkspaceDependsOn)"/> | 279 | <Target Name="PopulateWorkspace" DependsOnTargets="$(PopulateWorkspaceDependsOn)"/> |
| 309 | |||
| 310 | <Target Name="VersionSource" DependsOnTargets="$(VersionSourceDependsOn)" Condition="'$(ForceBuild)' == 'true'"/> | 280 | <Target Name="VersionSource" DependsOnTargets="$(VersionSourceDependsOn)" Condition="'$(ForceBuild)' == 'true'"/> |
| 311 | |||
| 312 | <Target Name="BuildProjects" DependsOnTargets="$(BuildProjectsDependsOn)" Condition="'$(ForceBuild)' == 'true'"/> | 281 | <Target Name="BuildProjects" DependsOnTargets="$(BuildProjectsDependsOn)" Condition="'$(ForceBuild)' == 'true'"/> |
| 313 | |||
| 314 | <Target Name="ExecuteUnitTests" DependsOnTargets="$(ExecuteUnitTestsDependsOn)" Condition="'$(ForceBuild)' == 'true' And '$(SkipUnitTest)' == 'false'"/> | 282 | <Target Name="ExecuteUnitTests" DependsOnTargets="$(ExecuteUnitTestsDependsOn)" Condition="'$(ForceBuild)' == 'true' And '$(SkipUnitTest)' == 'false'"/> |
| 315 | |||
| 316 | <Target Name="LabelBuild" DependsOnTargets="$(LabelBuildDependsOn)" Condition="'$(ForceBuild)' == 'true'"/> | 283 | <Target Name="LabelBuild" DependsOnTargets="$(LabelBuildDependsOn)" Condition="'$(ForceBuild)' == 'true'"/> |
| 317 | |||
| 318 | <Target Name="CleanBuild" DependsOnTargets="$(CleanBuildDependsOn)" Condition="'$(ForceBuild)' == 'true'"/> | 284 | <Target Name="CleanBuild" DependsOnTargets="$(CleanBuildDependsOn)" Condition="'$(ForceBuild)' == 'true'"/> |
| 319 | |||
| 320 | <Target Name="DeployBuild" DependsOnTargets="$(DeployBuildDependsOn)" Condition="'$(ForceBuild)' == 'true'"/> | 285 | <Target Name="DeployBuild" DependsOnTargets="$(DeployBuildDependsOn)" Condition="'$(ForceBuild)' == 'true'"/> |
| 321 | |||
| 322 | <Target Name="DeleteWorkspace" DependsOnTargets="$(DeleteWorkspaceDependsOn)"/> | 286 | <Target Name="DeleteWorkspace" DependsOnTargets="$(DeleteWorkspaceDependsOn)"/> |
| 323 | |||
| 324 | <Target Name="BeforePrepareSettings"/> | 287 | <Target Name="BeforePrepareSettings"/> |
| 325 | 288 | ||
| 326 | <Target Name="CorePrepareSettings"> | 289 | <Target Name="CorePrepareSettings"> |
| 327 | <!-- Assign default values to unassigned properties. --> | 290 | <!-- Assign default values to unassigned properties. --> |
| 328 | <Message Text="Preparing settings for build..."/> | 291 | <Message Text="Preparing settings for build..."/> |
| 292 | |||
| 329 | <Error Condition="'$(ProjectName)' == ''" Text="ProjectName property must be set."/> | 293 | <Error Condition="'$(ProjectName)' == ''" Text="ProjectName property must be set."/> |
| 330 | <Error Condition="'$(TfsServer)' == ''" Text="TfsServer property must be set."/> | 294 | <Error Condition="'$(TfsServer)' == ''" Text="TfsServer property must be set."/> |
| 295 | |||
| 331 | <PropertyGroup> | 296 | <PropertyGroup> |
| 332 | <ServerFolder Condition="'$(ServerFolder)' == ''">$/$(ProjectName)/Main</ServerFolder> | 297 | <ServerFolder Condition="'$(ServerFolder)' == ''">$/$(ProjectName)/Main</ServerFolder> |
| 333 | <LocalFolder Condition="'$(LocalFolder)' == ''">$([System.IO.Path]::GetFullPath('$(TEMP)\MSBuild\$(ProjectName)'))</LocalFolder> | 298 | <LocalFolder Condition="'$(LocalFolder)' == ''">$([System.IO.Path]::GetFullPath('$(TEMP)\MSBuild\$(ProjectName)'))</LocalFolder> |
| @@ -337,12 +302,12 @@ · 3 unmodified lines | |||
| 337 | <BuildInteractive Condition="'$(BuildInteractive)' == ''">true</BuildInteractive> | 302 | <BuildInteractive Condition="'$(BuildInteractive)' == ''">true</BuildInteractive> |
| 338 | <VersionFile Condition="'$(VersionFile)' == ''">$(LocalFolder)\Build\Scripts\$(ProjectName).version</VersionFile> | 303 | <VersionFile Condition="'$(VersionFile)' == ''">$(LocalFolder)\Build\Scripts\$(ProjectName).version</VersionFile> |
| 339 | <SourceVersion Condition="'$(SourceVersion)' == ''">T</SourceVersion> | 304 | <SourceVersion Condition="'$(SourceVersion)' == ''">T</SourceVersion> |
| 340 | <TfsClient Condition="'$(TfsClient)' == ''">$(VS120COMNTOOLS)\..\IDE\tf.exe</TfsClient> | 305 | <TfsClient Condition="'$(TfsClient)' == ''">$(VS110COMNTOOLS)\..\IDE\tf.exe</TfsClient> |
| 341 | <VisualStudio Condition="'$(VisualStudio)' == ''">$(VS120COMNTOOLS)\..\IDE\devenv.com</VisualStudio> | 306 | <VisualStudio Condition="'$(VisualStudio)' == ''">$(VS110COMNTOOLS)\..\IDE\devenv.com</VisualStudio> |
| 342 | <MSTest Condition="'$(MSTest)' == ''">$(VS120COMNTOOLS)\..\IDE\mstest.exe</MSTest> | 307 | <MSTest Condition="'$(MSTest)' == ''">$(VS110COMNTOOLS)\..\IDE\mstest.exe</MSTest> |
| 343 | <SandcastleBuilder Condition="'$(SandcastleBuilder)' == ''">$(SHFBROOT)\SandcastleBuilderGUI.exe</SandcastleBuilder> | 308 | <SandcastleBuilder Condition="'$(SandcastleBuilder)' == ''">$(SHFBROOT)\SandcastleBuilderGUI.exe</SandcastleBuilder> |
| 344 | <ForceBuild Condition="'$(ForceBuild)' == ''">false</ForceBuild> | 309 | <ForceBuild Condition="'$(ForceBuild)' == ''">false</ForceBuild> |
| 345 | <ForceBuild Condition="'$(SourceVersion)' != 'T'">true</ForceBuild> | 310 | <ForceBuild Condition="'$(SourceVersion)' != 'T'">true</ForceBuild> |
| 346 | <SkipVersioning Condition="'$(SkipVersioning)' == ''">false</SkipVersioning> | 311 | <SkipVersioning Condition="'$(SkipVersioning)' == ''">false</SkipVersioning> |
| 347 | <BinariesArchiveFileName Condition="'$(BinariesArchiveFileName)' == ''">$(LocalFolder)\$(ProjectName).Binaries.zip</BinariesArchiveFileName> | 312 | <BinariesArchiveFileName Condition="'$(BinariesArchiveFileName)' == ''">$(LocalFolder)\$(ProjectName).Binaries.zip</BinariesArchiveFileName> |
| 348 | <InstallsArchiveFileName Condition="'$(InstallsArchiveFileName)' == ''">$(LocalFolder)\$(ProjectName).Installs.zip</InstallsArchiveFileName> | 313 | <InstallsArchiveFileName Condition="'$(InstallsArchiveFileName)' == ''">$(LocalFolder)\$(ProjectName).Installs.zip</InstallsArchiveFileName> |
| @@ -350,54 +315,55 @@ · 1 unmodified line | |||
| 350 | <InstallsArchiveWorkingDirectory Condition="'$(InstallsArchiveWorkingDirectory)' == ''">$(LocalFolder)\Archives\Installs</InstallsArchiveWorkingDirectory> | 315 | <InstallsArchiveWorkingDirectory Condition="'$(InstallsArchiveWorkingDirectory)' == ''">$(LocalFolder)\Archives\Installs</InstallsArchiveWorkingDirectory> |
| 351 | </PropertyGroup> | 316 | </PropertyGroup> |
| 352 | </Target> | 317 | </Target> |
| 353 | 318 | ||
| 354 | <Target Name="AfterPrepareSettings"/> | 319 | <Target Name="AfterPrepareSettings"/> |
| 355 | |||
| 356 | <Target Name="BeforeCheckEnvironment"/> | 320 | <Target Name="BeforeCheckEnvironment"/> |
| 357 | 321 | ||
| 358 | <Target Name="CoreCheckEnvironment"> | 322 | <Target Name="CoreCheckEnvironment"> |
| 359 | <!-- Ensure that all required tools are installed. --> | 323 | <!-- Ensure that all required tools are installed. --> |
| 360 | <Message Text="Checking for required application..."/> | 324 | <Message Text="Checking for required application..."/> |
| 325 | |||
| 361 | <Error Condition="'$(TfsClient)' != '' And !Exists('$(TfsClient)')" Text="TFS Client is not installed."/> | 326 | <Error Condition="'$(TfsClient)' != '' And !Exists('$(TfsClient)')" Text="TFS Client is not installed."/> |
| 362 | <Error Condition="'$(VisualStudio)' != '' And !Exists('$(VisualStudio)')" Text="Visual Studio is not installed."/> | 327 | <Error Condition="'$(VisualStudio)' != '' And !Exists('$(VisualStudio)')" Text="Visual Studio is not installed."/> |
| 363 | <Error Condition="'$(MSTest)' != '' And !Exists('$(MSTest)')" Text="Unit testing tool is not installed."/> | 328 | <Error Condition="'$(MSTest)' != '' And !Exists('$(MSTest)')" Text="Unit testing tool is not installed."/> |
| 364 | <Error Condition="'$(SandcastleBuilder)' != '' And !Exists('$(SandcastleBuilder)')" Text="Sandcastle Builder is not installed."/> | 329 | <Error Condition="'$(SandcastleBuilder)' != '' And !Exists('$(SandcastleBuilder)')" Text="Sandcastle Builder is not installed."/> |
| 365 | </Target> | 330 | </Target> |
| 366 | 331 | ||
| 367 | <Target Name="AfterCheckEnvironment"/> | 332 | <Target Name="AfterCheckEnvironment"/> |
| 368 | |||
| 369 | <Target Name="BeforeCreateWorkspace"/> | 333 | <Target Name="BeforeCreateWorkspace"/> |
| 370 | 334 | ||
| 371 | <Target Name="CoreCreateWorkspace"> | 335 | <Target Name="CoreCreateWorkspace"> |
| 372 | <!-- Create a temporary workspace for the build. --> | 336 | <!-- Create a temporary workspace for the build. --> |
| 373 | <Message Text="Creating temporary workspace..."/> | 337 | <Message Text="Creating temporary workspace..."/> |
| 338 | |||
| 339 | |||
| 374 | <PropertyGroup> | 340 | <PropertyGroup> |
| 375 | <Workspace Condition="'$(Workspace)' == ''">$(COMPUTERNAME)_$(ProjectName)</Workspace> | 341 | <Workspace Condition="'$(Workspace)' == ''">$(COMPUTERNAME)_$(ProjectName)</Workspace> |
| 376 | </PropertyGroup> | 342 | </PropertyGroup> |
| 343 | |||
| 377 | <RemoveDir Directories="$(LocalFolder)" Condition="Exists('$(LocalFolder)')"/> | 344 | <RemoveDir Directories="$(LocalFolder)" Condition="Exists('$(LocalFolder)')"/> |
| 378 | <MakeDir Directories="$(LocalFolder)"/> | 345 | <MakeDir Directories="$(LocalFolder)"/> |
| 379 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 workspace /new /server:$(TfsServer) /noprompt %22$(Workspace)%22" WorkingDirectory="$(LocalFolder)"/> | 346 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 workspace /new /server:$(TfsServer) /noprompt %22$(Workspace)%22" WorkingDirectory="$(LocalFolder)"/> |
| 380 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 workspace /new /server:$(TfsServer) /noprompt %22$(Workspace)%22 /login:$(TfsUserName),$(TfsPassword)" WorkingDirectory="$(LocalFolder)"/> | 347 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 workspace /new /server:$(TfsServer) /noprompt %22$(Workspace)%22 /login:$(TfsUserName),$(TfsPassword)" WorkingDirectory="$(LocalFolder)"/> |
| 381 | <Exec Condition="'$(TFSUserName)' == ''" Command="%22$(TfsClient)%22 workfold /unmap /server:$(TfsServer) /workspace:%22$(Workspace)%22 $/"/> | 348 | <Exec Condition="'$(TFSUserName)' == ''" Command="%22$(TfsClient)%22 workfold /unmap /server:$(TfsServer) /workspace:%22$(Workspace)%22 $/"/> |
| 382 | <Exec Condition="'$(TFSUserName)' != ''" Command="%22$(TfsClient)%22 workfold /unmap /server:$(TfsServer) /workspace:%22$(Workspace)%22 $/ /login:$(TfsUserName),$(TfsPassword)"/> | 349 | <Exec Condition="'$(TFSUserName)' != ''" Command="%22$(TfsClient)%22 workfold /unmap /server:$(TfsServer) /workspace:%22$(Workspace)%22 $/ /login:$(TfsUserName),$(TfsPassword)"/> |
| 383 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 workfold /map /server:$(TfsServer) /workspace:%22$(Workspace)%22 %22$(ServerFolder)%22 %22$(LocalFolder)%22"/> | 350 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 workfold /map /server:$(TfsServer) /workspace:%22$(Workspace)%22 %22$(ServerFolder)%22 %22$(LocalFolder)%22"/> |
| 384 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 workfold /map /server:$(TfsServer) /workspace:%22$(Workspace)%22 %22$(ServerFolder)%22 %22$(LocalFolder)%22 /login:$(TfsUserName),$(TfsPassword)"/> | 351 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 workfold /map /server:$(TfsServer) /workspace:%22$(Workspace)%22 %22$(ServerFolder)%22 %22$(LocalFolder)%22 /login:$(TfsUserName),$(TfsPassword)"/> |
| 385 | </Target> | 352 | </Target> |
| 386 | 353 | ||
| 387 | <Target Name="AfterCreateWorkspace"/> | 354 | <Target Name="AfterCreateWorkspace"/> |
| 388 | |||
| 389 | <Target Name="BeforePopulateWorkspace"/> | 355 | <Target Name="BeforePopulateWorkspace"/> |
| 390 | 356 | ||
| 391 | <Target Name="CorePopulateWorkspace"> | 357 | <Target Name="CorePopulateWorkspace"> |
| 392 | <!-- Get source code for the specified version. --> | 358 | <!-- Get source code for the specified version. --> |
| 393 | <Message Text="Getting source code..."/> | 359 | <Message Text="Getting source code..."/> |
| 394 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 get %22$(LocalFolder)%22 /version:$(SourceVersion) /force /recursive /noprompt"/> | 360 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 get %22$(LocalFolder)%22 /version:$(SourceVersion) /force /recursive /noprompt"/> |
| 395 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 get %22$(LocalFolder)%22 /version:$(SourceVersion) /force /recursive /noprompt /login:$(TfsUserName),$(TfsPassword)"/> | 361 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 get %22$(LocalFolder)%22 /version:$(SourceVersion) /force /recursive /noprompt /login:$(TfsUserName),$(TfsPassword)"/> |
| 396 | </Target> | 362 | </Target> |
| 397 | 363 | ||
| 398 | <Target Name="CheckForChanges" Condition="'$(ForceBuild)' != 'true'"> | 364 | <Target Name="CheckForChanges" Condition="'$(ForceBuild)' != 'true'"> |
| 399 | <!-- Check for new changes since the last build. --> | 365 | <!-- Check for new changes since the last build. --> |
| 400 | <Message Text="Checking for changes..."/> | 366 | <Message Text="Checking for changes..."/> |
| 401 | <ReadLinesFromFile File="$(VersionFile)"> | 367 | <ReadLinesFromFile File="$(VersionFile)"> |
| 402 | <Output TaskParameter="Lines" ItemName="VersionNumber"/> | 368 | <Output TaskParameter="Lines" ItemName="VersionNumber"/> |
| 403 | </ReadLinesFromFile> | 369 | </ReadLinesFromFile> |
| @@ -409,18 +375,17 @@ · 5 unmodified lines | |||
| 409 | </PropertyGroup> | 375 | </PropertyGroup> |
| 410 | <Message Text="Build is skipped - No new changes." Condition="'$(ForceBuild)' != 'true'"/> | 376 | <Message Text="Build is skipped - No new changes." Condition="'$(ForceBuild)' != 'true'"/> |
| 411 | </Target> | 377 | </Target> |
| 412 | 378 | ||
| 413 | <Target Name="AfterPopulateWorkspace"/> | 379 | <Target Name="AfterPopulateWorkspace"/> |
| 414 | |||
| 415 | <Target Name="BeforeVersionSource"/> | 380 | <Target Name="BeforeVersionSource"/> |
| 416 | 381 | ||
| 417 | <Target Name="CoreVersionSource" Condition="'$(SourceVersion)' == 'T' And '@(FilesToVersion)' != '' And '$(SkipVersioning)' != 'true'"> | 382 | <Target Name="CoreVersionSource" Condition="'$(SourceVersion)' == 'T' And '@(FilesToVersion)' != '' And '$(SkipVersioning)' != 'true'"> |
| 418 | <!-- Update version number of the source code. --> | 383 | <!-- Update version number of the source code. --> |
| 419 | <Message Text="Versioning source code..."/> | 384 | <Message Text="Versioning source code..."/> |
| 420 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 checkout /noprompt %22$(VersionFile)%22"/> | 385 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 checkout /noprompt %22$(VersionFile)%22"/> |
| 421 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 checkout /noprompt %22$(VersionFile)%22 /login:$(TfsUserName),$(TfsPassword)"/> | 386 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 checkout /noprompt %22$(VersionFile)%22 /login:$(TfsUserName),$(TfsPassword)"/> |
| 422 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 checkout /noprompt %22%(FilesToVersion.FullPath)%22"/> | 387 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 checkout /noprompt %22%(FilesToVersion.FullPath)%22"/> |
| 423 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 checkout /noprompt %22%(FilesToVersion.FullPath)%22 /login:$(TfsUserName),$(TfsPassword)"/> | 388 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 checkout /noprompt %22%(FilesToVersion.FullPath)%22 /login:$(TfsUserName),$(TfsPassword)"/> |
| 424 | <Version VersionFile="$(VersionFile)" Major="$(VersionMajorChange)" Minor="$(VersionMinorChange)" BuildType="$(VersionBuildChange)" RevisionType="$(VersionRevisionChange)"> | 389 | <Version VersionFile="$(VersionFile)" Major="$(VersionMajorChange)" Minor="$(VersionMinorChange)" BuildType="$(VersionBuildChange)" RevisionType="$(VersionRevisionChange)"> |
| 425 | <Output TaskParameter="Major" PropertyName="Major"/> | 390 | <Output TaskParameter="Major" PropertyName="Major"/> |
| 426 | <Output TaskParameter="Minor" PropertyName="Minor"/> | 391 | <Output TaskParameter="Minor" PropertyName="Minor"/> |
| @@ -435,18 +400,19 @@ · 8 unmodified lines | |||
| 435 | <BuildLabel Condition="'$(BuildLabel)' == ''">$(ProjectName)_v$(Major).$(Minor).$(Build).$(Revision)</BuildLabel> | 400 | <BuildLabel Condition="'$(BuildLabel)' == ''">$(ProjectName)_v$(Major).$(Minor).$(Build).$(Revision)</BuildLabel> |
| 436 | </PropertyGroup> | 401 | </PropertyGroup> |
| 437 | </Target> | 402 | </Target> |
| 438 | 403 | ||
| 439 | <Target Name="AfterVersionSource"/> | 404 | <Target Name="AfterVersionSource"/> |
| 440 | |||
| 441 | <Target Name="BeforeBuildProjects"/> | 405 | <Target Name="BeforeBuildProjects"/> |
| 442 | 406 | ||
| 443 | <Target Name="CoreBuildProjects"> | 407 | <Target Name="CoreBuildProjects"> |
| 444 | <!-- Build all of the specified projects. --> | 408 | <!-- Build all of the specified projects. --> |
| 445 | <Message Text="Compiling projects..."/> | 409 | <Message Text="Compiling projects..."/> |
| 446 | <MSBuild Projects="@(ProjectsToBuild)" Properties="Configuration=$(BuildFlavor);Platform=$(BuildTarget);%(ProjectsToBuild.Properties)"/> | 410 | <MSBuild Projects="@(ProjectsToBuild)" Properties="Configuration=$(BuildFlavor);Platform=$(BuildTarget);%(ProjectsToBuild.Properties)"/> |
| 411 | |||
| 447 | <!-- Build all of the specified installs. --> | 412 | <!-- Build all of the specified installs. --> |
| 448 | <Message Text="Compiling installs..."/> | 413 | <Message Text="Compiling installs..."/> |
| 449 | <Exec Command="%22$(VisualStudio)%22 %22$(ProjectSolution)%22 /Project %22%(InstallsToBuild.FullPath)%22 /Build %22$(BuildFlavor)|$(BuildTarget)%22" Condition="'$(ProjectSolution)' != '' And '@(InstallsToBuild)' != ''"/> | 414 | <Exec Command="%22$(VisualStudio)%22 %22$(ProjectSolution)%22 /Project %22%(InstallsToBuild.FullPath)%22 /Build %22$(BuildFlavor)|$(BuildTarget)%22" Condition="'$(ProjectSolution)' != '' And '@(InstallsToBuild)' != ''"/> |
| 415 | |||
| 450 | <!-- Create list of files to be deleted from build output. --> | 416 | <!-- Create list of files to be deleted from build output. --> |
| 451 | <ItemGroup> | 417 | <ItemGroup> |
| 452 | <FilesToDelete Include="$(BuildOutputFolder)\**\setup.exe"/> | 418 | <FilesToDelete Include="$(BuildOutputFolder)\**\setup.exe"/> |
| @@ -455,43 +421,39 @@ · 2 unmodified lines | |||
| 455 | <FilesToDelete Include="$(BuildOutputFolder)\**\*.vshost.exe.manifest"/> | 421 | <FilesToDelete Include="$(BuildOutputFolder)\**\*.vshost.exe.manifest"/> |
| 456 | </ItemGroup> | 422 | </ItemGroup> |
| 457 | </Target> | 423 | </Target> |
| 458 | 424 | ||
| 459 | <Target Name="AfterBuildProjects"/> | 425 | <Target Name="AfterBuildProjects"/> |
| 460 | |||
| 461 | <Target Name="BeforeExecuteUnitTests"/> | 426 | <Target Name="BeforeExecuteUnitTests"/> |
| 462 | 427 | ||
| 463 | <Target Name="CoreExecuteUnitTests" Condition="'@(UnitTestAssemblies)' != ''"> | 428 | <Target Name="CoreExecuteUnitTests" Condition="'@(UnitTestAssemblies)' != ''"> |
| 464 | <!-- Execute tests in unit test assemblies. --> | 429 | <!-- Execute tests in unit test assemblies. --> |
| 465 | <Message Text="Executing unit tests..."/> | 430 | <Message Text="Executing unit tests..."/> |
| 466 | <Exec Command="%22$(MSTest)%22 /testcontainer:%22%(UnitTestAssemblies.FullPath)%22" WorkingDirectory="%(UnitTestAssemblies.RootDir)%(UnitTestAssemblies.Directory)"/> | 431 | <Exec Command="%22$(MSTest)%22 /testcontainer:%22%(UnitTestAssemblies.FullPath)%22" WorkingDirectory="%(UnitTestAssemblies.RootDir)%(UnitTestAssemblies.Directory)"/> |
| 467 | </Target> | 432 | </Target> |
| 468 | 433 | ||
| 469 | <Target Name="AfterExecuteUnitTests"/> | 434 | <Target Name="AfterExecuteUnitTests"/> |
| 470 | |||
| 471 | <Target Name="BeforeLabelBuild"/> | 435 | <Target Name="BeforeLabelBuild"/> |
| 472 | 436 | ||
| 473 | <Target Name="CoreLabelBuild" Condition="'$(BuildLabel)' != '' And '$(SkipVersioning)' != 'true'"> | 437 | <Target Name="CoreLabelBuild" Condition="'$(BuildLabel)' != '' And '$(SkipVersioning)' != 'true'"> |
| 474 | <!-- Apply label for the current build. --> | 438 | <!-- Apply label for the current build. --> |
| 475 | <Message Text="Labeling build $(BuildLabel)..."/> | 439 | <Message Text="Labeling build $(BuildLabel)..."/> |
| 476 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 label %22$(BuildLabel)%22 %22$(LocalFolder)%22 /comment:%22Label applied for build $(BuildLabel).%22 /recursive"/> | 440 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 label %22$(BuildLabel)%22 %22$(LocalFolder)%22 /comment:%22Label applied for build $(BuildLabel).%22 /recursive"/> |
| 477 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 label %22$(BuildLabel)%22 %22$(LocalFolder)%22 /comment:%22Label applied for build $(BuildLabel).%22 /recursive /login:$(TfsUserName),$(TfsPassword)"/> | 441 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 label %22$(BuildLabel)%22 %22$(LocalFolder)%22 /comment:%22Label applied for build $(BuildLabel).%22 /recursive /login:$(TfsUserName),$(TfsPassword)"/> |
| 478 | </Target> | 442 | </Target> |
| 479 | 443 | ||
| 480 | <Target Name="AfterLabelBuild"/> | 444 | <Target Name="AfterLabelBuild"/> |
| 481 | |||
| 482 | <Target Name="BeforeCleanBuild"/> | 445 | <Target Name="BeforeCleanBuild"/> |
| 483 | 446 | ||
| 484 | <Target Name="CoreCleanBuild"> | 447 | <Target Name="CoreCleanBuild"> |
| 485 | <!-- Clean output of the current build. --> | 448 | <!-- Clean output of the current build. --> |
| 486 | <Message Text="Cleaning build output..."/> | 449 | <Message Text="Cleaning build output..."/> |
| 487 | <Delete Files="@(FilesToDelete)" ContinueOnError="true"/> | 450 | <Delete Files="@(FilesToDelete)" ContinueOnError="true"/> |
| 488 | </Target> | 451 | </Target> |
| 489 | |||
| 490 | <Target Name="AfterCleanBuild"/> | ||
| 491 | 452 | ||
| 453 | <Target Name="AfterCleanBuild"/> | ||
| 492 | <Target Name="BeforeDeployBuild"/> | 454 | <Target Name="BeforeDeployBuild"/> |
| 493 | 455 | ||
| 494 | <Target Name="CoreDeployBuild" Condition="'$(BuildOutputFolder)' != '' And '$(BuildDeployFolder)' != ''"> | 456 | <Target Name="CoreDeployBuild" Condition="'$(BuildOutputFolder)' != '' And '$(BuildDeployFolder)' != ''"> |
| 495 | <!-- Copy build content to the deploy folder. --> | 457 | <!-- Copy build content to the deploy folder. --> |
| 496 | <Message Text="Deploying build content..."/> | 458 | <Message Text="Deploying build content..."/> |
| 497 | <ItemGroup> | 459 | <ItemGroup> |
| @@ -502,7 +464,7 @@ · 4 unmodified lines | |||
| 502 | <Copy SourceFiles="@(FilesToDeploy)" DestinationFolder="$(BuildDeployFolder)\%(FilesToDeploy.RecursiveDir)"/> | 464 | <Copy SourceFiles="@(FilesToDeploy)" DestinationFolder="$(BuildDeployFolder)\%(FilesToDeploy.RecursiveDir)"/> |
| 503 | <CallTarget Targets="ArchiveBuildOutput"/> | 465 | <CallTarget Targets="ArchiveBuildOutput"/> |
| 504 | </Target> | 466 | </Target> |
| 505 | 467 | ||
| 506 | <Target Name="ArchiveBuildOutput" Condition="'@(BinariesToArchive)' != '' Or '@(InstallsToArchive)' != ''"> | 468 | <Target Name="ArchiveBuildOutput" Condition="'@(BinariesToArchive)' != '' Or '@(InstallsToArchive)' != ''"> |
| 507 | <!-- Create specified archives of build content. --> | 469 | <!-- Create specified archives of build content. --> |
| 508 | <Message Text="Archiving build content..."/> | 470 | <Message Text="Archiving build content..."/> |
| @@ -521,30 +483,29 @@ · 12 unmodified lines | |||
| 521 | </ItemGroup> | 483 | </ItemGroup> |
| 522 | <Copy SourceFiles="@(Archives)" DestinationFolder="%(ArchiveDestinations.FullPath)" ContinueOnError="true"/> | 484 | <Copy SourceFiles="@(Archives)" DestinationFolder="%(ArchiveDestinations.FullPath)" ContinueOnError="true"/> |
| 523 | </Target> | 485 | </Target> |
| 524 | |||
| 525 | <Target Name="AfterDeployBuild"/> | ||
| 526 | 486 | ||
| 487 | <Target Name="AfterDeployBuild"/> | ||
| 527 | <Target Name="BeforeDeleteWorkspace"/> | 488 | <Target Name="BeforeDeleteWorkspace"/> |
| 528 | 489 | ||
| 529 | <Target Name="CoreDeleteWorkspace"> | 490 | <Target Name="CoreDeleteWorkspace"> |
| 530 | <!-- Checkin all of the pending changes. --> | 491 | <!-- Checkin all of the pending changes. --> |
| 531 | <Message Text="Checking in pending changes..." Condition="'$(SkipVersioning)' != 'true'" /> | 492 | <Message Text="Checking in pending changes..." Condition="'$(SkipVersioning)' != 'true'" /> |
| 532 | <Exec Condition="'$(TfsUserName)' == '' and '$(SkipVersioning)' != 'true'" Command="%22$(TfsClient)%22 checkin /comment:%22$(ProjectName): Version change for build $(BuildLabel).%22 /recursive /noprompt %22$(LocalFolder)%22" ContinueOnError="true" /> | 493 | <Exec Condition="'$(TfsUserName)' == '' and '$(SkipVersioning)' != 'true'" Command="%22$(TfsClient)%22 checkin /comment:%22$(ProjectName): Version change for build $(BuildLabel).%22 /recursive /noprompt %22$(LocalFolder)%22" ContinueOnError="true" /> |
| 533 | <Exec Condition="'$(TfsUserName)' != '' and '$(SkipVersioning)' != 'true'" Command="%22$(TfsClient)%22 checkin /comment:%22$(ProjectName): Version change for build $(BuildLabel).%22 /recursive /noprompt %22$(LocalFolder)%22 /login:$(TfsUserName),$(TfsPassword)" ContinueOnError="true"/> | 494 | <Exec Condition="'$(TfsUserName)' != '' and '$(SkipVersioning)' != 'true'" Command="%22$(TfsClient)%22 checkin /comment:%22$(ProjectName): Version change for build $(BuildLabel).%22 /recursive /noprompt %22$(LocalFolder)%22 /login:$(TfsUserName),$(TfsPassword)" ContinueOnError="true"/> |
| 534 | <!-- Delete the temporary build workpsace. --> | 495 | <!-- Delete the temporary build workpsace. --> |
| 535 | <Message Text="Deleting temporary workspace..."/> | 496 | <Message Text="Deleting temporary workspace..."/> |
| 536 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 workspace /delete /server:$(TfsServer) %22$(Workspace)%22" ContinueOnError="true"/> | 497 | <Exec Condition="'$(TfsUserName)' == ''" Command="%22$(TfsClient)%22 workspace /delete /server:$(TfsServer) %22$(Workspace)%22" ContinueOnError="true"/> |
| 537 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 workspace /delete /server:$(TfsServer) %22$(Workspace)%22 /login:$(TfsUserName),$(TfsPassword)" ContinueOnError="true"/> | 498 | <Exec Condition="'$(TfsUserName)' != ''" Command="%22$(TfsClient)%22 workspace /delete /server:$(TfsServer) %22$(Workspace)%22 /login:$(TfsUserName),$(TfsPassword)" ContinueOnError="true"/> |
| 538 | </Target> | 499 | </Target> |
| 500 | |||
| 539 | <Target Name="AfterDeleteWorkspace"/> | 501 | <Target Name="AfterDeleteWorkspace"/> |
| 540 | 502 | ||
| 541 | <Target Name="HandleBuildFailure"> | 503 | <Target Name="HandleBuildFailure"> |
| 542 | <!-- Handle any unexpected build errors. --> | 504 | <!-- Handle any unexpected build errors. --> |
| 543 | <Message Text="Undoing pending changes..." Condition="'$(SkipVersioning)' != 'true'" /> | 505 | <Message Text="Undoing pending changes..." Condition="'$(SkipVersioning)' != 'true'" /> |
| 544 | <Exec Condition="'$(TfsUserName)' == '' and '$(SkipVersioning)' != 'true'" Command="%22$(TfsClient)%22 undo %22$(LocalFolder)%22 /recursive /noprompt" ContinueOnError="true"/> | 506 | <Exec Condition="'$(TfsUserName)' == '' and '$(SkipVersioning)' != 'true'" Command="%22$(TfsClient)%22 undo %22$(LocalFolder)%22 /recursive /noprompt" ContinueOnError="true"/> |
| 545 | <Exec Condition="'$(TfsUserName)' != '' and '$(SkipVersioning)' != 'true'" Command="%22$(TfsClient)%22 undo %22$(LocalFolder)%22 /recursive /noprompt /login:$(TfsUserName),$(TfsPassword)" ContinueOnError="true"/> | 507 | <Exec Condition="'$(TfsUserName)' != '' and '$(SkipVersioning)' != 'true'" Command="%22$(TfsClient)%22 undo %22$(LocalFolder)%22 /recursive /noprompt /login:$(TfsUserName),$(TfsPassword)" ContinueOnError="true"/> |
| 546 | <CallTarget Targets="DeleteWorkspace"/> | 508 | <CallTarget Targets="DeleteWorkspace"/> |
| 547 | <Beep Duration="2000"/> | 509 | <Beep Duration="2000"/> |
| 548 | </Target> | 510 | </Target> |
| 549 | |||
| 550 | </Project> | 511 | </Project> |