<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/"><channel><atom:link href="https://www.finalbuilder.com/DesktopModules/LiveBlog/API/Syndication/GetRssFeeds?Category=tfs&amp;mid=632&amp;PortalId=0&amp;tid=181&amp;ItemCount=20" rel="self" type="application/rss+xml" /><title>VSoft Technologies Blogs</title><description>VSoft Technologies Blogs - posts about our products and software development.</description><link>https://www.finalbuilder.com/resources/blogs</link><item><title>TFS/VSO Task for Running FinalBuilder Project</title><link>https://www.finalbuilder.com/resources/blogs/postid/736/finalbuilder-vso-task</link><category>.NET,DelphiFinalBuilder,Git,TFS</category><pubDate>Wed, 16 Sep 2015 16:33:00 GMT</pubDate><description>Today we are announcing the new build step for Team Foundation Build 2015. This task will allow users of TFS on-prem and VSO to run FinalBuilder projects on Team Foundation Build agents. The task itself is open source and can be found on &lt;a href="https://github.com/VSoftTechnologies/FinalBuilder-VSO"&gt;GitHub&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Those who use TFS on-prem will be very familiar with our XAML build activity already. This activity took a great deal of confusion out of the XAML build process. Changing a build progress from a complex workflow into a simple to maintain FinalBuilder project. The time and effort saved is huge, especially considering the "default" XAML workflow looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://www.finalbuilder.com/blogImages/jason/FinalBuilder-VSO/OldXAMLProcess.png" style="vertical-align: middle; text-align: center; width: 441px; height: 800px;" /&gt;&lt;br /&gt;
&lt;br /&gt;
Thankfully Microsoft have improved on their build system with the release of Team Foundation Build 2015. You can read more about this at &lt;a href="https://msdn.microsoft.com/Library/vs/alm/Build/feature-overview"&gt;Team Foundation Build 2015&lt;/a&gt;. In summary, the new build system greatly simplifies the build process into a list of tasks to perform. &lt;br /&gt;
&lt;br /&gt;
The FinalBuilder task is our custom task for TFS Build 2015. It offers TFS script builders the ability to still have a simplified overview of their build process while still gaining the power of FinalBuilder and all its supported actions. With FinalBuilder TFS build script creators are able to perform a wide number of tasks that would otherwise require breaking out powershell and diving into the TFS agent environment variables. &lt;br /&gt;
&lt;br /&gt;
When installed, the FinalBuilder Task gives users the following UI. All of the properties present in the UI are easily accessible from within any FinalBuilder script run by the task. FinalBuilder also gives simple access to a list of files that triggered the build.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="https://www.finalbuilder.com/blogImages/jason/FinalBuilder-VSO/FinalBuilderTaskOptionsAll.png" style="vertical-align: middle; text-align: center; width: 518px; height: 300px;" /&gt;
&lt;br /&gt;
&lt;h2&gt;Installation and Usage&lt;/h2&gt;
The steps to adding custom build activities to your TFS and VSO instances are quick and easy. We have created a &lt;a href="https://github.com/VSoftTechnologies/FinalBuilder-VSO"&gt;GitHub Repository&lt;/a&gt; for explaining how to install, and use our FinalBuilder VSO task.
&lt;h2&gt;Repository Clone&lt;/h2&gt;
To clone this repository use the following command line. You will require git to be installed and available on your path.&lt;br /&gt;
&lt;pre class="brush:shell; gutter:false; highlight:3"&gt;&gt; mkdir VSoft
&gt; cd VSoft
&gt; git clone https://github.com/VSoftTechnologies/FinalBuilder-VSO.git
Cloning into 'FinalBuilder-VSO'...
remote: Counting objects: X, done.
remote: Compressing objects: 100% (X/X), done.
remote: Total X (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (X/X), done.
Checking connectivity... done.
&lt;/pre&gt;
With the repository cloned we require the TFS Extensions Command Line Utility (tfx-cli). It comes as a Node Package Manager (npm) package. Npm comes with both the node.js and io.js installer. Download the installer for your Windows platform and run it.&lt;br /&gt;
&lt;br /&gt;
To check that NPM is working correctly you can use the npm version command&lt;br /&gt;
&lt;pre class="brush:shell; gutter:false; highlight:1"&gt;&gt; npm -v
2.10.1
&lt;/pre&gt;
Now your able to install the tfx-cli package using npm. Install this globally so that its accessable on the command line. The command line for this is as follows;&lt;br /&gt;
&lt;pre class="brush:shell; gutter:false; highlight:1"&gt;&gt; npm install -g tfx-cli
tfx-cli@0.1.11 C:\Users\&lt;username&gt;\AppData\Roaming\npm\node_modules\tfx-cli
├── os-homedir@1.0.1
├── async@1.4.2
├── colors@1.1.2
├── minimist@1.2.0
├── node-uuid@1.4.3
├── q@1.4.1
├── read@1.0.7 (mute-stream@0.0.5)
├── validator@3.43.0
├── shelljs@0.5.3
├── vso-node-api@0.3.4
└── archiver@0.14.4 (buffer-crc32@0.2.5, lazystream@0.1.0, async@0.9.2, readable-stream@1.0.33, tar-stream@1.1.5, glob@4.3.5, lodash@3.2.0, zip-stream@0.5.2)
&lt;/pre&gt;
To test that tfx-cli is working correctly and is on the path use the tfx command.&lt;br /&gt;
&lt;pre class="brush:shell; gutter:false; highlight:1"&gt;&gt; tfx
Copyright Microsoft Corporation
tfx &lt;command&gt; [&lt;subcommand(s)&gt; ...] [&lt;args&gt;] [--version] [--help] [--json]
                        fTfs
                      fSSSSSSSs
                    fSSSSSSSSSS
     TSSf         fSSSSSSSSSSSS
     SSSSSF     fSSSSSSST SSSSS
     SSfSSSSSsfSSSSSSSt   SSSSS
     SS  tSSSSSSSSSs      SSSSS
     SS   fSSSSSSST       SSSSS
     SS fSSSSSFSSSSSSf    SSSSS
     SSSSSST    FSSSSSSFt SSSSS
     SSSSt        FSSSSSSSSSSSS
                    FSSSSSSSSSS
                       FSSSSSSs
                        FSFs    (TM)
commands:
   build
        manage task extensions and builds
   help
        command help
   login
        login and cache credentials. types: pat (default), basic
        login &lt;collection url&gt; [--authtype &lt;authtype&gt;] [options]
   parse
        parse json by piping json result from another tfx command
        parse &lt;jsonfilter&gt; [options]
   version
        output the version
        version [options]
Options:
   --help    : get help on a command
   --json    : output in json format.  useful for scripting
&lt;/pre&gt;
For tfx-cli to upload a task to TFS it needs to be logged in. We can do this once so that all following commands will use the some credentials. The method used depends on whether your using VSO or an On Prem installation.&lt;br /&gt;
&lt;h2&gt;On Premises Login&lt;/h2&gt;
For on premises TFS basic authentication will need to be enabled. The tfx-cli project has a great guide on how to achieve this Using tfx against Team Foundation Server (TFS) 2015 using Basic Authentication.&lt;br /&gt;
&lt;br /&gt;
Once TFS has been configured to use basic authentication use the tfx-cli login command to connect to TFS. You will be prompted for the TFS collection URL to connect to, and the username and password for accessing that collection.&lt;br /&gt;
&lt;pre class="brush:shell; gutter:false; highlight:1"&gt;&gt; tfx login --authType basic
Copyright Microsoft Corporation
Enter collection url &gt; https://&lt;server&gt;:&lt;port&gt;/tfs/&lt;collection&gt;
Enter username &gt; &lt;user&gt;@&lt;domain&gt;
Enter password &gt; &lt;password&gt;
logged in successfully
&lt;/pre&gt;
With a successful login subsequent commands will not require us to provide the credentials again.&lt;br /&gt;
&lt;h2&gt;Visual Studio Online (VSO) Login&lt;/h2&gt;
For VSO login you need a personal access token setup under your account. There is a great article to configure an access token located at Using Personal Access Tokens to access Visual Studio Online.&lt;br /&gt;
&lt;br /&gt;
With the personal access token configured use the tfx-cli login command to connect to VSO. You will be prompted for the TFS collection URL to connect to, and access token for accessing that collection.&lt;br /&gt;
&lt;pre class="brush:shell; gutter:false; highlight:1"&gt;&gt; tfx login
Copyright Microsoft Corporation
Enter collection url &gt; https://&lt;vsoname&gt;.visualstudio.com/&lt;collection&gt;
Enter personal access token &gt; &lt;access token&gt;
logged in successfully
&lt;/pre&gt;
With a successful login subsequent commands will not require us to provide the credentials again.&lt;br /&gt;
&lt;h2&gt;Uploading Task&lt;/h2&gt;
Once logged into TFS we are able to upload the FinalBuilder task to the server. Tasks are uploaded to the server, the server will then pass them onto agents requried to run those tasks.&lt;br /&gt;
&lt;br /&gt;
To upload the task use the tfx-cli tasks upload command. Each command shown below is a sub-command of the previous, so order does matter here. The overwrite option is included so that any previously installed version is overwritten. Note however the highest version number of the task will win when running builds.&lt;br /&gt;
&lt;br /&gt;
Note: This command is run under the directory in which this repositry was cloned to (i.e. FinalBuilderTFS).&lt;br /&gt;
&lt;pre class="brush:shell; gutter:false; highlight:1"&gt;&gt; tfx build tasks upload ./FinalBuilder --overwrite
Copyright Microsoft Corporation&lt;br /&gt;

task at: ./FinalBuilder uploaded successfully!
&lt;/pre&gt;
To test that the FinalBuilder task is now installed on the builds page for teh collection the task was uploaded to. Create a new empty Team Foundation Build definition. After clicking "Add build step" a FinalBuilder task should appear in the "Build" category.&lt;br /&gt;
&lt;h2&gt;Further Steps&lt;/h2&gt;
For more information on the following subjects please follow the links;&lt;br /&gt;
&lt;br /&gt;
How to configure the build task refer to &lt;a href="https://github.com/VSoftTechnologies/FinalBuilder-VSO/blob/master/docs/TaskUI.md"&gt;Task UI&lt;/a&gt;.&lt;br /&gt;
How to install FinalBuilder on an agent refer to &lt;a href="https://github.com/VSoftTechnologies/FinalBuilder-VSO/blob/master/docs/InstallingFinalBuilder.md"&gt;Installing FinalBuilder&lt;/a&gt;.&lt;br /&gt;
How to create a FinalBuilder VSO agent refer to Creating a &lt;a href="https://github.com/VSoftTechnologies/FinalBuilder-VSO/blob/master/docs/FinalBuilderVSOAgent.md"&gt;VSO FinalBuilder Agent&lt;/a&gt;.</description><guid isPermaLink="false">736</guid></item><item><title>Team Foundation Server XAML Builds</title><link>https://www.finalbuilder.com/resources/blogs/postid/735/team-foundation-server-xaml-builds</link><category>FinalBuilder,Git,TFS</category><pubDate>Tue, 15 Sep 2015 16:16:45 GMT</pubDate><description>&lt;h2&gt;Team Foundation Server XAML Builds&lt;/h2&gt;

&lt;p&gt;Today we have released an update for Team Foundation Server XAML activities for FinalBuilder 7 and 8. These updates are to deal with conflicts caused by GAC installing these activities.&lt;/p&gt;

&lt;p&gt;Since 2010 Team Foundation Server has allowed custom activities to allow provide extra functionality in XAML build workflows. For those that have not had the (dis)pleasure, XAML workflows can be difficult to work with. To alleviate this pain point we implemented XAML build templates and custom activities to allow people to run any FinalBuilder script within the build workflow without the need to edit XAMAL. Customers we have talked to say this simplifies their TFS XAML build workflows a great deal.&lt;/p&gt;

&lt;p&gt;In previous releases, FinalBuilder’s installer automatically installed the TFS XAML activity into the GAC. The version of the activity installed was based on the TFS Agent detected on the machine in question. Installing into the GAC was done to simplify the process. This way the developer would simply use the activities in their build workflow and it would be picked up through the GAC.&lt;/p&gt;

&lt;p&gt;With the introduction of the new TFS build in TFS 2015 and TFS-Git in TFS 2013 this is no longer advisable. In the case of TFS-Git Workflows, assembly conflicts can cause assembly load issues.  If the activity requires a different assembly version to those already loaded by the TFS agent, you would see assembly load errors with lib2gitsharp. With TFS 2013 having five updates this is increasingly possible .&lt;/p&gt;

&lt;p&gt;The way to avoid any assembly loading issue for custom activities is to use “version control paths for custom XAML activities”. To be clear, we have left the GAC installation option in both FinalBuilder 7 and 8. We however do recommend switching to using custom XAML activity paths, especially if you’re using TFS-Git.&lt;/p&gt;

&lt;p&gt;To this end, the FinalBuilder installers now give the option as to whether to install the XAML build activities into the GAC or not. Only FinalBuilder 7 will automatically install TFS activities into the GAC for TFS 2012 and earlier agents, with FinalBuilder 8 you much chose whether to GAC install the assemblies.&lt;/p&gt;

&lt;p&gt;Note that if activities were previously installed in the GAC restarting the TFS Build Controller is required. This refreshes the build controller and releases any assemblies that it may have previously loaded.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://www.finalbuilder.com/blogImages/jason/TeamFoundationServerXAMLBuilds/FinalBuilder-XAML-Setup.png" style="width: 387px; height: 300px; vertical-align: middle; text-align: center;" /&gt;&lt;/p&gt;

&lt;h2&gt;Creating a build definition&lt;/h2&gt;

&lt;p&gt;The creation of the build definition is exactly the same as before. If you’re interested in how to setup a build definition from scratch using the FinalBuilder XAML templates please review the “&lt;a href="/resources/blogs/finalbuilder-and-team-foundation-server-2013"&gt;FinalBuilder and Team Foundation Server&lt;/a&gt;” article.&lt;/p&gt;

&lt;h2&gt;Custom XAML activities&lt;/h2&gt;

&lt;p&gt;Version control paths for custom XAML activities is a feature in TFS XAML build controllers. This feature allows the build controller to source all assemblies required for an activity from a known location. If a required assembly is missing from this location the standard .Net assembly lookup methodology is used.&lt;/p&gt;

&lt;p&gt;Using version control paths for custom XAML activities requires the activity assemblies to be added to a repository on the TFS system. This repository can be shared with other code, or can be a repository just for the assemblies. As the custom folder does not change based on the build being performed, we suggest a separate TFS repository for the custom activities. The repository can also be either a TFS or Git-TFS repository. Both will work the same.&lt;/p&gt;

&lt;p&gt;To add the custom activity assemblies to a repository connect to the repository through team explorer in visual studio.&lt;/p&gt;

&lt;p&gt;In the source control view create a new folder that will hold the custom activity assemblies.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://www.finalbuilder.com/blogImages/jason/TeamFoundationServerXAMLBuilds/CustomActivitiesInRepo.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;In the GAC sub-folder in your FinalBuilder installation (typically “%ProgramFiles(x86)%\FinalBuilder 8\GAC\”) there are folders for each version of TFS custom activities are provided for. From the folder relating the TFS version copy all assemblies contained within into the newly created repository folder.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://www.finalbuilder.com/blogImages/jason/TeamFoundationServerXAMLBuilds/FinalBuilderGACFolder.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;From the source control explorer add these files to source control.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://www.finalbuilder.com/blogImages/jason/TeamFoundationServerXAMLBuilds/CustomActivitiesFolderWithAssemblies.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;h2&gt;Updating the XAML Build Controller&lt;/h2&gt;

&lt;p&gt;Next the build controller needs to be configured use the repository location. In the builds tab of team explorer click on the “Actions” link. A drop down will appear with the option to “Manage Build Controllers…”. Click the “Manage Build Controllers…” menu item.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://www.finalbuilder.com/blogImages/jason/TeamFoundationServerXAMLBuilds/ManageBuildControllers.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;From the build controllers window that opens select the build controller responsible for the FinalBuilder builds. If there is more than one controller simply follow these steps for each controller. Next click the “Properties” button.&lt;/p&gt;

&lt;p&gt;This will present the build properties dialogue in which the “Version control path to custom assemblies” can be set. Select the folder that was created in the repository that is responsible for the custom activity assemblies. Now confirm this change by clicking OK on the build controller properties dialogue.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://www.finalbuilder.com/blogImages/jason/TeamFoundationServerXAMLBuilds/VersionControlPathSet.png" style="width: 400px; height: 400px; text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;This has now setup the build controller to source custom assemblies from the configured repository folder. The most recent checked in assemblies will always be sourced. Therefore keeping this repository folder in sync with the custom activities used in build workflows is very important.&lt;/p&gt;

&lt;p&gt;Once the custom path is set the build controller can run builds using the custom activities. To test simply queue a build using the FinalBuilder custom activities. &lt;/p&gt;
</description><guid isPermaLink="false">735</guid></item><item><title>FinalBuilder and Team Foundation Server 2013</title><link>https://www.finalbuilder.com/resources/blogs/postid/705/finalbuilder-and-team-foundation-server-2013</link><category>FinalBuilder,TFS</category><pubDate>Mon, 24 Mar 2014 12:46:18 GMT</pubDate><description>&lt;p&gt;FinalBuilder offers you tight integration into TFS with an easy to understand IDE. In this post I will go into how to integrate FinalBuilder into your TFS build process. The post will cover;&lt;/p&gt;

&lt;ul style="margin-left: 25px;"&gt;
	&lt;li&gt;&lt;a class="vt-p" href="#AddingATFSBuildProcess"&gt;Adding a TFS build process&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a class="vt-p" href="#UsingFinalBuilderBuildProcessTemplates"&gt;Using FinalBuilder build process templates&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a class="vt-p" href="#ConfigurationOfTheFinalBuilderTemplate"&gt;Configuration of the FinalBuilder template&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a class="vt-p" href="#CreatingAFinalBuilderOnlyBuildProcess"&gt;Creating a FinalBuilder only build process&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a class="vt-p" href="#AddingRunningAndPublishingOfTests"&gt;Adding running and publishing of tests&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a class="vt-p" href="#MovingFilesToTheDropLocation"&gt;Moving files to the drop location&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;To make sure this post doesn't rival "war and peace" in size, I will assume a few things during the post. Namely that you have used TFS in some fashion, and/or have gotten a solution building under TFS with the default TFS template. For more information on getting up and running with TFS and common issues with TFS I suggest taking a look at the TFS ranger &lt;a class="vt-p" href="https://blogs.msdn.com/b/willy-peter_schaub/archive/2013/05/16/visual-studio-alm-ranger-solutions-catalog.aspx"&gt;books&lt;/a&gt; and &lt;a class="vt-p" href="https://vsarbuildguide.codeplex.com/"&gt;blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h4&gt;Prerequisites&lt;/h4&gt;

&lt;p&gt;To follow along with this post you will need the following installed:&lt;/p&gt;

&lt;ul style="margin-left: 25px;"&gt;
	&lt;li&gt;Team Foundation Server 2013, with build agent (12.0.21005.1 or later)&lt;/li&gt;
	&lt;li&gt;FinalBuilder 7 (7.0.0.2745 or later)&lt;/li&gt;
	&lt;li&gt;Required Visual Studio or MSBuild version available on agent&lt;/li&gt;
	&lt;li&gt;&lt;a class="vt-p" href="https://www.microsoft.com/en-us/download/confirmation.aspx?id=40750"&gt;Agents for Microsoft Visual Studio 2013&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a class="vt-p" href="https://www.visualstudio.com/downloads/download-visual-studio-vs"&gt;Team Explorer 2013&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;The Team Foundation Server can be of any configuration as long as it has at least one agent and a reporting service. FinalBuilder 7 is required on the agent machine, and could also be installed on the developer’s machine for editing of scripts. Agents for Microsoft Visual Studio 2013 will provide access to VSTest.Console which we require for testing on the build agent. Lastly, Team Explorer is required for interaction with source control from FinalBuilder’s IDE. Without this installed source control will need to be done manually.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h4&gt;&lt;a class="vt-p" name="AddingATFSBuildProcess"&gt;Adding a TFS build process&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;To start I have a solution under source control on a TFS 2013 collection. The solution I will be using is under a team project called VSoftSFTPLibrary  under the collection “TFS2013\DefaultCollection”.  The layouts of the team project looks like the following:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Define Report" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/sourcecontrolexplorerlayout.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;I have a directory for the SFTP projects source, library files and its tests. The layout of your source control may vary from mine, however the main point to note here is that separating out directories isn’t an issue. With the solution, all related files, and binaries under source control I now add a build definition to the team project.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Build Name" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/defaultbuildname.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;Next the folders to be used in the FinalBuilder script need to be mapped from the server to an agent location. It’s important to map all folders which contain files required for the build process. At this stage we only really know of the Source directory we are going to be build and the Library folder which the source relies on. Note that if your solution relies on a certain structure of folders this structure should be the same when it arrives on the agent. In the example the source and library paths are at the same folder depth, therefore this is reflected on the agent side.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Define Report" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/defaultbuildsourcesettings.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;When the build is finished usually we want them “dropped” somewhere on the network. A FinalBuilder script can use this drop location, which we will go into later on in the artcile. For now I set this to a server location accessible by the build agent service user.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Drop Folder" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/defaultbuilddropfolder.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a class="vt-p" name="UsingFinalBuilderBuildProcessTemplates"&gt;Using FinalBuilder build process templates&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;By default the build process is set to the default build process which comes with TFS2013. The template is called “TfvcTemplate.12.xaml”. When used the default template will enable the building, testing, impact testing, and deployment of a solution and its projects. Our aim is to perform all the same build activities with the additon of a FinalBuilder project. &lt;/p&gt;

&lt;p&gt;To this end, the build process template needs to be changed over to one of the two supplied with FinalBuilder. In the [%ProgramFiles(x86)%\FinalBuilder  7\TFS Templates\2013] folder there are two TFS 2013 build workflow templates. “FinalBuilderTFS2013Build.xaml” performs all the same steps as the default build workflow and adds a FinalBuilder step just after the MSBuild activity and just before the optional “after MSBuild script”. This script is typically used by those looking to convert current default script builds to FinalBuilder in a simple and piece-meal fashion. &lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Define Report" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/finalbuildertfs2013templates.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;The “FinalBuilderOnlyTFS2013Build.xaml” template is used when the FinalBuilder script is to take over the entire build process. For the moment I will use the “FinalBuilderTFS2013Build.xaml” script. Add these two scripts to the team project, typically under a BuildTemplates folder to separate them from the source and library code. &lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Add FB Template" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/defaultbuildaddfbtemplates.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;Copy these templates into the local mapped location for this team project, and check them into source control. Now the “FinalBuilderTFS2013Build.xaml” template can be selected as the build process template. To do this add a new new build in the process section of the build definition. Navigate to the source control location where the template is stored and select it.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="New Template For Build" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/defaultbuildnewtemplateforbuild.png" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.4; text-align: center;" /&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a class="vt-p" name="ConfigurationOfTheFinalBuilderTemplate"&gt;Configuration of the FinalBuilder template&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;The next step is to fill in the parameters for the build process. The majority of these are the exact same as the default TFS 2013 template with the addition of some FinalBuilder specific settings. The FinalBuilder section of settings allow for the specification of the project file, and custom arguments for the FinalBuilder project. Note that the “2. Build | Projects”, and the “6. FinalBuilder | Project File” are both required by the build template. These are used to determine what should be built and what FinalBuilder project should be run. &lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Define Report" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/defaultbuildtemplatearguments.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;To run a FinalBuilder project we need to create one. Therefore create a FinalBuilder project with just an [Action Group] action for the moment. Save this project to the team projects FinalBuilderScripts folder and check it into source control.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Project Added To Source Control" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/defaultbuildinitialfbprojectaddtosourcecontrol.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;Once the FinalBuilder project is in source control select it in the build process using the file selector provided through the ellipse selector. You should end up with something reading like this “$/VSoftSFTPLibrary/FinalBuilderScripts/BuildVSoftSFTPLibrary.fbp7”&lt;/p&gt;

&lt;p&gt;Now that we have included the FinalBuilder project into our build process we need to make sure its folder is mapped to the agent. Open the source settings section, and add a mapping for the folder in which the FinalBuilder project resides. Something like the following should be what results. &lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Define Report" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/defaultbuildsourcesettingswithfinalbuilderfoldermapped.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Queue the build and the log should read like the following excerpt. The [Action Group] line is the action group you added in the FinalBuilder project. &lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Successful Run With Just an Action Group" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/defaultbuildfinalbuilderrunsuccessfullyjustactiongroup.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;So now we have a TFS build process which is able to call a FinalBuilder script. In the next section we will delve more into how to extract information from TFS about the build inside our FinalBuilder script. &lt;/p&gt;

&lt;h4&gt;Retrieving information from TFS in a FinalBuilder Script&lt;/h4&gt;

&lt;p&gt;For the FinalBuilder script to be of use in the TFS build process, it requires information about the TFS build currently running. To provide this we offer a number of actions that can extract this information during the TFS build run. To get you started, there is an example project in &lt;FinalBuilderInstallDir&gt;\TFS Templates called TFSExample.fbp7. This sample project contains examples of the actions to use during a TFS build process.  &lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Define Report" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/finalbuildertfsexampleproject.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;The [Get Team Foundataion Build Parameters] action is a special action that is only useful when a project is launched from TFS. It assigns TFS data to the specified project variables. &lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Foundation Build Params" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/finalbuildergetteamfoundationbuildparams.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;Each of the variables in the [Get Team Foundation Build Parameters] action are as follows:&lt;/p&gt;

&lt;ul style="margin-left: 25px;"&gt;
	&lt;li&gt;Team Server URL: This is the URL of the team foundation server that queued the build.&lt;/li&gt;
	&lt;li&gt;Team Project: Is the name of the team project the build belongs to.&lt;/li&gt;
	&lt;li&gt;Build Id: Is the unique number allocated to this build.&lt;/li&gt;
	&lt;li&gt;Platform/Flavor: These are the build parameters for the compilation of the solution to be built.&lt;/li&gt;
	&lt;li&gt;Default Solution File: The solution file listed as the primary for the team project.&lt;/li&gt;
	&lt;li&gt;Solution File List: The list of solutions to be built by the build process.&lt;/li&gt;
	&lt;li&gt;Deployment Folder: The drop folder configured for the build process. It is blank if it is not set.&lt;/li&gt;
	&lt;li&gt;Source Root: The first listed solutions root folder.&lt;/li&gt;
	&lt;li&gt;Working Directory: A working directory on the agent for the current build definition. Typically space which is shared between builds made on the same agent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;On the Custom Arguments tab is a list of ten variables which can be passed from the TFS build process to FinalBuilder. These are passed as plain text and converted to the variable types used to read them in the FinalBuilder script.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;For my script I only wanted to get the Team Foundation Build Parameters, and the variables that it used. So first I checked out the “BuildVSoftSFTPLibrary.fbp7” project using the built in source control features of FinalBuilder.&lt;/p&gt;

&lt;p&gt;First I need to make sure that it is indeed added to source control. If it hasn’t detected that it is part of the TFS source control at this stage I add it to source control. I make sure to select the “Microsoft Team Foundation Server MSSCCI provider” which will use the Team Explorer 2013 installed on the machine. I select the TFS 2013 server and collection I am working with, also making sure the team project is correct. Once this is done I am then able to use the file menu to check the project out ready for editing. &lt;/p&gt;

&lt;p&gt;Next I copy all the variables I want from the TFSExample project, and paste them into my BuildVSoftSFTPLibrary.fbp7 project. To paste the variables I open the Variables Editor, right click and select paste.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="Define Report" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/finalbuildercopyvariables.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;Last I copy over the [Get Team Foundation Build Parameters] and [Trigger Files Iterator] actions. These use the variables we just copied over and will hook themselves up as they appeared in the example project. &lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/finalbuilderprojectwithgettfsbuildparamsanditeratetiggerfiles.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;Now we can check in these changes and queue the build. &lt;/p&gt;

&lt;p&gt;In the log for the build you will see the following:&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/finalbuildergetteamfoundationbuildparamsandlog.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;By default the [Get Team Foundation Build Parameters] action will write what it has retrieved from TFS to the build log. Something to keep in mind when debugging a FinalBuilder script in TFS.&lt;/p&gt;

&lt;h4&gt;&lt;a class="vt-p" name="CreatingAFinalBuilderOnlyBuildProcess"&gt;Creating a FinalBuilder Only build process&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;So now we want to make the FinalBuilder process take over the build completely. The first thing to do here is to stop the TFS build process from building, testing, and publishing results of the build. This requires changing the build workflow to remove the activities which do this (otherwise we would be doing things twice), and updating the FinalBuilder script to perform these tasks. &lt;/p&gt;

&lt;p&gt;Instead of working out which activities to remove from the build template we provide a build template with all the build and testing activities removed. The “FinalBuilderOnlyTFS2013Build.xaml” template which was copied into the BuildTemplates folder is this template. &lt;/p&gt;

&lt;p&gt;In the process section of the build definition, create a new build process using the “FinalBuilderOnlyTFS2013Build.xaml” file. You will notice that nearly everything in the build parameters is the same except now the before and after script events have been removed. Also the testing section is no longer present. All of this will be handled by the FinalBuilder script.&lt;/p&gt;

&lt;p&gt;Once again open your FinalBuilder project for this build and check it out. Also open up the TFSExample.fbp7 project and take a look at the [Build VS.Net Solution] action. Copy this action to the project used to build your solution. &lt;/p&gt;

&lt;p&gt;The [Build VS.NET Solution] action builds a Visual Studio.NET solution. On the [Solution] tab you will see that the Solution File is set to “%SourceRoot%\&lt;YourSolution&gt;.sln”. Replace &lt;YourSolution&gt; with the name of the solution that you wish to build. Note that “%SourceRoot%” will be the directory of only the first solution in the list of projects to build. In my project I ended up with a Solution File value of “%SourceRoot%\VSoftSFTPLibrary.sln” for the [Build VS.NET Solution] action.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/finalbuilderbuildvssolution.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;On the [Paths] tab you will see that the Output Directory is set to %SourceRoot%\Binaries. You may change this if you wish, but it's it not necessary. Note because the drop location may be on a different server to the build agent, it is important that VSTest runs on files located on the build agent machine. Unless you explicitly set up the trust relationship, .NET will not allow executing of assemblies on remote machines. This is why we build and test in a directory under %SourcesRoot% and then move the files to the drop location after testing. This will be covered more in the next section. &lt;/p&gt;

&lt;p&gt;On the agent the TFS agent the FinalBuilder options for Visual Studio will need to be set. If not and DEVENV.COM is required, the build will fail about the build tool location being unknown.&lt;/p&gt;

&lt;p&gt;Now we are ready to run the build with using just FinalBuilder. Queue the build again and the project will build, not from a template activity but from the FinalBuilder script it is running. &lt;/p&gt;

&lt;h4&gt;&lt;a class="vt-p" name="AddingRunningAndPublishingOfTests"&gt;Adding running and publishing of tests&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;To perform testing we need to add a [Run VSTest.Console] action to the FinalBuilder project. The [Run VSTest.Console] uses VSTest.Console to run your test assemblies. On the [Settings] tab add the name of your test assembly to the list. You should end up with something along the lines of “%SourceRoot%\Binaries\&lt;YourTestAssembly&gt;.dll”. On the [Publish Results] tab the action should be set to automatically publish the results to the TFS server. This means that after the tests are run they will automatically be stored with the build on the TFS Server.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/finalbuildervstestconsolesettings.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;Note that the [Ignore Failure] option, located on the [Options] tab, is important. If any unit tests fail, the [Run VSTest.Console] action will fail, and setting [Ignore Failure] allows the FinalBuilder and TFS builds to continue. Un-check [Ignore Failure] if you would prefer the build to stop on failed tests. In either case, test failures will appear in the TFS build log and in TFS reports.&lt;/p&gt;

&lt;p&gt;On the agent the TFS agent the FinalBuilder options for VSTest.Console will need to be set. If not, the build will fail with an error about the VSTest.Console location being unknown.&lt;/p&gt;

&lt;h4&gt;&lt;a class="vt-p" name="MovingFilesToTheDropLocation"&gt;Moving files to the drop location&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;The last step to complete the process is to move all the files from the agent to your drop location. The simplest way to achieve this is by a [Move File(s)] action. We already have the drop folder location stored in the %DropShare% variable. It is this value which we then use in the [Move File(s)] action.&lt;/p&gt;

&lt;p style="text-align: center;"&gt;&lt;img alt="" src="https://cdn.finalbuilder.com/blog/jason/finalbuilderandteamfoundationserver2013/finalbuildermovefilestodropfolder.png" style="text-align: center;" /&gt;&lt;/p&gt;

&lt;p&gt;Once this is run we will have a built solution, with tests run, and the binaries copied into the specified drop folder. &lt;/p&gt;
</description><guid isPermaLink="false">705</guid></item><item><title>Team Foundation Build and FinalBuilder</title><link>https://www.finalbuilder.com/resources/blogs/postid/684/team-foundation-build-and-finalbuilder</link><category>FinalBuilder,TFS</category><pubDate>Tue, 02 Dec 2008 03:00:00 GMT</pubDate><description>&lt;p&gt;&lt;span class="nodeText editable"&gt;The &lt;a href="https://accentient.com/blog/"&gt;Accentient Blog&lt;/a&gt; provided an interesting post recently comparing &lt;a href="https://accentient.com/blog/team-foundation-build-and-finalbuilder/"&gt;Team Foundation Build and FinalBuilder&lt;/a&gt;.&lt;/span&gt; It was great to see them offer an unbiased insight in to the distinctive advantages of each of these tools and it's worth a read if you're using or planning to use one or both.&lt;/p&gt;

&lt;p&gt;&lt;span class="nodeText editable"&gt;We've had plenty to say over the years about the relationship between FinalBuilder and TFS/MSBuild&lt;/span&gt;&lt;span class="nodeText editable"&gt;/Team Foundation Build&lt;/span&gt;&lt;span class="nodeText editable"&gt;. Naturally, we have a slight bias toward one of the tools, but if you're interested in learning more about combining the two, check out:&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;why you would use &lt;a href="/resources/blogs/i-have-microsoft-team-system-why-do-i-need-finalb"&gt;FinalBuilder when you already have Team System&lt;/a&gt;;&lt;/li&gt;
	&lt;li&gt;&lt;span class="nodeText editable"&gt;why &lt;a href="/resources/blogs/team-foundation-build-and-finalbuilder-6-a-match-2"&gt;FinalBuilder and Team Foundation Build are a match made in heaven&lt;/a&gt;&lt;/span&gt;;&lt;/li&gt;
	&lt;li&gt;a comparison between the &lt;a href="/resources/blogs/msbuild-wish-list-vs-finalbuilder-feature-set2"&gt;MSBuild community's wish list and the feature set of FinalBuilder&lt;/a&gt;; and&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally, I must disagree with just one of Accentient's statments. The final line read:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;&lt;quote&gt;As Team Foundation Build matures, it will likely provide a feature parity competitor to FinalBuilder, but it has some catching up to do.&lt;/quote&gt;&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;As Team Foundation Build matures, it may begin to provide feature parity with FinalBuilder 5 or even 6. However, by then we'll be on to FB 7 or FB 8 and we have every intention of making sure these future versions will offer unique and useful features. Team Foundation Build will always have some catching up to do with FinalBuilder. &lt;img alt="" src="/Providers/HtmlEditorProviders/Fck/FCKeditor/editor/images/smiley/msn/regular_smile.gif" /&gt;&lt;/p&gt;
</description><guid isPermaLink="false">684</guid></item><item><title>Top 10 Version Control Systems</title><link>https://www.finalbuilder.com/resources/blogs/postid/679/top-10-version-control-systems</link><category>FinalBuilder,TFS</category><pubDate>Tue, 26 Aug 2008 04:00:00 GMT</pubDate><description>&lt;h4 align="center"&gt;&lt;font size="4"&gt;Which Version Control System do you currently use?&lt;/font&gt;&lt;/h4&gt;

&lt;p align="center"&gt;&lt;img alt="FinalBuilder Cutomer's Source Control Preference Chart" src="https://www.finalbuilder.com/images/2008-survey-charts/2008-survey-source-control-current.png" /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;This year’s results continue to provide an interesting insight into FB user’s version control tool of choice.&lt;br /&gt;
&lt;br /&gt;
Most notably:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Subversion has successfully grown to become number 1 among our customers. This is only a few years after trailing SourceSafe significantly in our 2005 survey.&lt;/li&gt;
	&lt;li&gt;Despite the efforts of some influential commentators in the developer community (&lt;a href="https://blog.codinghorror.com/source-control-anything-but-sourcesafe/" target="_blank"&gt;one in particular comes to mind&lt;/a&gt;), SourceSafe continues to be a very popular VCS, at least among FinalBuilder customers.&lt;/li&gt;
	&lt;li&gt;It’s interesting, and quite surprising, to see the number of FB users who choose not to use a version control system. We tend to think of FB users as very savvy developers who seek out tools and technologies to improve their productivity, the type of developers some people generally include in the controversial &lt;a href="https://blog.red-bean.com/sussman/?p=79" target="_blank"&gt;20% category&lt;/a&gt;. However, a surprisingly large number seem to choose not to use version control. I deliberately say choose, because I imagine every developer using FB is well and truly aware of both the options and benefits of using source control.&lt;/li&gt;
	&lt;li&gt;TFS hasn’t come close to SourceSafe in adoption among FB users. I may be told I'm comparing apples with oranges, but it doesn't even look like adoption has grown much since 2006.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A few caveats about comparing this year's results with those of previous years. Each year’s survey has a random sample. This year, the VCS question was also worded slightly differently to that used in previous years.&lt;br /&gt;
&lt;br /&gt;
In any case, it’s great to know that FinalBuilder supports all of the top 10 Source Control systems, in addition to many others.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;---&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;This is the 2nd post in a series discussing insights uncovered in the 2008 FinalBuilder survey. Future posts will look at testing tool usage, Vista adoption and the pervasiveness of Continuous Integration. &lt;/font&gt;&lt;/p&gt;
</description><guid isPermaLink="false">679</guid></item><item><title>Hate Team Foundation Server?</title><link>https://www.finalbuilder.com/resources/blogs/postid/624/hate-team-foundation-server</link><category>FinalBuilder,TFS</category><pubDate>Thu, 15 May 2008 01:17:00 GMT</pubDate><description>&lt;p&gt;According to Google Analytics statistics for the past month, a number of people found the FinalBuilder web site in Google search results for the query &lt;a href="https://www.google.com/search?q=hate+%22team+foundation+server%22" target="_blank"&gt;&lt;strong&gt;&lt;em&gt;hate "Team Foundation Server"&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I didn't know so many people felt that way!&lt;/p&gt;

&lt;p&gt;(For the record, we think that FinalBuilder complements Team Foundation Build in very productive ways.)&lt;/p&gt;
</description><guid isPermaLink="false">624</guid></item><item><title>Team Foundation Build and FinalBuilder 6 (a match made in heaven)</title><link>https://www.finalbuilder.com/resources/blogs/postid/669/team-foundation-build-and-finalbuilder-6-a-match-</link><category>FinalBuilder,TFS</category><pubDate>Thu, 13 Mar 2008 18:00:00 GMT</pubDate><description>&lt;p&gt;I just posted a new article on Integrating FinalBuilder with Microsoft Team Foundation Server. The article deals with the great new Team Build integration in FinalBuilder 6.&lt;/p&gt;

&lt;p&gt;You can now do things with FinalBuilder 6 and Team Build which are impossible to achieve with any other tool combination, and you can do it all without editing any MSBuild files &lt;span style="text-decoration: underline;"&gt;at all&lt;/span&gt;.&lt;/p&gt;

&lt;p&gt;Need MbUnit test statistics in your Team Build Quality Report? &lt;em&gt;Do it with FinalBuilder.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Need to deploy build results via FTP? &lt;em&gt;Do it with FinalBuilder.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Need to build legacy Visual Studio 2003/Delphi/C++ Builder/VB 6 projects with Team Build, and see compiler metrics in the Team Build Report? &lt;em&gt;Do it with FinalBuilder.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Need smart version information management (including auto-incrementing version numbers across projects) without having to use custom C# code? &lt;em&gt;Do it with FinalBuilder.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Need to do perform any of the thousands of other built-in operations, with full graphical configuration and structured logging output? &lt;em&gt;Do it with FinalBuilder&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;If you're interested, check out the new article here.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I also wanted to plug a great (FREE) Screencast creator called &lt;a href="https://www.debugmode.com/wink/" target="_blank"&gt;Wink&lt;/a&gt;, by DebugMode Software. Paul put me onto this and I used it to create the Flash videos in the article. We also have a license to an expensive commercial product, but I don't think I'll ever want to use it again now that I've found Wink.&lt;/p&gt;
</description><guid isPermaLink="false">669</guid></item><item><title>"I have Microsoft Team System, why do I need FinalBuilder?"</title><link>https://www.finalbuilder.com/resources/blogs/postid/611/i-have-microsoft-team-system-why-do-i-need-finalb</link><category>FinalBuilder,TFS</category><pubDate>Wed, 07 Nov 2007 03:19:00 GMT</pubDate><description>&lt;p&gt;I'm writing this entry from a delegate work area at TechEd Barcelona. We've been talking to a lot of people over the past two days about FinalBuilder.&lt;/p&gt;

&lt;p&gt;Many people have said "Oh, we have Team System. We already have automated builds." The surprising thing is how many people don't realise what they're missing out on, or that FinalBuilder can integrate directly with Team System.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;With Team System you can do this in your build:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Get a fresh copy of your project's source&lt;/li&gt;
	&lt;li&gt;Build one or more Visual Studio 2005 solutions&lt;/li&gt;
	&lt;li&gt;Run Visual Studio tests &amp; Visual Studio code coverage analysis&lt;/li&gt;
	&lt;li&gt;Deploy built applications to a network share&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;... &lt;strong&gt;that's about it&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Not that this is a bad thing - sometimes all you need to do is to build a solution, and you're done. It's still an automated build, and it's a world better than &lt;a href="https://blog.codinghorror.com/the-f5-key-is-not-a-build-process/" target="_blank"&gt;F5 as a build process&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However, &lt;strong&gt;with FinalBuilder you can easily extend Team Build to:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Change the build process without editing XML&lt;/li&gt;
	&lt;li&gt;Automatically update and increment version information&lt;/li&gt;
	&lt;li&gt;Build solutions with any version of Visual Studio or MSBuild&lt;/li&gt;
	&lt;li&gt;Create, edit or remove Work Items based on build outcomes&lt;/li&gt;
	&lt;li&gt;Deploy to multiple locations, or via FTP&lt;/li&gt;
	&lt;li&gt;Build third party projects&lt;/li&gt;
	&lt;li&gt;Build installers&lt;/li&gt;
	&lt;li&gt;Run tests using different test frameworks&lt;/li&gt;
	&lt;li&gt;Build multiple versions or editions of the same product&lt;/li&gt;
	&lt;li&gt;Build legacy code (possibly using different tools)&lt;/li&gt;
	&lt;li&gt;Retrieve source code from legacy source repositories&lt;/li&gt;
	&lt;li&gt;Generate structured build logs, with the ability to instantly jump to any points of failure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FinalBuilder slots directly into Team Build as a build engine, in place of (or beside) MSBuild.&lt;/p&gt;

&lt;p&gt;At TechEd, many people have recognised that they face one or more of these scenarios. A few have no other build requirements, but a lot of people have said "Oh, we've been doing that manually" or "Yes, we've been doing this with MSBuild but it's hard and it keeps breaking."&lt;/p&gt;

&lt;p&gt;These are the cases where FinalBuilder can help create a true end-to-end build and release system, one which saves time and money and helps safeguard build quality and avoid last-minute surprises.&lt;/p&gt;

&lt;p&gt;... and no more XML files!&lt;/p&gt;
</description><guid isPermaLink="false">611</guid></item><item><title>Mixing up FinalBuilder with Team System (no more XML files!)</title><link>https://www.finalbuilder.com/resources/blogs/postid/656/mixing-up-finalbuilder-with-team-system-no-more-x</link><category>FinalBuilder,TFS</category><pubDate>Thu, 17 Aug 2006 04:00:00 GMT</pubDate><description>&lt;p&gt;One of the comments that we frequently hear from users is "I couldn't do &lt;em&gt;xyz&lt;/em&gt; with MSBuild, but I can now with FinalBuilder."&lt;br /&gt;
	&lt;br /&gt;
	This is great, but hardly surprising. FinalBuilder includes out-of-the-box support for many more tools and processes than MSBuild. Not to mention that it has a GUI to set up your build process - no more editing XML files!&lt;br /&gt;
	&lt;br /&gt;
	Lately, though, an increasing number of our users are moving to Microsoft Team System. One of the cornerstones of the Team System process is the Team Foundation Build engine, which is built on top of MSBuild.&lt;br /&gt;
	&lt;br /&gt;
	Now, the Team Foundation Build wizard is fine if you only need to create simple build processes. Get some files, build some solutions, deploy some binaries to a file share. If you need to do anything more, though (and who doesn't?), then you're stuck back in XML land... The same applies if you want to edit your build processes after you've created them.&lt;br /&gt;
	&lt;br /&gt;
	Plain XML editing, with no built-in support for third-party tools, no support for data processing, no support for parallelisation, FTP transfers, Active Scripting, structured exceptions, recursion or Windows system functionality...&lt;br /&gt;
	&lt;br /&gt;
	FinalBuilder to the rescue!&lt;br /&gt;
	&lt;br /&gt;
	The Team Foundation Build engine allows you to add custom MSBuild tasks at any stage of your build process. This means that, with just a couple of lines of XML, you can &lt;span style="text-decoration: underline;"&gt;move your entire Team Build process&lt;/span&gt; to FinalBuilder! FinalBuilder can be used in place of MSBuild to provide functionality at &lt;span style="text-decoration: underline;"&gt;every stage&lt;/span&gt; of the Team Foundation build process (fetch, compile, test &amp; deploy.) What's more, it all fits perfectly within the Team System framework!&lt;br /&gt;
	&lt;br /&gt;
	... Happy building!&lt;/p&gt;
</description><guid isPermaLink="false">656</guid></item><item><title>Version Control Systems</title><link>https://www.finalbuilder.com/resources/blogs/postid/483/version-control-systems</link><category>FinalBuilder,Git,Mercurial,Subversion,TFS</category><pubDate>Wed, 18 May 2005 15:01:00 GMT</pubDate><description>&lt;p&gt;In our recent &lt;a href="/finalbuilder"&gt;FinalBuilder&lt;/a&gt; customer survey, one question we asked was “What Version Control System do you currently use, or plan to use in the next 12 months”.  The question allowed mulitple answers, so the bars aren't a percentage.  I've removed the actual numbers because the relative widths of the bars is what is important.&lt;/p&gt;

&lt;p&gt;So, here are the results:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://cdn.finalbuilder.com/blog/version_control_systems_finalbuilder.png" /&gt;&lt;/p&gt;

&lt;p&gt;So, interesting results, eh?  Obviously Microsoft Team System is high on the agenda for us, and looks like a lot of people will be taking a serious look at the new verison control system.&lt;/p&gt;

&lt;p&gt;We'd expect the Subversion bar to continue to grow at a very high rate - last year when we ran a similar survey only 3% of people were using Subversion. SourceGear Vault has also grown a lot, Vault was down the bottom last year, and this year it's really moved up the rankings to just behind CVS.  Most of the other VCS's have been pretty steady.&lt;/p&gt;

&lt;p&gt;Comments welcome.&lt;/p&gt;
</description><guid isPermaLink="false">483</guid></item><item><title>Visual Studio 2005 &amp;amp; FinalBuilder</title><link>https://www.finalbuilder.com/resources/blogs/postid/385/visual-studio-2005-amp-finalbuilder</link><category>FinalBuilder,TFS</category><pubDate>Sun, 27 Jun 2004 15:41:00 GMT</pubDate><description>&lt;p&gt;We've been getting an increasing amount of emails enquiring about the future of &lt;a title="FinalBuilder" href="https://www.atozedsoftware.com/finalbuilder/" target="_blank"&gt;FinalBuilder&lt;/a&gt; since Microsoft announced Visual Studio Team System, and before that MSBuild.&amp;nbsp;It seems we're not the only vendor getting this sort of email, &lt;a href="https://software.ericsink.com/item_10169.html"&gt;Sourcegear's Eric Sink&lt;/a&gt;&amp;nbsp;commented about this in his blog last month and &lt;a href="https://software.ericsink.com/item_10192.html"&gt;again recently&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MSBuild&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;MSBuild was first shown last year at PDC in LA, before that I hadn't heard about it. I can tell you that at first I was crestfallen, I could see my business going down the tubes and the prospect of once again looking for a job looming. Fortunately we're still surviving and I haven't had to go out looking for a job yet&amp;nbsp;:) &lt;/p&gt;
&lt;p&gt;Since PDC, more information and betas have become available and I've become more comfortable with how msbuild will affect us. I still believe FinalBuilder offers a superior Automated Build Environment which is much easier to use and much more flexible. Sales have improved since PDC, and I think that is in part because developers are more aware of automated builds in general and are looking for something easier to use than&amp;nbsp;manually editing&amp;nbsp;xml files. &lt;/p&gt;
&lt;p&gt;In FinalBuilder 2.5 we added an MSBuild Action (along with actions for Ant &amp;amp; NANT), so&amp;nbsp;FinalBuilder already supports building VS 2005 projects (the project files are msbuild files), and of course when&amp;nbsp;VS2005/.NET 2.0&amp;nbsp;gets closer to release we'll look at tighter integration (it's a moving target at the moment). &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Visual Studio Team System&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;VSTS is a huge product, and from what we've seen so far (TechEd videos and the info on msdn) it looks very exciting, but it won't be for everyone. It's already becoming apparent that the full product &lt;a href="https://blogs.msdn.com/buckh/archive/2004/06/16/157022.aspx"&gt;won't be included in an MSDN Universal subscription&lt;/a&gt;&amp;nbsp;(see the comments by &lt;a id="Comments.ascx_CommentList__ctl2_NameLink" target="_blank"&gt;Raju Malhotra&lt;/a&gt;) , and my feeling is the server product&amp;nbsp;(Foundation Server, which is required) won't be cheap (apart from also requiring mssql which is itself not cheap). I get the impression that Microsoft are positioning VSTS to compete with IBM/Rational, and to a lesser degree with Borland (who's ALM&amp;nbsp;products like StarTeam &amp;amp; CaliberRM are direct competitors). &lt;/p&gt;
&lt;p&gt;Are we happy that Microsoft are now planning to compete with us? Well of course not, but it's no use us crying over it. I do think Microsoft treading a fine line, they need a healthy third party developer tools market, without it the microsoft platform will stagnate and become less attractive (especially if vendors actually get serious about linux). Sadly any hope of a level playing field went out like a damp squid a few years ago... &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So what's the future hold for FinalBuilder?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I suspect many developer tools vendors&amp;nbsp;will suffer, and ultimately go out of business (or change their target markets).We don't intend that to let that happen to us however only time will tell. &lt;br /&gt;
&lt;br /&gt;
Our position with FinalBuilder has always been to support as many products (equally well) as we can without an agenda (we don't have a compiler or version control&amp;nbsp;product to push). To this end we already have around 200 actions in FinalBuilder supporting products from many different vendors&amp;nbsp;such as &amp;nbsp;microsoft, borland &amp;amp; java compilers, help generators, version control systems like StarTeam, Perforce, CVS, SourceGear Vault, QVCS, installers like InnoSetup, InstallShield, Wise&amp;nbsp;etc. Many of these products Microsoft will never support themselves. Of course we can't support everything ourselves and we don't have the resources of Microsoft, however we won't shy away from supporting&amp;nbsp;products that compete with Microsoft's.&lt;/p&gt;
&lt;p&gt;Work on the next major version of FinalBuilder has already begun, currently we're in the R phase of R&amp;amp;D, but our plans are taking shape quite nicely. We've come up with enough new features to fill several major revisions, over the next few weeks we'll be trimming that down to what we think is the most usefull features and what can realisticaly be achieved with the resources and time that we have, and then we'll be getting stuck into the D phase of R&amp;amp;D. I'm not going to start talking about release dates just yet, far too early for that.&lt;/p&gt;
&lt;p&gt;We have also been finishing&amp;nbsp;off FinalBuilder 2.7 which we hope to release this week. FinalBuilder 2.7 includes some nice new flow control type actions to make it even easier than before to create a dynamic build process. FinalBuilder 2.7 is a free update for all registered 2.x users.&lt;/p&gt;
&lt;p&gt;v.&lt;/p&gt;</description><guid isPermaLink="false">385</guid></item></channel></rss>