Skip to content

Commit

Permalink
Merge branch 'release/1.0.0' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
devlead committed Feb 7, 2021
2 parents 69ac153 + 5728715 commit d56f42c
Show file tree
Hide file tree
Showing 19 changed files with 135 additions and 18 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Make sure you've read the [contribution guidelines](https://cakebuild.net/docs/c

## License

Copyright © .NET Foundation, Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors.
Copyright © .NET Foundation, Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors.

Cake is provided as-is under the MIT license. For more information see [LICENSE](https://github.com/cake-build/cake/blob/develop/LICENSE).

Expand Down
69 changes: 69 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,72 @@
### New in 1.0.0 (Released 2021/02/07)

* 3050 Frosting: Rename CakeHost extension from UseTool to InstallTool.
* 2930 Increase potential breaking change property.
* 2333 RFC-0001: Rewrite Cake CLI.
* 2292 Remove obsolete methods and properties.
* 3020 Migrate to Spectre.Console.
* 2933 Enable NuGet provider in Frosting.
* 2874 Merge frosting into main Cake repo.
* 2883 (Frosting) Add support for .NET 5.
* 2857 Add support for .NET 5.
* 2776 Checklist for 1.0.
* 2755 Add DirectoryHashCalculator.
* 2199 Add GlobPattern class.
* 741 Add IsRunningOnMacOs() alias.
* 3083 Update --tree usage example to match option in the help info.
* 3069 Don't promote UseWorkingDirectory in Frosting default template.
* 3029 Add ICakeArguments.GetArgument extension.
* 3018 Cake displays raw ANSI output after running specific executables.
* 3009 Make Cake Core CakeDataService Public.
* 2913 Add overload for DotNetCoreRun.
* 2908 Future proof .NET [Core] detection.
* 2897 Add tests for MyGetProvider.
* 2895 Custom contexts should inherit from CakeContextAdapter.
* 2877 Add NuGet's Icon setting to NuGetPackSettings.
* 2870 Add helpers for adding multiple strings to ProcessArgumentBuilder.
* 2866 Support multiple dotnet test options.
* 2847 Add new GitHub Actions URL environment variables.
* 2844 Add missing dotnet test options.
* 2839 Add support for PublishReadyToRunShowWarnings property in DotNetCorePublish.
* 2838 Add MakeRelative alias to DirectoryPath and FilePath.
* 2833 Implicit bootstrapping of modules.
* 2831 ParseAssemblyInfo does not detect lines with extra spaces.
* 2886 (Frosting) Support all commands that Cake does.
* 2825 Add option to ignore tool exit code.
* 2822 Add support of ReportGenerator global tool.
* 2820 Add DebuggerStepThroughAttribute to generated code.
* 2817 Bump dependencies.
* 2801 Inconsistent NuGet file name case.
* 2792 Add dotnet nologo options.
* 2743 Tool resolution for multiple names should be breadth first.
* 2703 OpenCover is missing hideskipped setting.
* 2623 DotNetCoreTestSettings Can Have Multiple Logger's.
* 2595 Misleading output message when trying to install prerelease package with the in-process nuget installer.
* 2892 (Frosting) Add ANSI console.
* 2893 (Frosting) Align command line parsing with Cake.
* 2962 Document breaking changes in 1.0 CLI.
* 2925 Fix sentences which end with double full stop.
* 2918 Incorrect link for ReSharper's Open Source webpage in Cake readme.
* 2894 Remove unnecessary documentation and replace it with .
* 2879 Update links pointing to cakebuild.net to new URL structure.
* 2836 Update README with more up-to-date "getting started" information.
* 2811 Identity of BuildProblem in TeamCityProvider should be optional.
* 1690 Casing causes 'More than one build script specified.' message.
* 3077 Regression: rc0003 outputs extra characters on OSX.
* 3072 Attribute [IsDependeeOf] doesn't work.
* 3038 Tool resolving in Frosting tasks.
* 3032 Frosting project fails on Linux.
* 3007 Different arguments between script runner and Frosting.
* 2963 EndOfStreamException thrown when using loaddependencies=true.
* 2961 Update dotnet cake usage instructions (dotnet cake --help).
* 2956 Wrong Cake version in build.config.
* 2911 C* syntax errors in exceptions causes Specre.CLI internal error.
* 2861 Fix error output in 1.0 preview.
* 2853 Custom argument names are not case insensitive in 1.0 preview.
* 2887 (Frosting) Fix line endings in build.sh within template package.
* 2734 Can't resolve resource assemblies.
* 2066 cake.coreclr help information error.

### New in 1.0.0-rc0003 (Released 2021/01/29)

* 3029 Add ICakeArguments.GetArgument extension
Expand Down
2 changes: 1 addition & 1 deletion build.config
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/usr/bin/env bash
CAKE_VERSION=1.0.0-rc0002
CAKE_VERSION=1.0.0-rc0003
DOTNET_VERSION=5.0.101
6 changes: 3 additions & 3 deletions build/version.cake
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public class BuildVersion

version = context.EnvironmentVariable("GitVersion_MajorMinorPatch");
semVersion = context.EnvironmentVariable("GitVersion_LegacySemVerPadded");
milestone = string.Concat("v", semVersion);
milestone = string.Concat("v", version);
}

