![]() ![]() But why? Consider the two following examples. Maybe someone can enlighten me here? Regardless, I wish it had picked up more stream than it did.Īnother thing is that a common theme within the Cake ecosystem is to wrap every shelled command into a fluent/typed interface. My memory says that this project had been de facto abandoned, however, it has had some recent commits. NET Core initially came on the scene, and started the Frosting project. I believe the maintainers of Cake recognized this disadvantage when. The preprocessor made sense back in the day when msbuild was a mess, and when developers just wanted a single file with a single command. NET Core console application, like any other. These class of issues are entirely moot when you use something like NUKE since you are just dealing with a standard. While you peruse each issue, ask yourself, "is this issue a result of the preprocessor?" Take a look at all the reported issues of Cake. The DSL for Cake also has it's own dependency resolver, which is also a common source of failure/fustrations.In order to run cake.exe, you need to bootstrap your build, which can fail for various reasons.Wouldn't you want to open your build projects in Visual Studio? Launch a debugger with F5? When you do this, you loose support for the standard toolchain ( dotnet), and built in IDE support (with debugging!). That means that cake.exe must interpret them, dynamically compile them, and then execute them. The *.cake files aren't valid C# files.But who cares? Why not Cake?Ĭake has it's problems that any task runner/lib could have, but there is one large class of issues that simply will not happen with the others (NUKE, Bullseye, etc) because of one thing, preprocessing. I'll leave it to you to see for yourself, if you wish. It is pretty much in feature-parity with Cake in terms of the functionality it provides. Now this is rather rudementary, but NUKE takes this multiple steps even further. NET project supported by any IDE/debugger! Target( "publish", DependsOn( "clean"), () =>Īll the goodness of targets, but with a regular old. Using Bullseye and SimpleExec, your Program.cs (similar to build.cake) would look as follows: using static Bullseye.Targets NUKE - Build Automation System for C#/.NET.Used in conjunction with SimpleExec, it can be really powerful. NET library for describing and running targets and their dependencies. NET Core has been released, many projects have attempted to fill this new void. ![]() NET developers experienced before Cake are now addressed directly in the toolchain, but there is one thing that Cake does well that cannot be replaced by. ![]() csproj format is now simplified, making executing simple a Program.cs file as simple as dotnet run. NET Coreīut as with all great tools, the technology around them catches up. ![]() The community grew, plugins were built, and all was happy! Here comes. NET developers were starved for something that felt like home, they (rightfully, IMO) were willing to power through the rough edges the Cake brought to the table.Ĭake became the "go to" for build processes. NET library could be referenced, bringing an immense amount of power to the build process.īecause. Only one simple script is needed (aside from bootstrapping), executed with a simple command.NET developers didn't need to learn Make/Bash/PowerShell/etc, all they needed was C#! Then, in 2014 (when the first NuGet package was published), Cake came on the scene and that changed. NET community hadn't landed on a "recommended" approach. Feel free to share what you used, before Cake, in the comments. Some used MSBuild proj files (like me, eww), some used Ruby's Rake system, etc, etc. NET realm, developers got creative with their build processes. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |