Skip to content

Releases: cake-contrib/Cake.Incubator

3.1.0

15 Dec 19:49
Compare
Choose a tag to compare

As part of this release we had 10 issues closed.

Features

  • #87 Implement PackAsTool detection
  • #83 Add ThrowIfNullOrWhiteSpace extension method

Bug

  • #91 Get{Project/Solution/Output}Assemblies functions do not accept Platform argument

Improvements

  • #93 Add GetProjectProperty for non-default project elements
  • #89 Update build to use Cake 0.30.0
  • #86 Add project xml source to parser result
  • #85 Add test framework specific project checks
  • #84 Improve nesting object printing for Dump
  • #76 ArgumentNullException when parsing project file

3.0.0

11 Aug 12:51
Compare
Choose a tag to compare

As part of this release we had 2 commits which resulted in 3 issues being closed.

Support for cake version < 0.28 and netstandard < 2.0.0 has now been deprecated. If you find your build has broken as a result of this latest release, please PIN your version to the previous release version=2.0.2

Breaking changes

  • #77 Recommended changes resulting from automated audit
  • #63 GetMatchingFiles() Return Type

Bug

  • #71 Could not load Cake.Incubator.dll (missing netstandard, Version=2.0.0.0, Culture=neutral, ...)

2.0.2

25 Apr 20:59
Compare
Choose a tag to compare

As part of this release we had 1 issue closed.

Improvement

  • #75 XUnit2Settings breaking change in cake 0.27.1 release

2.0.1

19 Mar 18:37
Compare
Choose a tag to compare

As part of this release we had 3 issues closed.

Breaking change

  • #67 Old Cake.Core version

Bug

  • #70 Documentation issue

Improvement

  • #68 Support for Cake v0.26.0

2.0.0

17 Mar 18:29
Compare
Choose a tag to compare

As part of this release we had 5 issues closed.

Breaking change

  • #67 Old Cake.Core version

Feature

  • #69 (GH-68) Add support for Cake 0.26.0

Bugs

  • #66 IsWebApplication throws null exception
  • #65 Fix: patch IsWebApplication

Documentation

  • #64 GetMatchingFiles() includes original file path

1.7.2

20 Feb 20:30
Compare
Choose a tag to compare

As part of this release we had 1 issue closed.

Bug

  • #62 How do you call the ParseProject method from the ProjectParserExtensions

1.7.1

27 Jan 13:13
Compare
Choose a tag to compare

As part of this release we had 2 issues closed.

Bugs

  • #60 Fixes #59
  • #59 With the 1.7.0 release, GetOutputAssemblies for a solution throws an exception

1.7.0

26 Jan 15:28
Compare
Choose a tag to compare

As part of this 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

1.6.0

20 Oct 09:15
Compare
Choose a tag to compare

As part of this release we had 2 issues closed.

Features

  • #48 GH47: Upgrade to Cake 0.22.0
  • #47 Update to Cake 0.22

1.5.0

12 Sep 12:24
Compare
Choose a tag to compare

As part of this release we had 3 issues closed.

Feature

  • #45 Upgrade to VS2017 and add .NET Core target

Bug

  • #44 ParseProject will throw exception when encountering absolute path

Improvement

  • #41 Add Service Fabric application project type