Properties and targets defined in TeamBuild process (Microsoft.TeamFoundationBuild.targets only)

We have comprehensive inline documentation for the properties defined in TfsBuild.proj file. These are very commonly used properties. There are several additional properties and overridable targets defined in TeamBuild targets file (Microsoft.TeamFoundationBuild.targets) that can be helpful while customize the build process. Here is the complete laundry list of these properties and targets.

I’ve not included here the targets defined for teambuild internal build process which should not be overridden.

Properties the can be overridden

SkipClean

set this property to skip clean action

SkipGet

set this property to skip get action

SkipLabel

set this property to skip labeling action

SkipInitializeWorkspace

set this property to skip workspace creation action

SkipPostBuild

set this property to skip gathering associated changesets and workitems

SkipDropBuild

set this property to skip drop build action.

SkipWorkItemCreation

set this property to skip workitem creation on build failure

AdditionalVCOverrides

additional VC property sheets passed to the VC++ solutions in the build process

SolutionRoot

points to the root of the sources folder on build machine

Other Properties

WorkspaceName

identifies the name of the workspace created for this build

IsDesktopBuild

identifies if the build process is a desktop build

BinariesRoot

points to the binaries folder on build machine

TestResultsRoot

points to test results folder on build machine

BuildType

identifies the name of the build type

BuildNumber

identifies the name of the build, i.e., the build number

TeamFoundationServerUrl

identifies the URL of the team foundation server

Overridabe Targets

BeforeEndToEndIteration

called immediately after the full stack build is started on the build machine

AfterEndToEndIteration

called at the end of full stack build

BuildNumberOverrideTarget

target to override to customize the build number

BeforeClean

called before clean is attempted

AfterClean

called after clean is completed

BeforeGet

called before sources are get

AfterGet

called after sources are fetched

BeforeLabel

called before sources are labeled

AfterLabel

called after labeling is completed

BeforeCompile

called before compilation is started

AfterCompile

called after compilation is completed

BeforeTest

called before testing is attempted

AfterTest

called after testing is completed

BeforeDropBuild

called before dropping the built binaries, build log files and test results to release server

AfterDropBuild

called after dropping the built binaries, build log files and test results to release server

BeforeOnBuildBreak

called before creating workitem on the build break

AfterOnBuildBreak

called after workitem is created on the build break

Namaste