Skip to content

Commit

Permalink
Merge branch 'release/0.22.0' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
devlead committed Sep 13, 2017
2 parents 9ff85bb + 6470d25 commit 6aa046e
Show file tree
Hide file tree
Showing 236 changed files with 5,436 additions and 5,134 deletions.
17 changes: 8 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,17 @@ Cake (C# Make) is a build automation system with a C# DSL to do things like comp

## Documentation

You can read the latest documentation at [http://cakebuild.net/](http://cakebuild.net/).
You can read the latest documentation at [https://cakebuild.net/](https://cakebuild.net/).

## Example

This example downloads the Cake bootstrapper and executes a simple build script.
The bootstrapper is used to bootstrap Cake in a simple way and is not in
required in any way to execute build scripts. If you prefer to invoke the Cake
executable yourself, [take a look at the command line usage](http://cakebuild.net/docs/cli/usage).
executable yourself, [take a look at the command line usage](https://cakebuild.net/docs/cli/usage).

This example is also available on our homepage:
[http://cakebuild.net/docs/tutorials/setting-up-a-new-project](http://cakebuild.net/docs/tutorials/setting-up-a-new-project)
[https://cakebuild.net/docs/tutorials/setting-up-a-new-project](https://cakebuild.net/docs/tutorials/setting-up-a-new-project)

### 1. Install the Cake bootstrapper

Expand All @@ -60,19 +60,19 @@ build script.
##### Windows

```powershell
Invoke-WebRequest http://cakebuild.net/download/bootstrapper/windows -OutFile build.ps1
Invoke-WebRequest https://cakebuild.net/download/bootstrapper/windows -OutFile build.ps1
```

##### Linux

```console
curl -Lsfo build.sh http://cakebuild.net/download/bootstrapper/linux
curl -Lsfo build.sh https://cakebuild.net/download/bootstrapper/linux
```

##### OS X

```console
curl -Lsfo build.sh http://cakebuild.net/download/bootstrapper/osx
curl -Lsfo build.sh https://cakebuild.net/download/bootstrapper/osx
```

### 2. Create a Cake script
Expand Down Expand Up @@ -115,7 +115,7 @@ chmod +x build.sh

So you’re thinking about contributing to Cake? Great! It’s **really** appreciated.

Make sure you've read the [contribution guidelines](http://cakebuild.net/docs/contributing/contribution-guidelines) before sending that epic pull request. You'll also need to sign the [contribution license agreement](https://cla2.dotnetfoundation.org/) (CLA) for anything other than a trivial change. **NOTE:** The .NET Foundation CLA Bot will provide a link to this CLA within the PR that you submit if it is deemed as required.
Make sure you've read the [contribution guidelines](https://cakebuild.net/docs/contributing/contribution-guidelines) before sending that epic pull request. You'll also need to sign the [contribution license agreement](https://cla2.dotnetfoundation.org/) (CLA) for anything other than a trivial change. **NOTE:** The .NET Foundation CLA Bot will provide a link to this CLA within the PR that you submit if it is deemed as required.

* Fork the repository.
* Create a branch to work in.
Expand All @@ -136,9 +136,8 @@ Copyright © .NET Foundation, Patrik Svensson, Mattias Karlsson, Gary Ewan Park,
Cake is provided as-is under the MIT license. For more information see [LICENSE](https://github.com/cake-build/cake/blob/develop/LICENSE).

* For Roslyn, see https://github.com/dotnet/roslyn/blob/master/License.txt
* For Mono.CSharp, see https://github.com/mono/mono/blob/master/mcs/LICENSE
* For Autofac, see https://github.com/autofac/Autofac/blob/master/LICENSE
* For NuGet.Core, see https://nuget.codeplex.com/license
* For NuGet.Core, see https://github.com/NuGet/Home/blob/dev/LICENSE.txt

## Thanks

Expand Down
49 changes: 49 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,52 @@
### New on 0.22.0 (Released 2017/09/13)

* 1785 Bump LatestBreakingChange to 0.22.0
* 1745 Change parameter for InstallTools and InstallAddins in IScriptProcessor
* 1720 ILRepackSettings.Libs should be List of DirectoryPath
* 1719 Jenkins BRANCH_NAME is missing
* 1714 Updated CakeRuntime.TargetVersion to net462.
* 1674 MSBuildFileLogger LogFile is a string and not a FilePath
* 1665 NUnit3Settings: Params and multiple results
* 1651 NUnit3Settings Verbose flag obsoleted by NUnit console runner
* 1614 Correct the class that TeamCityEnvironmentInfo inherits from
* 1597 CommitsSinceVersionSource and PreReleaseNumber as Integer
* 1564 DeleteDirectory cannot delete read-only files
* 1540 Upgrade to Roslyn 2.0
* 1791 Add option to enable MSBuild binary logging
* 1771 Look for msbuild in default install path on Linux
* 1761 DoesForEach() extension method
* 1754 VSWhere not returning prerelease versions
* 1743 Implement functionality in Cake.NuGet for downloading packages
* 1734 Add GitLink 3 compatible aliases
* 1710 Add alias for simple sub-directory listing
* 1699 NuGetPackSettings missing language/locale ID for the package
* 1670 OpenCover is missing some commandline parameter (for example mergebyhash)
* 1667 Add support for choco download internalize-all-urls
* 1621 Add overload for StartProcess which also returns redircted error output
* 1775 Strange usage of Cake.Core.dll when executing cake sub process
* 1773 NuGetHasSource call do not take care of ArgumentCustomization in NuGetSourcesSettings
* 1759 XmlPoke always writes the xmldeclaration even if the original file didn't have one
* 1742 Some unit tests are locale-sensitive
* 1739 NuGetContentResolver can't find assemblies if located in root
* 1738 NuGetInstaller can't resolve files if package contains dependencies
* 1697 CakeContextAdapter do not implement ICakeContext
* 1694 Addin directive shouldn't attempt to load native assemblies
* 1693 Possible bug when setting process environment variable
* 1625 Comma in msbuild commands are not escaped
* 1602 MSBuildFileLogger Verbosity does not accept Verbosity.Verbose
* 1537 XmlPeek not working correctly for element nodes
* 1422 Error: Unkown token when directory contains multibyte characters
* 1752 Extend DownloadFile to allow AcceptEncoding gzip
* 1746 ScriptAnalyzer.Analyze() should not throw - instead return list of errors
* 1704 Move CakeConsole & CakeBuildLog to Cake.Core and made CakeConfiguration public
* 1512 Please support C* 7 and Roslyn v2
* 753 Tool Versioning
* 1787 Add opt-out config information to assembly version verification error message
* 1780 Fix typo in version.cake
* 1727 Incorrect documentation for XmlPeek Alias
* 1700 Update nuget license url
* 1525 Updated examples for DotNetCoreTest

### New on 0.21.1 (Released 2017/07/15)

* 1685 Add DotNetCoreTool alias overload that takes DotNetCoreToolSettings parameter
Expand Down
1 change: 1 addition & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,4 @@ branches:
# Build cache
cache:
- tools -> build.cake
- packages -> build.cake
78 changes: 53 additions & 25 deletions build.cake
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,22 @@ Setup(context =>
parameters.Version.CakeVersion,
parameters.IsTagged);
var releaseNotes = string.Join("\n", parameters.ReleaseNotes.Notes.ToArray()).Replace("\"", "\"\"");
msBuildSettings = new DotNetCoreMSBuildSettings()
.WithProperty("Version", parameters.Version.SemVersion)
.WithProperty("AssemblyVersion", parameters.Version.Version)
.WithProperty("FileVersion", parameters.Version.Version);
.WithProperty("FileVersion", parameters.Version.Version)
.WithProperty("PackageReleaseNotes", string.Concat("\"", releaseNotes, "\""));
if(!parameters.IsRunningOnWindows)
{
var frameworkPathOverride = new FilePath(typeof(object).Assembly.Location).GetDirectory().FullPath + "/";
// Use FrameworkPathOverride when not running on Windows.
Information("Build will use FrameworkPathOverride={0} since not building on Windows.", frameworkPathOverride);
msBuildSettings.WithProperty("FrameworkPathOverride", frameworkPathOverride);
}
});

Teardown(context =>
Expand Down Expand Up @@ -144,45 +156,45 @@ Task("Copy-Files")
.IsDependentOn("Run-Unit-Tests")
.Does(() =>
{
// .NET 4.5
// .NET 4.6
DotNetCorePublish("./src/Cake", new DotNetCorePublishSettings
{
Framework = "net45",
Framework = "net461",
VersionSuffix = parameters.Version.DotNetAsterix,
Configuration = parameters.Configuration,
OutputDirectory = parameters.Paths.Directories.ArtifactsBinNet45,
Verbosity = DotNetCoreVerbosity.Minimal
OutputDirectory = parameters.Paths.Directories.ArtifactsBinFullFx,
MSBuildSettings = msBuildSettings
});
// .NET Core
DotNetCorePublish("./src/Cake", new DotNetCorePublishSettings
{
Framework = "netcoreapp1.0",
Configuration = parameters.Configuration,
OutputDirectory = parameters.Paths.Directories.ArtifactsBinNetCoreApp10,
Verbosity = DotNetCoreVerbosity.Minimal
OutputDirectory = parameters.Paths.Directories.ArtifactsBinNetCore,
MSBuildSettings = msBuildSettings
});
// Copy license
CopyFileToDirectory("./LICENSE", parameters.Paths.Directories.ArtifactsBinNet45);
CopyFileToDirectory("./LICENSE", parameters.Paths.Directories.ArtifactsBinNetCoreApp10);
CopyFileToDirectory("./LICENSE", parameters.Paths.Directories.ArtifactsBinFullFx);
CopyFileToDirectory("./LICENSE", parameters.Paths.Directories.ArtifactsBinNetCore);
// Copy Cake.XML (since publish does not do this anymore)
CopyFileToDirectory("./src/Cake/bin/" + parameters.Configuration + "/net45/Cake.xml", parameters.Paths.Directories.ArtifactsBinNet45);
CopyFileToDirectory("./src/Cake/bin/" + parameters.Configuration + "/netcoreapp1.0/netcoreapp1.0/Cake.xml", parameters.Paths.Directories.ArtifactsBinNetCoreApp10);
CopyFileToDirectory("./src/Cake/bin/" + parameters.Configuration + "/net461/Cake.xml", parameters.Paths.Directories.ArtifactsBinFullFx);
CopyFileToDirectory("./src/Cake/bin/" + parameters.Configuration + "/netcoreapp1.0/Cake.xml", parameters.Paths.Directories.ArtifactsBinNetCore);
});

Task("Zip-Files")
.IsDependentOn("Copy-Files")
.Does(() =>
{
// .NET 4.5
var homebrewFiles = GetFiles( parameters.Paths.Directories.ArtifactsBinNet45.FullPath + "/**/*");
Zip(parameters.Paths.Directories.ArtifactsBinNet45, parameters.Paths.Files.ZipArtifactPathDesktop, homebrewFiles);
// .NET 4.6
var homebrewFiles = GetFiles( parameters.Paths.Directories.ArtifactsBinFullFx.FullPath + "/**/*");
Zip(parameters.Paths.Directories.ArtifactsBinFullFx, parameters.Paths.Files.ZipArtifactPathDesktop, homebrewFiles);
// .NET Core
var coreclrFiles = GetFiles( parameters.Paths.Directories.ArtifactsBinNetCoreApp10.FullPath + "/**/*");
Zip(parameters.Paths.Directories.ArtifactsBinNetCoreApp10, parameters.Paths.Files.ZipArtifactPathCoreClr, coreclrFiles);
var coreclrFiles = GetFiles( parameters.Paths.Directories.ArtifactsBinNetCore.FullPath + "/**/*");
Zip(parameters.Paths.Directories.ArtifactsBinNetCore, parameters.Paths.Files.ZipArtifactPathCoreClr, coreclrFiles);
});

Task("Create-Chocolatey-Packages")
Expand All @@ -193,12 +205,19 @@ Task("Create-Chocolatey-Packages")
{
foreach(var package in parameters.Packages.Chocolatey)
{
var netFxFullArtifactPath = MakeAbsolute(parameters.Paths.Directories.ArtifactsBinFullFx).FullPath;
var curDirLength = MakeAbsolute(Directory("./")).FullPath.Length + 1;
// Create package.
ChocolateyPack(package.NuspecPath, new ChocolateyPackSettings {
Version = parameters.Version.SemVersion,
ReleaseNotes = parameters.ReleaseNotes.Notes.ToArray(),
OutputDirectory = parameters.Paths.Directories.NugetRoot,
Files = parameters.Paths.ChocolateyFiles
Files = GetFiles(netFxFullArtifactPath + "/**/*")
.Where(file => file.FullPath.IndexOf("/runtimes/", StringComparison.OrdinalIgnoreCase) < 0)
.Select(file=>"../" + file.FullPath.Substring(curDirLength))
.Select(file=> new ChocolateyNuSpecContent { Source = file })
.ToArray()
});
}
});
Expand All @@ -221,41 +240,50 @@ Task("Create-NuGet-Packages")
Configuration = parameters.Configuration,
OutputDirectory = parameters.Paths.Directories.NugetRoot,
NoBuild = true,
IncludeSymbols = true,
MSBuildSettings = msBuildSettings
});
}
// Cake - Symbols - .NET 4.5
// Cake - Symbols - .NET 4.6
NuGetPack("./nuspec/Cake.symbols.nuspec", new NuGetPackSettings {
Version = parameters.Version.SemVersion,
ReleaseNotes = parameters.ReleaseNotes.Notes.ToArray(),
BasePath = parameters.Paths.Directories.ArtifactsBinNet45,
BasePath = parameters.Paths.Directories.ArtifactsBinFullFx,
OutputDirectory = parameters.Paths.Directories.NugetRoot,
Symbols = true,
NoPackageAnalysis = true
});
// Cake - .NET 4.5
var netFxFullArtifactPath = MakeAbsolute(parameters.Paths.Directories.ArtifactsBinFullFx).FullPath;
var netFxFullArtifactPathLength = netFxFullArtifactPath.Length+1;
// Cake - .NET 4.6
NuGetPack("./nuspec/Cake.nuspec", new NuGetPackSettings {
Version = parameters.Version.SemVersion,
ReleaseNotes = parameters.ReleaseNotes.Notes.ToArray(),
BasePath = parameters.Paths.Directories.ArtifactsBinNet45,
BasePath = netFxFullArtifactPath,
OutputDirectory = parameters.Paths.Directories.NugetRoot,
Symbols = false,
NoPackageAnalysis = true
NoPackageAnalysis = true,
Files = GetFiles(netFxFullArtifactPath + "/**/*")
.Where(file => file.FullPath.IndexOf("/runtimes/", StringComparison.OrdinalIgnoreCase) < 0)
.Select(file=>file.FullPath.Substring(netFxFullArtifactPathLength))
.Select(file=> new NuSpecContent { Source = file, Target = file })
.ToArray()
});
// Cake Symbols - .NET Core
NuGetPack("./nuspec/Cake.CoreCLR.symbols.nuspec", new NuGetPackSettings {
Version = parameters.Version.SemVersion,
ReleaseNotes = parameters.ReleaseNotes.Notes.ToArray(),
BasePath = parameters.Paths.Directories.ArtifactsBinNetCoreApp10,
BasePath = parameters.Paths.Directories.ArtifactsBinNetCore,
OutputDirectory = parameters.Paths.Directories.NugetRoot,
Symbols = true,
NoPackageAnalysis = true
});
var netCoreFullArtifactPath = MakeAbsolute(parameters.Paths.Directories.ArtifactsBinNetCoreApp10).FullPath;
var netCoreFullArtifactPath = MakeAbsolute(parameters.Paths.Directories.ArtifactsBinNetCore).FullPath;
var netCoreFullArtifactPathLength = netCoreFullArtifactPath.Length+1;
// Cake - .NET Core
Expand Down Expand Up @@ -309,7 +337,7 @@ Task("Sign-Binaries")
.AppendSwitchQuotedSecret("-s", secret)
.AppendSwitchQuoted("-n", "Cake")
.AppendSwitchQuoted("-d", "Cake (C# Make) is a cross platform build automation system.")
.AppendSwitchQuoted("-u", "http://cakebuild.net");
.AppendSwitchQuoted("-u", "https://cakebuild.net");
// Sign the binary.
var result = StartProcess("dotnet", new ProcessSettings { Arguments = arguments });
Expand Down
4 changes: 2 additions & 2 deletions build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ No tasks will be executed.
.PARAMETER ScriptArgs
Remaining arguments are added here.
.LINK
http://cakebuild.net
https://cakebuild.net
#>

[CmdletBinding()]
Expand All @@ -31,7 +31,7 @@ Param(
[string[]]$ScriptArgs
)

$CakeVersion = "0.21.0"
$CakeVersion = "0.21.1"
$DotNetChannel = "preview";
$DotNetVersion = "1.0.4";
$DotNetInstallerUri = "https://dot.net/v1/dotnet-install.ps1";
Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
TOOLS_DIR=$SCRIPT_DIR/tools
NUGET_EXE=$TOOLS_DIR/nuget.exe
NUGET_URL=https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
CAKE_VERSION=0.21.0
CAKE_VERSION=0.21.1
CAKE_EXE=$TOOLS_DIR/Cake.$CAKE_VERSION/Cake.exe

# Define default arguments.
Expand Down
Loading

0 comments on commit 6aa046e

Please sign in to comment.