Cake (C# Make) build automation system
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mattias Karlsson b4b77c784d
Merge branch 'kcamp-GH-2610' into develop
1 day ago
.github (GH-850) Added Issue and PR Templates 3 years ago
build (GH-2575) Fix dynamic C# issues 1 month ago
nuspec (GH-2358) Use new nuget license format 9 months ago
src GH2610: Add check for DynamicAttribute to support extensions returning 'dynamic' type 2 days ago
tests/integration Added dynamic integration tests 1 day ago
.editorconfig (maint) Added .cake file to EditorConfig 3 years ago
.gitattributes (GH-669) Added .gitattributes file 2 years ago
.gitignore (GH-2284) Version command display SemVer 11 months ago
.gitlab-ci.yml (build) Update addins&tools,refactor bootstrappers 7 months ago
.travis.yml (build) Use xenial (Ubuntu 16.04) on TravisCI 1 month ago
CODEOFCONDUCT.md Update CODEOFCONDUCT.md 3 years ago
CONTRIBUTING.md Updated CONTRIBUTING.md 3 years ago
GitReleaseManager.yaml Revert 26013c0665bafaff430dd20b22c4073a6bd04df3 2 years ago
GitVersion.yml (build) Update addins&tools,refactor bootstrappers 7 months ago
LICENSE Cake joins the .NET Foundation 3 years ago
README.md Changed Bitrise macOS to public project 4 months ago
ReleaseNotes.md (build) Updated version and release notes. 1 month ago
appveyor.yml (build) Update addins&tools,refactor bootstrappers 7 months ago
bitbucket-pipelines.yml (build) Update addins&tools,refactor bootstrappers 7 months ago
build.cake (GH-2575) Fix dynamic C# issues 1 month ago
build.config (build) Updated Cake tool to version 0.34.1 1 month ago
build.ps1 Update SDK & Fix SDK root variable 3 months ago
build.sh Update SDK & Fix SDK root variable 3 months ago
global.json (GH-2572) Update build dependencies 1 month ago
signclient.filter Move to signing service v2 1 year ago
signclient.json Move to signing service v2 1 year ago

README.md

Cake

NuGet MyGet Chocolatey homebrew Help Contribute to Open Source

Source Browser

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

Build server Platform Build status Integration tests
Azure Pipelines MacOS Azure Pipelines Mac Build status
Azure Pipelines Windows Azure Pipelines Windows Build status
Azure Pipelines Debian Azure Pipelines Debian Build status
Azure Pipelines Fedora Azure Pipelines Fedora Build status
Azure Pipelines Centos Azure Pipelines Cake Centos status
Azure Pipelines Ubuntu Azure Pipelines Ubuntu Build status
AppVeyor Windows AppVeyor branch AppVeyor branch
Travis Linux / MacOS Travis build status
TeamCity Windows TeamCity Build Status
Bitrise MacOS Build Status Build Status
Bitrise Linux Build Status Build Status
MyGet Build Services Windows MyGet Build Status  
Bitbucket Pipelines Linux Build Status
GitLab Linux build status  

Code Coverage

Coverage Status

Table of Contents

  1. Documentation
  2. Example
  3. Contributing
  4. Get in touch
  5. License

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 and contributors.

Cake is provided as-is under the MIT license. For more information see LICENSE.

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.

The Cake Team would also like to say thank you to the guys at MyGet for their support in providing a Professional Subscription which allows us to continue to push all of our pre-release editions of Cake NuGet packages for early consumption by the Cake Community.

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.