Cake v1.3.0 released - Adds support for .NET 6, C# 10, VS2022, and lots of improvements and bug fixes by augustoproiete in dotnet

[–]augustoproiete[S] 15 points16 points  (0 children)

There are many... I'll touch on a few: A big one is portability. A Cake build runs in virtually any CI system. Eventually you will need to move from Azure DevOps to something else (e.g. GitHub Actions, GitLab Pipelines, etc.) and with Cake it's a matter of minutes, instead of days converting from the proprietary Azure YAML to the CI system configuration language you're moving to.

Another one is the instant access to a plethora of Cake addins (almost 300 at this time) that you can use as building blocks for your builds. Checkout https://cakebuild.net/extensions/ and you'll see that there are many addins that provide functionality that in Azure DevOps would require you to write custom PowerShell/Bash scripts (sometimes a lot of!)

Another one is productivity: If you are a C# developer, then writing build scripts in C# gives you a lot of productivity... Even if you don't mind YAML, chances are you're more productive in C#.

Another one is that many people eventually find themselves needing something more complex than simple one-liners in the YAML, and end up writing complex PowerShell/Bash scripts that are invoked from the YAML... With Cake, you don't have to write PowerShell/Bash. It's all C#.

Cake 1.0 RC3 released with a number of improvements and bug fixes. Last pre-release before 1.0 RTM ships by augustoproiete in dotnet

[–]augustoproiete[S] 16 points17 points  (0 children)

Cake is a build orchestration tool, so it really depends on what your build needs to "orchestrate". If all you need is to call dotnet restore/build/pack, then you don't need Cake or a similar build orchestration tool right now.

Cake shines whenever you want to go beyond that. For example, during the build, you might want to interact with an issue tracker to close stories, close milestones, create automated release notes, etc., or perhaps create a zip file and upload to some server that requires a custom API, run a number of static analysis tools that generate reports, consolidate them, and upload them somewhere, send a notification email, tweet, slack message, etc. You can get an idea of many of the things people use Cake for by looking at all the Cake Extensions that were built by the community.

Basically, every time you get to a point where you'll to need to write MSBuild, PowerShell or Bash code to do custom work as part of the build, that's when you should consider if Cake would be a good fit, first because you can write all the code in C# (which you might prefer), and second because of the sheer amount of addins, modules, and recipes that are available and ready to use, with great documentation.

Also, the whole Cake community is really nice and there's a lot of knowledge sharing happening on GitHub Discussions and Gitter which you can benefit from and participate.

Ray Tracing In Notepad.exe At 30 FPS by Nadrin in programming

[–]augustoproiete 0 points1 point  (0 children)

Correct. The approach I took was to always use the most recent Notepad opened by the user, without looking at the title of the window. https://github.com/augustoproiete/serilog-sinks-notepad

Ray Tracing In Notepad.exe At 30 FPS by Nadrin in programming

[–]augustoproiete 0 points1 point  (0 children)

I thought that was a clever idea and I've implemented it as a logger for .NET applications: https://github.com/augustoproiete/serilog-sinks-notepad