Cake v0.29.0 released

Published
Friday, 6 July 2018
Category
Release Notes
Author
devlead

Version 0.29.0 of Cake has been released.

We're really excited by this release which has some splendid features and improvements!

In this blog post we'll highlight the new exclusive parameter which adds support for executing a single task without dependencies. You can find a full list of changes at the end of this post.

Contributions were included from:

Exclusive

When you've executed a series of tasks and it fails on the last one, wouldn't it be nice if you could execute a single task, without requiring all of its dependencies to execute again? Well you're in luck, this just got added into 0.29.0! Beyond retrying failed operations - this can really speed things up while developing and debugging a script.

Below is a simple script with two tasks where Dependent-Task depends on Dependency-Task.

var target = Argument("target", "Default");

Task("Dependency-Task")
    .Does(() =>
{
    Information("Executing dependency.");
});


Task("Dependent-Task")
    .IsDependentOn("Dependency-Task")
    .Does(() =>
{
   Information("Executing task.");
});

RunTarget(target);

Normally when executing Cake.exe --target="Dependent-Task" we would see something like:

========================================
Dependency-Task
========================================
Executing dependency.

========================================
Dependent-Task
========================================
Executing task.

Task                          Duration
--------------------------------------------------
Dependency-Task               00:00:00.0061407
Dependent-Task                00:00:00.0002070
--------------------------------------------------
Total:                        00:00:00.0063477

But when specifying the exclusive option Cake.exe --target="Dependent-Task" --exclusive, then only the specified task will execute.

========================================
Dependent-Task
========================================
Executing task.

Task                          Duration
--------------------------------------------------
Dependent-Task                00:00:00.0059713
--------------------------------------------------
Total:                        00:00:00.0059713

Issues

As part of this release we had 12 issues closed.

Breaking change

  • #2140 DotNetCorePublish does not respect SelfContained DotNetCorePublishSettings property.

Feature

  • #2203 Add Octopus Deploy Promote release support.
  • #2095 Add "--skipnontestassemblies" funcionality to CAKE's NUnit3Settings as it exists in original nunit3 test runner.
  • #2094 Add support for executing a single task without dependencies.

Improvement

  • #2196 NuGet Repository information not settable in NuGet Pack.
  • #2185 Try to find vswhere.exe on the system if the tool is not registered.
  • #2154 Problem with loading abolute path scripts with #load preprocessor.
  • #2152 try resolve vstest.console.exe before guessing it.
  • #1609 Add additional VSTS actions.

Documentation

  • #2195 Updated the WiX tool documentation.
  • #2193 Add Pascal and Dave to all required places.
  • #2188 The CLA link in readme seems invalid or broken.