A Piece of Cake

Who am i?

pitermarx
@github @twitter

Lazy developer

I love automation

.Net C#

JavaScript and TypeScript

LOVE CAKE

What is cake?

Cake (C# Make) is a cross platform build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.

  • Build automation system
  • OSS project since 2014
  • Now part of the .NET foundation
  • Uses roslyn to run a C# dsl

WHAT IS A BUILD ?

Steps that need to be executed to get useful artifacts from source code

from Me

Clean

Restore

Build

Test

Package

WHAT Can cake do ?

A Lot!!

Chocolatey

Compression

DotCover

MSBuild/XBuild

ILMerge

MSTest

NSIS

Nuget

Nunit

Octopus

ReportGenerator

ReSharper

CakeMail

Coveralls

Docker

Figlet

Gem

Git

Gitter

HipChat

JSON

Kudu

Npm

Vagrant

Twitter

SemVer

Paket

Orchard

MSDeploy

WHY Not use cake ?

  • You could use FAKE, MAKE, PSAKE, CMAKE, BAU, MSBUILD

    • Choose the right tool for the job

    • Want to learn another language

  • ​Solo developer

WHY use cake ?

  • It's C#

  • Consistent and Maintainable

    • Across different environments and build systems

  • Documented and automated build process

    • Versioned with source

Why do I like cake ?

  • Non intrusive
  • Just works with lots of builtins
  • Easy to implement addins
  • Consistent regardless of OS or Build System

how to bake a cake ?

  • build.cake file
  • Arguments and Environment variables
  • Preprocessor directives
  • Cake.exe

DEMO TIME!

Thank you

any Questions?

A piece of cake

By Pedro Marques