Team Build - Extensibility Properties
Team Build Extensibility Properties
There are lots and lots of MSBuild properties available to Team Build 2008 build definitions, most of which are probably unknown to the majority of users. As such, I've tried to compile a comprehensive list of these properties so that they can (hopefully) be more widely used. I'll do the same thing at some point here for Team Build 2005. If I've missed anything here or made any mistakes please let me know and I'll try and get them added/fixed.
Extensibility Properties
These are properties that are designed to be overridden by users, and they are already pretty well documented in MSDN here. I've included the same properties here for comprehensiveness, along with some others not covered by the linked document:
- AdditionalVCOverrides. These values are written to the vsprops file generated by Team Build for each C++ project compiled and passed to the Override property of the VCBuild task.
- BinariesSubdirectory. The subdirectory under the build agent's working directory to which binaries are redirected during compilation. Default value is "Binaries".
- BuildConfigurationsInParallel. Boolean property which, if true, enables building configurations (e.g. Debug|Any CPU and Release|Any CPU) in parallel, using MSBuild's multi-process capability. Defaults to true. Note that for this property to have an effect, the number of processes used by MSBuild, controlled by the MaxProcesses key in TfsBuildService.exe.config, must be set to a number greater than one.
- BuildlogText. The text that points to the build log in the work item created on a compilation failure.
- BuildNumber. The number of the build being built. If you wish to override the default value, make sure to do so in the BuildNumberOverrideTarget so that the standard build process logic will update the various properties that depend on the build number (the drop location, label name, etc.) properly.
- BuildSolutionsInParallel. Boolean property which, if true, enables building solutions in parallel, using MSBuild's multi-process capability. Defaults to true. Note that for this property to have an effect, the number of processes used by MSBuild, controlled by the MaxProcesses key in TfsBuildService.exe.config, must be set to a number greater than one.
- CleanCompilationOutputOnly. Do not use this property directly - use IncrementaBuild and/or IncrementalGet instead.
- CreateWorkspaceTaskComment. The comment used when Team Build's workspace is created. Default value is "Workspace created by Team Build".
- CustomizableOutDir. Set this property to true to keep Team Build from overriding the OutDir property for each solution/project in the SolutionToBuild item group.
- CustomizablePublishDir. Set this property to true to keep Team Build from overriding the OutDir property for each solution/project in the SolutionToPublish item group.
- CustomPropertiesForBuild. Allows properties to be passed into all solutions/projects compiled during the course of the build.
- CustomPropertiesForClean. Allows properties to be passed into all solutions/projects cleaned during the course of the build. Note that the Clean target of individual solutions/projects is only invoked if IncrementalBuild is true.
- DescriptionText. The history comment of the work item created on a compilation failure.
- ErrorWarningLogText. The text that points to the errors/warnings log file in the work item created on a compilation failure.
- IncrementalBuild. A boolean property that specifies whether the build should be full or incremental. Defaults to false (i.e. a full build).
- IncrementalGet. A boolean property that specifies whether the get operation should be full or incremental. Defaults to false (i.e. a full get).
- MSTestRefPath. The path to the TestToolsTask (contained in Microsoft.VisualStudio.QualityTools.MSBuildTasks.dll). Overridable so that the 8.0 version can be used for test assemblies compiled against the 8.0 unit test framework - see V8TestToolsTask.
- RunCodeAnalysis. Property that controls whether code analysis is executed according to project settings (Default), all the time (Always), or never (Never).
- RunTest. Boolean property that controls whether or not tests are executed.
- SkipClean. Do not use this property directly - use IncrementalGet and/or IncrementalBuild instead.
- SkipDropBuild. Set this property to true to skip the CoreDropBuild target.
- SkipGet. Set this property to true to skip the CoreGet target.
- SkipGetChangesetsUpdateWorkItems. Set this property to true to skip the association of changesets and work items for successful builds.
- SkipInitializeWorkspace. Do not use this property directly - use IncrementalGet and/or IncrementalBuild instead.
- SkipInvalidConfigurations. Set this property to false to generate an error rather than a warning when an invalid configuration is present in the ConfigurationToBuild item group for one or more solutions/projects.
- SkipLabel. Set this property to true to skip the CoreLabel target.
- SkipPostBuild. Do not use this property - use SkipGetChangesetsUpdateWorkItems instead.
- SkipWorkItemCreation. Set this property to true to skip the CoreCreateWorkItem target on a compilation failure.
- SourcesSubdirectory. The subdirectory under the build agent's working directory to which sources are retrieved from version control. Default value is "Sources".
- StopOnFirstFailure. Set this property to true to stop cleaning, compiling, and/or testing on the first failure encountered.
- TestResultsSubdirectory. The subdirectory under the build agent's working directory to which test results are redirected. Default value is "TestResults".
- UpdateAssociatedWorkItems. A boolean value that controls whether associated work items have their "Fixed In" field updated on a successful build.
- UpdateAssociatedWorkItemsOnBuildBreak. A boolean value that controls whether associated work items are updated for broken builds. Default value is false.
- V8TestToolsTask. Boolean property which, if true, causes the 8.0 TestToolsTask syntax to be used (the TestNames property was not supported in the 8.0 version of the task).
- VCBuildAdditionaLibPaths. Passed to the AdditionalLibPaths property of the VCBuild task for each C++ project compiled.
- VCBuildAdditionalOptions. Passed to the AdditionalOptions property of the VCBuild task for each C++ project compiled.
- VCBuildToolPath. Passed to the ToolPath property of the VCBuild task for each C++ project compiled.
- VCBuildUseEnvironment. Passed to the UseEnvironment property of the VCBuild task for each C++ project compiled.
- VCOverridesOpen. The beginning of the vsprops file used to override VCBuild properties - can be overridden to use a different ProjectType version, a different Name, etc. Default value is an escaped version of:
<?xml version="1.0"?>
<VisualStudioPropertySheet ProjectType="Visual C++" Version="8.00" Name="Team Build Overrides"
- VCOverridesClose. The ending of the vsprops file used to override VCBuild properties. Default value is an escaped version of:
</VisualStudioPropertySheet>
- WorkItemFieldValue. The fields and values of the work item created on a compilation failure.
- WorkItemTitle. The title of the work item created on a compilation failure.
- WorkItemType. The type of work item created on a compilation failure.