Cake v0.29.0 released

Published Friday, July 6, 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:

devlead

gep13

patriksvensson

grdylan

paulomorgado

mholo65

Kevin LaBranche

rh072005

louisfischer

pavzaj

Michael Samorokov

daveaglick

NEXOGEN\kemenya

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.

Add Octopus Deploy Promote release support. #2095 Add "--skipnontestassemblies" funcionality to CAKE's NUnit3Settings as it exists in original nunit3 test runner.

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.

NuGet Repository information not settable in NuGet Pack. #2185 Try to find vswhere.exe on the system if the tool is not registered.

Try to find vswhere.exe on the system if the tool is not registered. #2154 Problem with loading abolute path scripts with #load preprocessor.

Problem with loading abolute path scripts with #load preprocessor. #2152 try resolve vstest.console.exe before guessing it.

try resolve vstest.console.exe before guessing it. #1609 Add additional VSTS actions.

Documentation