Skip to content

Latest commit

 

History

History
162 lines (110 loc) · 10.9 KB

README.md

File metadata and controls

162 lines (110 loc) · 10.9 KB

Cake

NuGet Azure Artifacts 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 Ubuntu / MacOS Travis build status
TeamCity Windows TeamCity Build Status
Bitrise MacOS Build Status Build Status
Bitrise Debian Build Status Build Status
Bitbucket Pipelines Debian Build Status
GitLab Debian pipeline status  
GitHub Actions Windows / Ubuntu/ macOS 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

Follow @cakebuildnet

Join the chat at https://gitter.im/cake-build/cake

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.

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.