GitVersion assertedVersions = context.GitVersion(new GitVersionSettings
Expand All @@ -57,7 +57,7 @@ public class BuildVersion

version = assertedVersions.MajorMinorPatch;
semVersion = assertedVersions.LegacySemVerPadded;
milestone = string.Concat("v", semVersion);
milestone = string.Concat("v", version);

context.Information("Calculated Semantic Version: {0} (Version: {1}, Milestone: {2})", semVersion, version, milestone);
}
Expand All @@ -67,7 +67,7 @@ public class BuildVersion
context.Information("Fetching version from first SolutionInfo...");
version = ReadSolutionInfoVersion(context);
semVersion = version;
milestone = string.Concat("v", semVersion);
milestone = string.Concat("v", version);

context.Information("Fetched Semantic Version: {0} (Version: {1}, Milestone: {2})", semVersion, version, milestone);
}
Expand Down
2 changes: 1 addition & 1 deletion nuspec/Cake.CoreCLR.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<id>Cake.CoreCLR</id>
<version>0.0.0</version>
<authors>Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors</authors>
<authors>Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors</authors>
<description>The Cake script runner.</description>
<summary>Cake (C# Make) is a build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.</summary>
<license type="expression">MIT</license>
Expand Down
2 changes: 1 addition & 1 deletion nuspec/Cake.Portable.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<id>cake.portable</id>
<title>Cake.Portable</title>
<version>0.0.0</version>
<authors>Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors</authors>
<authors>Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors</authors>
<summary>Cake (C# Make) is a build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.</summary>
<description>The Cake script runner.</description>
<projectUrl>https://cakebuild.net/</projectUrl>
Expand Down
2 changes: 1 addition & 1 deletion nuspec/Cake.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<id>Cake</id>
<version>0.0.0</version>
<authors>Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors</authors>
<authors>Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors</authors>
<description>The Cake script runner.</description>
<summary>Cake (C# Make) is a build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.</summary>
<license type="expression">MIT</license>
Expand Down
2 changes: 1 addition & 1 deletion src/Cake.Cli/Cake.Cli.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@

<ItemGroup>
<PackageReference Include="Autofac" Version="6.1.0" />
<PackageReference Include="Spectre.Console" Version="0.37.0" />
<PackageReference Include="Spectre.Console" Version="0.36.0" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,8 @@ public void Should_Read_Configuration(string value, string expected, bool extraW
}

[Theory]
[InlineData("Copyright (c) Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors", "Copyright (c) Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors", true)]
[InlineData("Copyright (c) Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors", "Copyright (c) Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors", false)]
[InlineData("Copyright (c) Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors", "Copyright (c) Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors", true)]
[InlineData("Copyright (c) Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors", "Copyright (c) Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors", false)]
[InlineData(null, "", true)]
[InlineData(null, "", false)]
public void Should_Read_Copyright(string value, string expected, bool extraWhiteSpaces)
Expand Down
10 changes: 10 additions & 0 deletions src/Cake.Frosting.Example/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@ public override void Run(BuildContext context)
}
}

[TaskName("Dependee")]
[IsDependeeOf(typeof(WorldTask))]
public sealed class DependeeTask : FrostingTask<BuildContext>
{
public override void Run(BuildContext context)
{
context.Log.Information("Dependee of World");
}
}

[TaskName("World")]
[IsDependentOn(typeof(HelloTask))]
public sealed class WorldTask : AsyncFrostingTask<BuildContext>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"author": "Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors",
"author": "Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors",
"classifications": [ "Cake", "Frosting" ],
"name": "Cake Frosting Build Script",
"identity": "Cake.Frosting",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ public static int Main(string[] args)
{
return new CakeHost()
.UseContext<BuildContext>()
.UseWorkingDirectory("..")
.Run(args);
}
}
Expand Down
20 changes: 20 additions & 0 deletions src/Cake.Frosting.Tests/CakeHostTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,26 @@ public void Should_Abort_Build_If_Task_That_Is_Not_ContinueOnError_Throws()
Assert.NotEqual(0, result);
}

