VSTS, Visual Studio, VS2010,
prix plavix viagra pour les femmes acheter viagra doctissimo viagra combien ca coute paxil médicament cialis generique en france nolvadex sans ordonnance générique zovirax générique flagyl levitra indien plavix belgique cialis à vendre zovirax comprimés posologie acheter viagra 20mg acheter lioresal baclofen prix levitra pharmacie achat cialis sans ordonnance lasix médicament nolvadex 20mg acheter kamagra gel achat priligy cialis inde acheter cialis internet acheter cialis sans ordonnance viagra temoignage viagra generique en pharmacie plavix 150 mg pilule levitra prix levitra acheter cialis en espagne viagra le vrai acheter accutane cipro xl 1000mg achat cialis en france kamagra belgique cialis 10mg prix commander cialis generique prix priligy priligy dapoxetine strattera 80 mg kamagra oral jelly achat viagra pharmacie cialis 5 mg prix prix aciclovir priligy achat prix cialis 5 viagra pharmacie paris acheter baclofen aciclovir prix clomid sans prescription cialis tunisie acheter cipro kamagra livraison rapide acheter levitra pas chere cialis generique forum prix cialis 10 mg cialis generique 10mg viagra generique belgique kamagra paris achat cialis 5mg flagyl générique acheter clomid acheter zithromax médicaments cipralex viagra generique pharmacie procurer du cialis vente de cialis sur internet pilule cialis cialis luxembourg viagra en pharmacie proscar sans ordonnance plavix prescription plavix 75 mg accutane ligne viagra lyon viagra im internet bestellen strafbar clomid 150 mg achat kamagra oral jelly cialis generique pas cher proscar 5mg cipro 1000mg viagra ou acheter cialis 10 mg generique priligy en belgique accutane sans ordonnance cialis 5mg prix generique zithromax veritable viagra acheter strattera viagra chez la femme cialis bon prix cialis lilly prix kamagra apcalis achat cialis clomid en ligne generique cialis efficace acheter viagra canada viagra naturel pour femme commander cialis en france amoxicillin 500 mg kamagra suisse levitra france achat cialis suisse acheter du viagra achat viagra pas cher acheter acyclovir kamagra en france acheter cialis paypal acheter du kamagra cialis prix strattera 40 mg prix zovirax nolvadex prix clomid 100mg azithromycin 250 mg viagra generique suisse acheter cialis generic viagra effet secondaire cialis ne marche pas médicament baclofen acheter amoxicillin prix du viagra paxil 30mg clomid 50mg acheter sildenafil flagyl ordonnance clomid sans ordonnance forum achat cialis prix flagyl 500 clomid deux comprimés clomid 25mg impuissance sexuelle commander du viagra acheter clomid viagra professionnel acheter du levitra plavix 300 mg prix viagra andorre achete viagra cialis generique france cialis commande cialis 20mg pas cher viagra prix de vente prix sildenafil traitement impuissance cialis generique suisse viagra sans prescription cialis achat forum viagra remboursé par la sécu prix cialis 5mg levitra a vendre

Easily Output the Built-in Team Build 2008 Properties

By Shad Timm • on September 15, 2008

Anyone who was worked with MSBuild to customize Team Build knows the pains of debugging your build scripts and that many times it resorts to outputting property and item values out with the message task.  There is also the major issue of just knowing what each built in property contains and not mixing one up with another which gives you unexpected results.  In order to simplify the output of the built in properties and easily give a complete list of their values, we compiled the property reference from Aaron Hallberg’s blog into a single targets file.

The screen shots below detail how the targets file is set up, how to use it within your build, and the output it produces.  You can find a link to download the targets file at towards the end of the post.

ShowAllProperties Target

The screen shot below shows an example of the custom target that was created to hold the sets of build in properties.  A PropertyGroup named ExtensibleProperties contains the built in property name and then value with each separated by a blank line (%0D%0A).

ShowAllProperties Message Output

Once all the property groups are defined for the various property category types, a message task is used to output them to the build log.

ShowAllProperties File Output

Code is also added using the WriteLinesToFile task to append all the information to a file called TeamBuildProperties.txt.  Notice there is no file path defined so the current output location of the file is the working directory of MSBuild during a TeamBuild.  If your build agent working directory is defined as C:\Work\$(BuildDefinitionPath), your Team Project is Project1, and your build definition is Build1, the local path where you would find the file would be C:\Work\Project1\Build1\BuildType\TeamBuildProperties.txt.

Targets File in Source Control

The TeamBuild.Properties.targets file where the ShowAllProperties target is defined is added to source control alongside the Team Build project definition.  Of course, in most instance you will want to be using this file across multiple build definitions so you would be better off storing it in a shared location and branching it into each project or using another strategy to maintain a single master copy in source control that can be easily maintained and utilized by multiple build defnitions.

Import Statement in TFSBuild.proj

An Import statement is used to pull the TeamBuild.Properties.targets file into the Team Build TFSBuild.proj file.  Since the targets file is added to source control at the same level as the Team Build project file, the $(MSBuildProjectDirectory) property is used to target this location.

Calling ShowAllProperties

To execute the target, the CallTarget task is used and called in the BeforeTest target in the example below.

Extensible Properties Output

The start of the property output is easily found within the build log by searching for **** which breaks up the various property categories.  Then you can see the property name and values at the time of the execution for the various categories as seen by the screen shots below.

Get Task Properties Output

Label Task Properties Output

Read Only Properties

You can download the custom targets file here TeamBuild.Properties.targets to use within your own build scripts.

I hope the ease of the targets file will help you in debugging your build scripts or stepping into team build for the first time and exploring the built in properties.  Automate your builds and enjoy!

Comments

Trackbacks

Leave a Comment

You must be logged in to post a comment.