Team Foundation Build Extensions
The Team Foundation Build Extensions provide the ability to execute Ant or Maven 2 builds from Team Foundation Server and publish the results of the build along with any associated JUnit test results back to Team Foundation Server. This release is compatible with Team Foundation Server 2005, Team Foundation Server 2008 and Team Foundation Server 2010.
You must have the following installed on the same server that is hosting the Team Foundation Build Agent:
In addition, you should configure the appropriate environment variables (i.e. JAVA_HOME, ANT_HOME, M2_HOME) as per the relevant install guidance for Ant and Maven.
For Team Foundation Server 2008 and earlier, if you want to publish the results of JUnit tests to the server then you must also install a Team Edition of Visual Studio alongside the build agent to provide a test publishing capable installation of the “MSTest.exe” command line. Note that the build agent installation process in Team Foundation Server 2010 includes a version of the MSTest.exe command line that is capable of publishing test results.
The Team Foundation Build Extensions should be installed on the Team Foundation Build Agent machine. As part of installation the following components are installed:
· Microsoft.TeamFoundation.Build.Extensions.Ant.targets – Ant targets which extend the default Team Foundation Build process to add typical build functionality for an Ant based project including JUnit test publishing.
· Microsoft.TeamFoundation.Build.Extensions.Maven2.targets – Maven targets which extend the default Team Foundation Build process to add typical build functionality for a Maven based project including JUnit test publishing of tests executed by the Surefire plug-in.
· Microsoft.TeamFoundation.Build.Extensions.Tasks.dll – MSBuild tasks required to execute an Ant or Maven build and publish the results along with JUnit test results.
· Microsoft.TeamFoundation.Build.Extensions.Activities.dll - Windows Workflow 4.0 activities required to execute an Ant or Maven build and publish the results along with JUnit test results.
· JUnit Transformation stylesheets – XML Transformation stylesheets to convert an aggregated set of JUnit test results into the TRX file format used by the corresponding version of Team Foundation Server.
Due to differences in the Team Foundation Build functionality in the various releases, three versions of the extensions are installed on all build agents. There are slight differences in the layouts for each version of Team Foundation Server being used. Note that Maven support is currently provided for Team Foundation Server 2008 and above. Workflow Activities related to the build extensions are only provided for Team Foundation Server 2010.
Once you have installed the build extensions on the necessary build agent machines, you must create a build definition which makes use of them. The easiest way to do this is to use a Microsoft Visual Studio Team Explorer Everywhere client to create the build definition.
When talking with Team Foundation Server 2010, an MSBuild based Ant or Maven build definition will make use of the UpgradeTemplate workflow process to execute a TFSBuild.proj script which actually calls Ant or Maven.