[Fact]
public void Should_Execute_Dependee_Task()
{
// Given
var fixture = new CakeHostFixture();
fixture.RegisterTask<CleanTask>();
fixture.RegisterTask<DependeeTask>();
fixture.Strategy = Substitute.For<IExecutionStrategy>();

// When
fixture.Run("--target", nameof(CleanTask));

// Then
Received.InOrder(() =>
{
fixture.Strategy.ExecuteAsync(Arg.Is<CakeTask>(t => t.Name == nameof(DependeeTask)), Arg.Any<ICakeContext>());
fixture.Strategy.ExecuteAsync(Arg.Is<CakeTask>(t => t.Name == nameof(CleanTask)), Arg.Any<ICakeContext>());
});
}

[Fact]
public void Should_Execute_Tasks_In_Correct_Order()
{
Expand Down
9 changes: 9 additions & 0 deletions src/Cake.Frosting.Tests/Tasks/DependeeTask.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using Cake.Core;

namespace Cake.Frosting.Tests
{
[IsDependeeOf(typeof(CleanTask))]
public sealed class DependeeTask : FrostingTask<ICakeContext>
{
}
}
10 changes: 10 additions & 0 deletions src/Cake.Frosting/Internal/Extensions/TaskNameHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,15 @@ public static string GetTaskName(this ITaskDependency dependency)

return dependency.Task.GetTaskName();
}

public static string GetTaskName(this IReverseTaskDependency dependency)
{
if (dependency is null)
{
throw new ArgumentNullException(nameof(dependency));
}

return dependency.Task.GetTaskName();
}
}
}
2 changes: 1 addition & 1 deletion src/Cake.Frosting/Internal/FrostingEngine.cs
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ private void ConfigureTasks()
// Add reverse dependencies
foreach (var dependee in task.GetReverseDependencies())
{
var dependeeName = dependee.GetType().GetTaskName();
var dependeeName = dependee.GetTaskName();
if (!typeof(IFrostingTask).IsAssignableFrom(dependee.Task))
{
throw new FrostingException($"The reverse dependency '{dependeeName}' is not a valid task.");
Expand Down
2 changes: 1 addition & 1 deletion src/Cake/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public async Task<int> Run(string[] args)
// Top level examples.
config.AddExample(new[] { string.Empty });
config.AddExample(new[] { "build.cake", "--verbosity", "quiet" });
config.AddExample(new[] { "build.cake", "--showtree" });
config.AddExample(new[] { "build.cake", "--tree" });
});

return await app.RunAsync(args);
Expand Down
4 changes: 2 additions & 2 deletions src/Shared.msbuild
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<PropertyGroup>
<PackageId>$(AssemblyName)</PackageId>
<Copyright>Copyright (c) .NET Foundation and contributors</Copyright>
<Authors>Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors</Authors>
<Company>Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio and contributors</Company>
<Authors>Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors</Authors>
<Company>Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, Jérémie Desautels, Enrico Campidoglio, C. Augusto Proiete, Nils Andresen, and contributors</Company>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageIcon>cake-medium.png</PackageIcon>
<RepositoryUrl>https://github.com/cake-build/cake</RepositoryUrl>
Expand Down
2 changes: 1 addition & 1 deletion src/SolutionInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
[assembly: AssemblyProduct("Cake")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0-rc.3+Branch.release-1.0.0-rc0003.Sha.9570b86b99d4f612c5e85550fbde2d27abb783ee")]
[assembly: AssemblyInformationalVersion("1.0.0-beta.1+64.Branch.release-1.0.0.Sha.e3e497a4e63e25376a453435da9673352d674b2a")]
[assembly: AssemblyCopyright("Copyright (c) .NET Foundation and Contributors")]

0 comments on commit d56f42c

Please sign in to comment.