Cake v0.24.0 released

2017/12/29にCake v0.24.0がリリースされました!公式ブログ記事を簡単に邦訳しましたので、以下に記載します。


Cakeチームとcontributorsからのささやかな休日の贈り物として、2017年最後のバージョンをリリースしました! このリリースには破壊的変更は含まれておらず、いくつかの改善、バグ修正および新機能が含まれています。

特筆すべき新機能は、Cakeスクリプトランナーに組み込まれたmoduleのbootstrappingです。これは、既に#tool#addinプリプロセッサーディレクティブで可能なように、ビルドスクリプト#moduleでライブラリーを指定することで、対象のmoduleをNuGetからダウンロードおよびインストールすることができます。

#module nuget:?package=Cake.UrlLoadDirective.Module&version=1.0.2

moduleはCakeの内部構造を変更・拡張することができるため、このbootstrappingはCakeスクリプト実行の前に実施する必要があることには注意が必要です。これは、通常のビルドスクリプトを実行する前に、引数として--bootstrapを渡してCakeプロセスを開始することで解決できます。

./cake.exe build.cake --bootstrap
./cake.exe build.cake

大きな改善として、Roslyn 2.6.1にアップグレードしたことにより、ビルドスクリプト中でC# 7.2がサポートされるようになりました。
そして、Cakeのcontributorおよびユーザーの方々に感謝します。Cakeはあなた方抜きでは存在し得ません!

本リリースのcontributor:

本リリースの詳細は以下の通りです。

本リリースで、私たちは33のissuesをcloseしました。

Features

  • #1950 Allow Cake modules to be bootstrapped by Cake in a pre-processing phase
  • #1833 NUnit: Add support for /labels
  • #1653 Add Before and After options to NUnit3Labels enum
  • #74 MSpec support

Bugs

  • #1957 Use working directory instead if initial script path for resolving tools directory in NuGetLoadDirectiveProvider
  • #1939 Bug - TypeExtensions.GetFullName doesn't handle nested types correctly
  • #1933 NuGetPackSettings.Properties does not support whitespaces.
  • #1930 The "out" parameters are not compiled properly.
  • #1915 Only set working directory on process runner if set in settings
  • #1889 XmlPoke ignores BOM encoding settings
  • #1874 NuGet script load: Do not add include for all cake scripts when include already specified

Improvements

  • #1968 Add interface for AssemblyVerifier so that it can be mocked
  • #1960 Update Roslyn to 2.6.1
  • #1955 ResultsDirectory is missing from DotNetCoreTestSettings
  • #1952 Add support for class/namespace/method arguments for XUnit2
  • #1946 Add option to pack files into the NuGet tool directory
  • #1943 Chocolatey package dependencies cannot be set using the ChocolateyPackSettings
  • #1936 Move to signing service v2
  • #1931 Allow passing a nuget.config as environment variable or in cake.config
  • #1924 Set UserAgent for in process nuget
  • #1922 GitVersion is missing AssemblySemFileVer
  • #1912 Support for DotCover Process Filter
  • #1910 MSBuild property values should escape carriage return and line feed
  • #1855 SignTool is not found with latest windows 10 SDK
  • #1796 Obsolete DotNetBuild and ultimately remove it
  • #1692 Log script compilation warnings and other diagnostics
  • #1522 The MSTest tool doesn't pick up the mstest.exe from Visual Studio 2017

Documentation

  • #1811 Add code sample to build system properties