Microsoft's open source .Net Foundation eats Cake

Cake allows .Net developers to write build scripts in C# and run them on Windows, Linux, or Mac OS X

Microsoft's open source .Net Foundation eats Cake
Credit: Wikipedia

Cake, a C#-based cross-platform build automation framework, has moved to the jurisdiction of the .Net Foundation.

Joining the foundation ensures the long-term viability of the project, according to Cake builders. The independent foundation, formed to promote open source technologies for Microsoft's .Net Framework, will provide support and guidance while the team currently maintaining the project continues to do so.

Supporting builds on Windows, Linux, and Mac OS X, Cake was built on top of the Roslyn and Mono compiler. "It's a DSL (domain specific language) that uses C# and it lets you do things like compile code and copy folders," said Scott Hanselman, Microsoft principal manager for Visual Studio and .Net. Cake also lets developers build NuGet packages, run unit tests, and compress files.

Proponents of Cake believe the development of reliable, maintainable build automation scripts is best done in the same language used to develop the application. "Although we agree that being a polyglot developer is definitely a good thing, using a build script as a mechanism to pick up a new language is not the best approach," said Cake project team member Gary Ewan Park. This can lead to lack of adoption of the language across the team working on the project and having only the project starter in charge of the build script. "Rather, if the build script is written in the same primary language of the project, then everyone on the team can be immediately effective at altering/fixing that build script."

Cake supports such tools as the MSBuild build engine, NUnit and XUnit unit testing tools, and GitVersion. Cake's add-in mechanism enables it to work with tools like the Xamarin mobile development platform, CMake build and test tools, and the NPM JavaScript package manager.

From CIO: 8 Free Online Courses to Grow Your Tech Skills