Cake Frosting

Cake Frosting is a .NET host which allows you to write your build scripts as a console application.

See Setting Up A New Cake Frosting Project tutorial for how to get started with Cake Frosting.

Requirements

Cake.Frosting can be used to write console applications targeting net8.0 or newer.

Usage

dotnet Cake.Frosting.dll [switches]

Switches

Switch Description Available Since
--description Shows description about tasks. 1.0.0-rc0002
--dryrun Performs a dry run. 0.30.0
-e, --exclusive Execute a single task without any dependencies. 1.0.0-rc0002
-h, --help Prints help information. 0.30.0
--info Displays additional information about Cake execution. 1.0.0-rc0002
-t, --target <TARGET> Sets the build target. Default value is Default. 0.30.0
--tree Shows the task dependency tree 1.0.0-rc0002
-v, --verbosity <VERBOSITY> Specifies the amount of information to be displayed (quiet, minimal, normal, verbose, diagnostic). 0.30.0
--version Displays Cake.Frosting version number. 0.30.0
-w, --working <PATH> Sets the working directory. 0.30.0

Custom switches

All switches not recognized by Cake will be added to an argument list that is passed to the build script. See Arguments And Environment Variables how to read arguments in your script.

Use a space instead of = if the value of a switch can be empty or null:

--foo ""

Bootstrapping for Cake Frosting

When creating a new Cake Frosting project from the template default bootstrapping scripts for Windows, macOS and Linux are created.

The following instructions require .NET Core 3.1.301 or newer. You can find the SDK at https://dotnet.microsoft.com/download

Setup

To create a new Cake Frosting project you need to install the Frosting template:

dotnet new install Cake.Frosting.Template

Create a new Frosting project:

dotnet new cakefrosting

This will create the Cake Frosting project and bootstrapping scripts.

Running build script

Run the build script:

./build.ps1

build.sh

build.sh

The Default target will run when the build script is started without an explicit target.

Using pre-release versions

Cake uses Azure Artifacts as a NuGet feed for testing and pre-release builds. With these pre-release builds the next version of Cake can be accessed and utilized for getting the latest features or testing addins or build scripts to know if the next release will be safe when you need to upgrade.