Blog

Cake v0.19.1 released

Published
Friday, March 24, 2017
Category
Release Notes
Author
devlead

Version 0.19.1 of Cake has been released.

This is a minor hotfix release for 0.19.0, which fixes an issue discovered in the new VSWhere aliases.

So what is VSWhere? One issue with Visual Studio 2017 is that it can be installed anywhere, and you can have multiple versions side by side. As a result the registry keys, and standard paths previously used to identify where Visual Studio was installed, no longer apply.

This is where VSWhere comes in. It's a utility that can identify and list current installations of Visual Studio, as well as other developer products.

VSWhere is available on NuGet (and Chocolatey) which means you can fetch it using the tool pre-processor directive like this:

#tool nuget:?package=vswhere

There are a couple of VSWhere aliases available in Cake. If you just want to use the latest Visual Studio version available - then there's the VSWhereLatest alias. A complete example of fetching the VSWhere tool and using it to find path to MSBuild is shown below:

#tool nuget:?package=vswhere
DirectoryPath vsLatest  = VSWhereLatest();
FilePath msBuildPathX64 = (vsLatest==null)
                            ? null
                            : vsLatest.CombineWithFilePath("./MSBuild/15.0/Bin/amd64/MSBuild.exe");

MSBuild("./src/Example.sln", new MSBuildSettings {
    ToolPath = msBuildPathX64
    });

Contributions were included from:

Full details of everything that was included in this release can be seen below.

As part of this release we had 1 issue closed.

Bug

  • #1543 VSWhere aliases should return Directory Paths and not File Paths

Cake v0.19.0 released

Published
Thursday, March 23, 2017
Category
Release Notes
Author
devlead

Version 0.19.0 of Cake has been released.

This release of Cake is a smaller release in preparation for upgrading Cake itself to utilize latest RTM .NET SDK and Visual Studio 2017. The goal for v0.20.0 is also to unify around one scripting engine - Roslyn version 2.0 and depreciating the Mono scripting engine, this will likely result in raising the minimum supported version of .NET and Mono. We will before next release document and communicate exact versions.

We strongly recommend you pin the current version of Cake your using to avoid any unplanned interruption in your builds as the result of any potential future breaking changes. The Pinning Cake Version under the tutorials section of our website describes how to achieve this with the default bootstrappers.

Please let us know if you run into any issues with this latest release.

Once again, the Cake Team have been overwhelmed by the number of contributions from our Community Members. Simply put... THANK YOU!

Contributions were included from:

Full details of everything that was included in this release can be seen below.

Read more...

Cake v0.18.0 released

Published
Tuesday, March 7, 2017
Category
Release Notes
Author
devlead

Version 0.18.0 of Cake has been released.

This release of Cake sees a number of new features added, as well as some bug fixes, however, most importantly, there's a couple of breaking changes.

The minor breaking changes involve the old obsoleted DNU alias have been removed and WiXHeat had an incorrect signature which have been corrected.

The bigger breaking change is that with this release addins must target at least Cake.Core version 0.16.2 or later, addins targeting older versions will abort script execution. Many addins have already been updated and the many of those who have not yet upgraded, have pull requests ready for them. If any of the addins you use should be affected by this, please raise an issue in that addins repository. We've tried to reach out to all authors, but with hundreds of addins we've surely missed one or two. We do recommend you pin your builds to the version of Cake you using, that way you reduce the risk of builds failing because breaking changes. Instead you can do a controlled upgrade and take your time to sort any issues.

Amongst the more notable new features is MSBuild / Visual Studio 2017 support and support for loading scripts from NuGet.

We're also pleased to announce that from this release and forward all official Cake binaries will be signed with a .NET Foundation certificate, this isn't strong naming, so it won't affect addins in any way, just ensure the authenticity of the binaries. image

Worth noting in a near future release we will update to and unify around latest stable version Roslyn scripting - this means Mono scripting engine will be removed, we will still run on Mono, but we will require a newer version of Mono than we do today. This will bring a lot of benefit for Cake as we will be able to support the latest C# features and reduce the maintenance burden and error process of maintaining multiple scripting engines.

Please let us know if you run into any issues with this latest release.

Once again, the Cake Team have been overwhelmed by the number of contributions from our Community Members. Simply put... THANK YOU!

Contributions were included from:

Full details of everything that was included in this release can be seen below.

Read more...

Cake.Paket - An Addin and Module to Add Support for Paket in Cake

Published
Wednesday, January 25, 2017
Category
Addins
Author
Larz White

Most .NET developers are comfortable using NuGet to manage their dependencies. This is probably why Cake has such great support for it. Unfortunately, Paket which is a popular alternative has very little support. Luckily, with the help of Cake.Paket you can make Paket a first class citizen in your Cake scripts!

Read more...

New Static Cake Website

Published
Sunday, January 22, 2017
Category
Announcement
Author
daveaglick

Hi! My name is Dave Glick and I run the Wyam static site engine project. I'm also a big Cake fanboy, and over the last couple months I've been privileged to work with the rest of the Cake team on transitioning the Cake website from a dynamic ASP.NET website to a static one built by Wyam. This effort was more than mere window dressing; the new site goes beyond the old one in some interesting ways:

Read more...