Cake
Cake (C# Make) is a 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.
Continuous integration
Code Coverage
Table of Contents
Documentation
You can read the latest documentation at https://cakebuild.net/.
Example
This example downloads the Cake bootstrapper and executes a simple build script. The bootstrapper is used to bootstrap Cake in a simple way and is not in required in any way to execute build scripts. If you prefer to invoke the Cake executable yourself, take a look at the command line usage.
This example is also available on our homepage: https://cakebuild.net/docs/tutorials/setting-up-a-new-project
1. Install the Cake bootstrapper
The bootstrapper is used to download Cake and the tools required by the build script.
Windows
Invoke-WebRequest https://cakebuild.net/download/bootstrapper/windows -OutFile build.ps1
Linux
curl -Lsfo build.sh https://cakebuild.net/download/bootstrapper/linux
OS X
curl -Lsfo build.sh https://cakebuild.net/download/bootstrapper/osx
2. Create a Cake script
Add a cake script called build.cake
to the same location as the
bootstrapper script that you downloaded.
var target = Argument("target", "Default");
Task("Default")
.Does(() =>
{
Information("Hello World!");
});
RunTarget(target);
3. Run it!
Windows
# Execute the bootstrapper script.
./build.ps1
Linux / OS X
# Adjust the permissions for the bootstrapper script.
chmod +x build.sh
# Execute the bootstrapper script.
./build.sh
Contributing
So you’re thinking about contributing to Cake? Great! It’s really appreciated.
Make sure you've read the contribution guidelines before sending that epic pull request. You'll also need to sign the contribution license agreement (CLA) for anything other than a trivial change. NOTE: The .NET Foundation CLA Bot will provide a link to this CLA within the PR that you submit if it is deemed as required.
- Fork the repository.
- Create a branch to work in.
- Make your feature addition or bug fix.
- Don't forget the unit tests.
- Send a pull request.
Get in touch
License
Copyright © .NET Foundation, Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors.
Cake is provided as-is under the MIT license. For more information see LICENSE.
- For Roslyn, see https://github.com/dotnet/roslyn/blob/master/License.txt
- For Autofac, see https://github.com/autofac/Autofac/blob/master/LICENSE
- For NuGet.Core, see https://github.com/NuGet/Home/blob/dev/LICENSE.txt
Thanks
A big thank you has to go to JetBrains who provide each of the Cake Developers with an Open Source License for ReSharper that helps with the development of Cake.
Code of Conduct
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.
Contribution License Agreement
By signing the CLA, the community is free to use your contribution to .NET Foundation projects.
.NET Foundation
This project is supported by the .NET Foundation.