[UPDATED 4/24/2010 – Microsoft has released the RTM version of these Build Extensions. Please see this post.]
[UPDATE: This version only works with TFS 2010 Beta 2. The version that work with TFS 2010 RC is here.]
I’ve recently been working with clients that have need to integrate Java development with TFS. I’ve been working with the great Teamprise GUI and command-line tools. In addition, they have a set of Team build extensions that allow you to use Team Build 2005/2008 to automate your Ant or Maven builds. They even have a way to publish jUnit tests to TFS just like the MSTest tools do during a Team Build.
We at Notion Solutions are early adopters of all things “TFS/VS”. We’ve been working with TFS since the pre-Beta days of TFS 2005 and recently “went live” with TFS 2010 at Beta 1. We’ve been building our Notion Toolkit with TFS 2010, Team Build 2010 and the new Lab Management tools. We are now running TFS 2010 Beta 2 and are waiting for RC and RTM drops from Microsoft with bated breath.
When I came onto “the bench” after my last client, my boss asked me to setup a demo Java environment under TFS 2010 Beta 2 with fully automated build, unit tests and deployment to a windows and SuSe Linux environment for testing. This was fairly trivial for the most part as all I had to do was create a Java program and jUnit tests in Eclipse with the Teamprise plug-in, create an Ant build script and then create a new Team Build Type in Teamprise for my build. Teamprise did an excellent job integrating the Ant build script with Team Build’s MSBuild file. I then needed to install the Teamprise Build Extensions onto my build box.
Unfortunately, when I ran the build it blew up at the start because the Teamprise Build Extensions were built against the TFS 2008 Build API and DLLs. My build box is fully Team Build 2010 so these DLLs weren’t available, and even if they were, they wouldn’t have worked. What to do..what to do…
I did what anyone would do…I begged for help! Luckily Martin Woodward from the Teamprise development team (now part of Microsoft) was available to give me a hand. First off, Martin pointed me to the source code in the Teamprise Labs. He then gave me a roadmap to the changes needed to work under .Net 4.0/TFS 2010. Next, he gave me the changes to the xslt (that was a lifesaver). I rebuilt the code and tested it The Teamprise team at Microsoft has a “modified” version of this code that they are working with but can’t release yet so here’s my try at it until they can put out an “official” version.
The Teamprise Build Extensions are licensed under the Microsoft Public License (Ms-PL). This license pretty much says that you can make any changes that you like. Thank you Teamprise!
All the usual disclaimers apply…I won’t be held responsible for anything; good, bad or otherwise and this code is still published under the Ms-PL license. 😉
If you find any problems, please let me know and I’ll do my best to fix it. Once the “official” Teamprise Extensions for 2010 ship, I’ll post a link from here to there.
The zip file contains the source code, Debug build binaries and updates xslt.
- Install the Teamprise Build Extensions for TFS 2008 found at http://labs.teamprise.com/build/extensions.html
- Copy the DLLS and xslt directory from the bin folder in the root of the zip file to C:Program FilesMSBuildTeamprisev2.