Rory Primrose

Learn from my mistakes, you don't have time to make them yourself

View project on GitHub

Executing build tasks without a build server – In action

Posted on July 6, 2011

The previous post provided the implementation of the BTE application. It described how the implementation of BTE is able to satisfy the original design requirements by providing an extensible task execution model.

The following are some examples of BTE running on the command line. I am using a batch file in order to shorten BuildTaskExecutor.exe down to bte.

  1. Executing BTE without arguments image
  2. Executing the help task image
  3. Executing the help task for a specific task name (or alias in this case) image
  4. Executing with verbose logging image

The first version of BTE provides the following tasks built into the application (as defined by the help output):

BuildTaskExecutor BinaryOutputVersion|bov
Renames the project output to include the product version of the project output.

BuildTaskExecutor Help|/?
Displays help information about the available tasks

BuildTaskExecutor IncrementAssemblyVersion|iav
Increments version number parts in AssemblyVersionAttribute entries in code files

BuildTaskExecutor SyncWixVersion|swv
Synchronizes the product version in a Wix project to the version of a binary file.

BuildTaskExecutor TfsCheckout|tfsedit
Checks out files from TFS based on a search pattern. The checkout will use default credentials resolved for the identified files.

BuildTaskExecutor WixOutputVersion|wov
Renames the Wix project output to include the wix product version.

The next post will provide a scenario where these tasks are used to manage the version of a solution without a full TFS environment.