Cake.Incubator 1.7.2

Cake AddIn that provides useful extensions and additional aliases for Cake.Build scripts

There is a newer version of this package available.
See the version list below for details.
Install-Package Cake.Incubator -Version 1.7.2
dotnet add package Cake.Incubator --version 1.7.2
<PackageReference Include="Cake.Incubator" Version="1.7.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Cake.Incubator --version 1.7.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Cake.Incubator, 1.7.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Cake.Incubator as a Cake Addin
#addin nuget:?package=Cake.Incubator&version=1.7.2

// Install Cake.Incubator as a Cake Tool
#tool nuget:?package=Cake.Incubator&version=1.7.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

This is a bugfix release for 1.7.0

As part of 1.7.0 release we had 7 issues closed.

The main feature of this release is the improvement in project parsing and test project detection for both pre and post 2017 project formats.

You can now detect the type of project using:

CustomProjectParserResult result = ParseProject("./some.csproj", "Debug");

result.IsNetStandard; // true | false
result.IsNetCore; // true | false
result.IsNetFramework; // true | false
result.IsVS2017ProjectFormat; // true | false

Combined with the existing methods below creates a powerful way to filter and route your projects during your build pipeline.

result.IsLibrary(); // true | false
result.IsType(ProjectTypes.FSharp); // true | false
result.IsWebApplication(); // true | false

The flags are not mutually exclusive so support those projects with multi-targeting configured.
The support for multi-targeting has also been improved with new methods being added as follows:

result.GetOutputPaths(); // uses target frameworks to generate all of the artifact output paths (dll's, exe's)
result.GetAssemblyFilePaths(); // again will now include all possible artifact output paths (dll's, exe's)

Checking for packages, references and cli tools in your projects has also improved

// packages
result.HasPackage("nunit"); // true | false 
result.HasPackage("nunit", "net45"); // also supports targetframework specific package lookups
var pkg = result.GetPackage("nunit"); // returns PackageReference object or null

// references
result.HasReference("xunit.core"); // true | false
result.GetReferemce("xunit.core"); // returns ProjectAssemblyReference object or null

// dotnet cli tools
result.HasDotNetCliToolReference("dotnet-xunit"); // true | false
result.GetDotNetCliToolReference("dotnet-xunit"); // returns DotNetCliToolReference object or null

The test detection makes the above even easier to work across a range of projects with the following new test extensions, especially if you are using dotnet test for running your tests.

result.IsTestProject(); // true | false (currently works for nunit, xunit, mstest, fsunit, fixie, Expecto)
result.IsDotNetCliTestProject(); // true is test project can be executed with 'dotnet test' otherwise false
result.IsFrameworkTestProject(); // true if project will require a non 'dotnet test' runner to be executed

There are a few more minor improvements also. Check the issues below for more details.

Bug

  • #54 Fix detection of netcore, netframework and add netstandard

Improvements

  • #58 Populate project references for vs2017 project formats
  • #56 Feature/testprojectdetection
  • #55 Updating output paths to support TargetFrameworks
  • #53 Test project detection
  • #52 Add support for ienumerable iteration for dump extension
  • #51 Make detecting TargetFramework for PackageReference more robust

This is a bugfix release for 1.7.0

As part of 1.7.0 release we had 7 issues closed.

The main feature of this release is the improvement in project parsing and test project detection for both pre and post 2017 project formats.

You can now detect the type of project using:

CustomProjectParserResult result = ParseProject("./some.csproj", "Debug");

result.IsNetStandard; // true | false
result.IsNetCore; // true | false
result.IsNetFramework; // true | false
result.IsVS2017ProjectFormat; // true | false

Combined with the existing methods below creates a powerful way to filter and route your projects during your build pipeline.

result.IsLibrary(); // true | false
result.IsType(ProjectTypes.FSharp); // true | false
result.IsWebApplication(); // true | false

The flags are not mutually exclusive so support those projects with multi-targeting configured.
The support for multi-targeting has also been improved with new methods being added as follows:

result.GetOutputPaths(); // uses target frameworks to generate all of the artifact output paths (dll's, exe's)
result.GetAssemblyFilePaths(); // again will now include all possible artifact output paths (dll's, exe's)

Checking for packages, references and cli tools in your projects has also improved

// packages
result.HasPackage("nunit"); // true | false 
result.HasPackage("nunit", "net45"); // also supports targetframework specific package lookups
var pkg = result.GetPackage("nunit"); // returns PackageReference object or null

// references
result.HasReference("xunit.core"); // true | false
result.GetReferemce("xunit.core"); // returns ProjectAssemblyReference object or null

// dotnet cli tools
result.HasDotNetCliToolReference("dotnet-xunit"); // true | false
result.GetDotNetCliToolReference("dotnet-xunit"); // returns DotNetCliToolReference object or null

The test detection makes the above even easier to work across a range of projects with the following new test extensions, especially if you are using dotnet test for running your tests.

result.IsTestProject(); // true | false (currently works for nunit, xunit, mstest, fsunit, fixie, Expecto)
result.IsDotNetCliTestProject(); // true is test project can be executed with 'dotnet test' otherwise false
result.IsFrameworkTestProject(); // true if project will require a non 'dotnet test' runner to be executed

There are a few more minor improvements also. Check the issues below for more details.

Bug

  • #54 Fix detection of netcore, netframework and add netstandard

Improvements

  • #58 Populate project references for vs2017 project formats
  • #56 Feature/testprojectdetection
  • #55 Updating output paths to support TargetFrameworks
  • #53 Test project detection
  • #52 Add support for ienumerable iteration for dump extension
  • #51 Make detecting TargetFramework for PackageReference more robust

Release Notes

https://github.com/cake-contrib/Cake.Incubator/releases

Dependencies

This package has no dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Cake.Incubator:

Package Downloads
Cake.Extensions
This package has been renamed to Cake.Incubator
War3Net.CSharpLua
The C# to Lua compiler, with edits to make it compatible with warcraft III lua maps.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Cake.Incubator:

Repository Stars
charlessolar/Aggregates.NET
.NET event sourced domain driven design model via NServiceBus and GetEventStore

Version History

Version Downloads Last updated
6.0.0 83,883 2/26/2021
5.2.0 470 2/26/2021
5.1.0 585,698 8/11/2019
5.0.1 209,583 4/15/2019
4.0.2 25,120 3/26/2019
4.0.1 7,872 2/27/2019
3.1.0 817,297 12/15/2018
3.0.0 142,604 8/11/2018
2.0.2 57,930 4/25/2018
2.0.1 14,751 3/19/2018
2.0.0 17,406 3/17/2018
1.7.2 32,757 2/20/2018
1.6.0 39,466 10/20/2017
1.5.0 19,405 9/12/2017
1.4.0 15,389 7/30/2017
1.3.0 13,449 5/30/2017
1.2.0 2,376 5/19/2017
1.1.2 2,173 4/6/2017
1.1.1 587 4/6/2017
1.1.0 590 4/5/2017
1.0.56 8,128 3/17/2017
1.0.48 1,233 3/10/2017
1.0.43 604 3/9/2017
1.0.38 937 1/10/2017
1.0.35 621 12/12/2016
1.0.34 660 12/9/2016
1.0.33 818 12/9/2016
Show less