Making builds a piece of

Cake

Alistair Chapman (@agc93)

Cake (C# Make)

What is Cake?

 

Cake is a cross-platform build automation system with a C# DSL to do things like compiling code, copying files/folders, running unit tests, compressing files and building NuGet packages.

  • Scripts are written in C# 
  • Fully cross-platform
  • Built for every CI system, including your laptop
  • Support for dozens of tools out of the box
  • Now 150 community addins

What does a script look like?

///////////////////////////////////////////////////////////////////////////////
// ARGUMENTS
///////////////////////////////////////////////////////////////////////////////

var target = Argument("target", "Default");

///////////////////////////////////////////////////////////////////////////////
// SETUP / TEARDOWN
///////////////////////////////////////////////////////////////////////////////

Setup(ctx =>
{
	// Executed BEFORE the first task.
	Information("Running tasks...");
});

Teardown(ctx =>
{
	// Executed AFTER the last task.
	Information("Finished running tasks.");
});

///////////////////////////////////////////////////////////////////////////////
// TASKS
///////////////////////////////////////////////////////////////////////////////

Task("Default")
.Does(() => {
	Information("Hello Cake!");
});

RunTarget(target);

But what can I do?

Getting Started

http://cakebuild.net

gitter.im/cake-build/cake

github.com/cake-build/cake