Cake.Incubator 1.7.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package Cake.Incubator --version 1.7.2                
NuGet\Install-Package Cake.Incubator -Version 1.7.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<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                
#r "nuget: Cake.Incubator, 1.7.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. 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                

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
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.6 is compatible.  netstandard2.0 was computed.  netstandard2.1 was computed. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 is compatible.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (2)

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

Package Downloads
War3Net.CSharpLua

The C# to Lua compiler, with edits to make it compatible with warcraft III lua maps.

Cake.Extensions

This package has been renamed to Cake.Incubator

GitHub repositories (4)

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

Repository Stars
BepInEx/BepInEx
Unity / XNA game patcher and plugin framework
GitTools/GitVersion
From git log to SemVer in no time
FastReports/FastReport
Free Open Source Reporting tool for .NET6/.NET Core/.NET Framework that helps your application generate document-like reports
charlessolar/Aggregates.NET
.NET event sourced domain driven design model via NServiceBus and GetEventStore
Version Downloads Last updated
8.0.0 329,631 1/29/2023
7.0.0 1,585,185 1/15/2022
6.0.0 723,977 2/26/2021
5.2.0 2,026 2/26/2021
5.1.0 905,764 8/11/2019
5.0.1 399,619 4/15/2019
4.0.2 70,956 3/26/2019
4.0.1 8,522 2/27/2019
3.1.0 1,033,057 12/15/2018
3.0.0 173,192 8/11/2018
2.0.2 161,152 4/25/2018
2.0.1 24,232 3/19/2018
2.0.0 18,232 3/17/2018
1.7.2 34,190 2/20/2018
1.6.0 41,023 10/20/2017
1.5.0 19,939 9/12/2017
1.4.0 15,909 7/30/2017
1.3.0 13,958 5/30/2017
1.2.0 2,858 5/19/2017
1.1.2 2,651 4/6/2017
1.1.1 1,075 4/6/2017
1.1.0 1,065 4/5/2017
1.0.56 8,653 3/17/2017
1.0.48 1,770 3/10/2017
1.0.43 1,083 3/9/2017
1.0.38 1,456 1/10/2017
1.0.35 1,111 12/12/2016
1.0.34 1,157 12/9/2016
1.0.33 1,543 12/9/2016