v0.1.0: A Handful Of New Tasks

2010-01-24 00:00:00 -0800

There are several new tasks included in the 0.1.0 release of Albacore, including Docu, XBuild, Nant and more.

A Handful Of New Tasks

This post will introduce each of the new tasks, alphabetically, with a basic usage example. For complete documentation, though, see the Wiki.

Docu – Document Generator

James Gregory’s Docu tool has a new task available in Albacore, created by James.

docu :gen_docs do |docu|
  docu.path_to_command = "tool/docu/docu.exe"
  docu.assemblies "my.assembly.dll", "another.assembly.dll"
  docu.xml_files "my.assembly.xml", "another.assembly.xml"
  docu.output_location = "build/docs/"
end

NAnt – Run “Legacy” Build Scripts With Nant

Steve Harman built an NAnt task that allows you to leverage your existing NAnt build scripts. This should help in migrating away from NAnt without having to rebuild everything in Rake + Albacore immediately.

nant :legacy_build do |nant|
  nant.path_to_command = "tools/nant/nant.exe"
  nant.build_file = "default.build"
  nant.targets :my_target, :another_target
  nant.properties :version => "0.0.0.0", :debug => false
end

NDepend Console – Run Static Analysis

Hibri Marzook created a basic NDepend Console task to allow static analysis to be run on projects.

ndepend :analysis do |ndep|
  ndep.path_to_command = "tools/ndepend/NDepend.Console.exe"
  ndep.project_file = "my_ndepend_project.xml"
  ndep.parameters "/ViewReport", "/Silent"
end

PLink – Remote Execution With PuTTY / PLink

Hibri also created a PLink task for remote execution against a PuTTY server.

plink :remote_execute do |plink|
  plink.path_to_command = "tools/putty/plink.exe"
  plink.host = "myServer"
  plink.port = 2200
  plink.commands "my.exe"
end

XBuild – Build Mono Projects

Ben Hall created an XBuild task to build Mono projects. That’s right! We have some support for Mono, now!

xbuild :build do |xbuild|
  xbuild.path_to_command = "tools/xbuild/xbuild.exe"
  xbuild.solution = "src/project.sln"
  xbuild.targets :clean, :build
  xbuild.targets :configuration => "Release"
end

What Else Do You Need?

There’s a good list of tasks built into Albacore, at this point. Not every task supports every option for the underlying system, though. We have only been implementing the features that people are asking for, based on their needs. If you see a need for a new task or need an update to an existing task, please drop us a line, fork the repository and submit patches, or find some other way to get our attention and help us improve Albacore!

blog comments powered by Disqus