Cake is an imperative and task-based way of expressing builds. In my opinion, it truly provides its benefits when you have a complex build pipeline. The added value is that any C# developer can understand and contribute to the build process without needing to master bash or PowerShell scripting languages or figure out how to use declarative DSLs like GitHub Actions, AppVeyor, or GitLab CI
I know a ton of people where I work don’t ever touch msbuild because it’s kinda convoluted. Sure if you take the time to learn it then it’s not bad. Cake is literally just chaining ‘Tasks’ aka methods together and writing c# to do anything you want. It has some helper functions and extensions to help out. Also supports pulling in nuget packages.
Can someone explain why I would use this over the dotnet command.
I do some semi complex Dev ops stuff at work and haven’t hit anything that can’t be done through the cli.
Cake is an imperative and task-based way of expressing builds. In my opinion, it truly provides its benefits when you have a complex build pipeline. The added value is that any C# developer can understand and contribute to the build process without needing to master bash or PowerShell scripting languages or figure out how to use declarative DSLs like GitHub Actions, AppVeyor, or GitLab CI
Makes sense. So far I’ve been able to do all that within the project file itself with tasks and property files.
I’m surprised you didn’t mention MSBuild. dotnet runs MSBuild, and MSBuild is task-oriented (or target-oriented? or target-task-oriented?).
I take editing via MSBuild would cover the same things, but Cake allows doing so without having to use/learn MSBuild?
I know a ton of people where I work don’t ever touch msbuild because it’s kinda convoluted. Sure if you take the time to learn it then it’s not bad. Cake is literally just chaining ‘Tasks’ aka methods together and writing c# to do anything you want. It has some helper functions and extensions to help out. Also supports pulling in nuget packages.