v0.1.0: A Handful Of New Tasks
2010-01-24 00:00:00 -0800There 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!