From cd2b60192e56229d3e9ecf4e208f87cc4f177f6d Mon Sep 17 00:00:00 2001 From: "C. Augusto Proiete" Date: Sat, 13 Nov 2021 19:31:28 -0400 Subject: [PATCH] (#3693) Remove 'Core' suffix of some settings classes --- build.cake | 2 + .../Build/DotNetCoreBuilderFixture.cs | 3 +- .../DotNetCoreBuildServerFixture.cs | 3 +- .../Clean/DotNetCoreCleanerFixture.cs | 3 +- .../Tools/DotNetCore/DotNetCoreFixture.cs | 4 +- .../Build/DotNetCoreBuilderTests.cs | 4 +- .../BuildServer/DotNetCoreBuildServerTests.cs | 4 +- .../DotNetCore/Clean/DotNetCoreCleanTests.cs | 4 +- .../Execute/DotNetCoreExecutorTests.cs | 4 +- .../MSBuild/DotNetCoreMSBuildBuilderTests.cs | 29 +- .../Delete/DotNetCoreNuGetDeleterTests.cs | 4 +- .../NuGet/Push/DotNetCoreNuGetPusherTests.cs | 4 +- .../Source/DotNetCoreNuGetSourcerTests.cs | 28 +- .../DotNetCore/Pack/DotNetCorePackerTests.cs | 4 +- .../Publish/DotNetCorePublisherTests.cs | 4 +- .../Restore/DotNetCoreRestorerTests.cs | 4 +- .../DotNetCore/Run/DotNetCoreRunnerTests.cs | 19 +- .../DotNetCore/Test/DotNetCoreTesterTests.cs | 4 +- .../DotNetCore/Tool/DotNetCoreToolTests.cs | 4 +- .../VSTest/DotNetCoreVSTesterTests.cs | 4 +- .../Tools/DotNet/Build/DotNetBuildSettings.cs | 3 +- .../BuildServer/DotNetBuildServerSettings.cs | 3 +- .../Tools/DotNet/Clean/DotNetCleanSettings.cs | 3 +- src/Cake.Common/Tools/DotNet/DotNetAliases.cs | 4 +- .../Tools/DotNet/DotNetRollForward.cs | 16 +- .../Tools/DotNet/DotNetSettings.cs | 5 +- src/Cake.Common/Tools/DotNet/DotNetTool.cs | 2 +- .../Tools/DotNet/DotNetVerbosity.cs | 14 +- .../DotNet/Execute/DotNetExecuteSettings.cs | 3 +- .../DotNet/MSBuild/DotNetMSBuildSettings.cs | 3 +- .../NuGet/Delete/DotNetNuGetDeleteSettings.cs | 3 +- .../NuGet/Push/DotNetNuGetPushSettings.cs | 3 +- .../NuGet/Source/DotNetNuGetSourceSettings.cs | 3 +- .../Tools/DotNet/Pack/DotNetPackSettings.cs | 3 +- .../DotNet/Publish/DotNetPublishSettings.cs | 3 +- .../DotNet/Restore/DotNetRestoreSettings.cs | 3 +- .../Tools/DotNet/Run/DotNetRunSettings.cs | 3 +- .../Tools/DotNet/Test/DotNetTestSettings.cs | 3 +- .../Tools/DotNet/Tool/DotNetToolSettings.cs | 3 +- .../DotNet/VSTest/DotNetVSTestSettings.cs | 3 +- .../Tools/DotNetCore/DotNetCoreRollForward.cs | 280 +++++++++++++++++- .../DotNetCoreRollForwardConverter.cs | 46 +++ .../Tools/DotNetCore/DotNetCoreTool.cs | 2 +- .../Tools/DotNetCore/DotNetCoreVerbosity.cs | 277 ++++++++++++++++- .../DotNetCoreVerbosityConverter.cs | 46 +++ .../MSBuild/MSBuildLoggerSettings.cs | 4 +- .../DotNetCore/Tool/DotNetCoreToolRunner.cs | 3 +- .../Cake.Common/ArgumentAliases.cake | 22 ++ .../Tools/DotNet/DotNetAliases.cake | 2 +- .../Tools/DotNetCore/DotNetCoreAliases.cake | 2 +- 50 files changed, 772 insertions(+), 137 deletions(-) create mode 100644 src/Cake.Common/Tools/DotNetCore/DotNetCoreRollForwardConverter.cs create mode 100644 src/Cake.Common/Tools/DotNetCore/DotNetCoreVerbosityConverter.cs diff --git a/build.cake b/build.cake index fba0e0d50d..6aa278ea66 100644 --- a/build.cake +++ b/build.cake @@ -415,6 +415,8 @@ Task("Run-Integration-Tests") .AppendSwitchQuoted("--multipleargs", "=", "b") .AppendSwitchQuoted("--testAssemblyDirectoryPath", "=", cakeAssembly.GetDirectory().FullPath) .AppendSwitchQuoted("--testAssemblyFilePath", "=", cakeAssembly.FullPath) + .AppendSwitchQuoted("--testDotNetCoreVerbosity", "=", "Diagnostic") + .AppendSwitchQuoted("--testDotNetRollForward", "=", "LatestMajor") }); } catch(Exception ex) diff --git a/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/Build/DotNetCoreBuilderFixture.cs b/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/Build/DotNetCoreBuilderFixture.cs index 5371e0dac6..44b431f3c6 100644 --- a/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/Build/DotNetCoreBuilderFixture.cs +++ b/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/Build/DotNetCoreBuilderFixture.cs @@ -2,11 +2,12 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using Cake.Common.Tools.DotNet.Build; using Cake.Common.Tools.DotNetCore.Build; namespace Cake.Common.Tests.Fixtures.Tools.DotNetCore.Build { - internal sealed class DotNetCoreBuilderFixture : DotNetCoreFixture + internal sealed class DotNetCoreBuilderFixture : DotNetCoreFixture { public string Project { get; set; } diff --git a/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/BuildServer/DotNetCoreBuildServerFixture.cs b/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/BuildServer/DotNetCoreBuildServerFixture.cs index ad95e31829..c32030ee07 100644 --- a/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/BuildServer/DotNetCoreBuildServerFixture.cs +++ b/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/BuildServer/DotNetCoreBuildServerFixture.cs @@ -2,11 +2,12 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using Cake.Common.Tools.DotNet.BuildServer; using Cake.Common.Tools.DotNetCore.BuildServer; namespace Cake.Common.Tests.Fixtures.Tools.DotNetCore.Build { - internal sealed class DotNetCoreBuildServerFixture : DotNetCoreFixture + internal sealed class DotNetCoreBuildServerFixture : DotNetCoreFixture { protected override void RunTool() { diff --git a/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/Clean/DotNetCoreCleanerFixture.cs b/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/Clean/DotNetCoreCleanerFixture.cs index e8b1621727..3b6e3a25d7 100644 --- a/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/Clean/DotNetCoreCleanerFixture.cs +++ b/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/Clean/DotNetCoreCleanerFixture.cs @@ -2,11 +2,12 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using Cake.Common.Tools.DotNet.Clean; using Cake.Common.Tools.DotNetCore.Clean; namespace Cake.Common.Tests.Fixtures.Tools.DotNetCore.Clean { - internal sealed class DotNetCoreCleanerFixture : DotNetCoreFixture + internal sealed class DotNetCoreCleanerFixture : DotNetCoreFixture { public string Project { get; set; } diff --git a/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/DotNetCoreFixture.cs b/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/DotNetCoreFixture.cs index 4bb1c669d2..6f95302d4b 100644 --- a/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/DotNetCoreFixture.cs +++ b/src/Cake.Common.Tests/Fixtures/Tools/DotNetCore/DotNetCoreFixture.cs @@ -2,14 +2,14 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Cake.Common.Tools.DotNetCore; +using Cake.Common.Tools.DotNet; using Cake.Core.IO; using Cake.Testing.Fixtures; namespace Cake.Common.Tests.Fixtures.Tools.DotNetCore { internal abstract class DotNetCoreFixture : ToolFixture - where TSettings : DotNetCoreSettings, new() + where TSettings : DotNetSettings, new() { protected DotNetCoreFixture() : base("dotnet.exe") diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Build/DotNetCoreBuilderTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Build/DotNetCoreBuilderTests.cs index 0b37fbff90..d9abf8fe8f 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Build/DotNetCoreBuilderTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Build/DotNetCoreBuilderTests.cs @@ -57,7 +57,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -72,7 +72,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/BuildServer/DotNetCoreBuildServerTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/BuildServer/DotNetCoreBuildServerTests.cs index 63138e35a3..6bc2ade4da 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/BuildServer/DotNetCoreBuildServerTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/BuildServer/DotNetCoreBuildServerTests.cs @@ -40,7 +40,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -54,7 +54,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Clean/DotNetCoreCleanTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Clean/DotNetCoreCleanTests.cs index f03be343b3..b8f3da7fa1 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Clean/DotNetCoreCleanTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Clean/DotNetCoreCleanTests.cs @@ -58,7 +58,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -73,7 +73,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Execute/DotNetCoreExecutorTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Execute/DotNetCoreExecutorTests.cs index aec2d1395d..c557748f71 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Execute/DotNetCoreExecutorTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Execute/DotNetCoreExecutorTests.cs @@ -44,7 +44,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -61,7 +61,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/MSBuild/DotNetCoreMSBuildBuilderTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/MSBuild/DotNetCoreMSBuildBuilderTests.cs index 5028153685..870a0dfd0a 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/MSBuild/DotNetCoreMSBuildBuilderTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/MSBuild/DotNetCoreMSBuildBuilderTests.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using Cake.Common.Tests.Fixtures.Tools.DotNetCore.MSBuild; +using Cake.Common.Tools.DotNet; using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.MSBuild; using Cake.Common.Tools.MSBuild; @@ -64,7 +65,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -81,7 +82,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] @@ -1013,12 +1014,12 @@ public void Should_Append_DisableMultiprocessorLogging_If_Specified() } [Theory] - [InlineData(DotNetCoreVerbosity.Quiet)] - [InlineData(DotNetCoreVerbosity.Minimal)] - [InlineData(DotNetCoreVerbosity.Normal)] - [InlineData(DotNetCoreVerbosity.Detailed)] - [InlineData(DotNetCoreVerbosity.Diagnostic)] - public void Should_Append_Verbosity_If_Specified(DotNetCoreVerbosity verbosity) + [InlineData(DotNetVerbosity.Quiet)] + [InlineData(DotNetVerbosity.Minimal)] + [InlineData(DotNetVerbosity.Normal)] + [InlineData(DotNetVerbosity.Detailed)] + [InlineData(DotNetVerbosity.Diagnostic)] + public void Should_Append_Verbosity_If_Specified(DotNetVerbosity verbosity) { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); @@ -1270,12 +1271,12 @@ public void Should_Append_DisableMultiprocessorLogging_If_Specified() } [Theory] - [InlineData(DotNetCoreVerbosity.Quiet)] - [InlineData(DotNetCoreVerbosity.Minimal)] - [InlineData(DotNetCoreVerbosity.Normal)] - [InlineData(DotNetCoreVerbosity.Detailed)] - [InlineData(DotNetCoreVerbosity.Diagnostic)] - public void Should_Append_Verbosity_If_Specified(DotNetCoreVerbosity verbosity) + [InlineData(DotNetVerbosity.Quiet)] + [InlineData(DotNetVerbosity.Minimal)] + [InlineData(DotNetVerbosity.Normal)] + [InlineData(DotNetVerbosity.Detailed)] + [InlineData(DotNetVerbosity.Diagnostic)] + public void Should_Append_Verbosity_If_Specified(DotNetVerbosity verbosity) { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Delete/DotNetCoreNuGetDeleterTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Delete/DotNetCoreNuGetDeleterTests.cs index 62623d734f..b013f82e74 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Delete/DotNetCoreNuGetDeleterTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Delete/DotNetCoreNuGetDeleterTests.cs @@ -76,7 +76,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -90,7 +90,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Push/DotNetCoreNuGetPusherTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Push/DotNetCoreNuGetPusherTests.cs index 5ba3239f0a..2686e4b72f 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Push/DotNetCoreNuGetPusherTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Push/DotNetCoreNuGetPusherTests.cs @@ -58,7 +58,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -73,7 +73,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Source/DotNetCoreNuGetSourcerTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Source/DotNetCoreNuGetSourcerTests.cs index f799b52274..aee207d3f5 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Source/DotNetCoreNuGetSourcerTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/NuGet/Source/DotNetCoreNuGetSourcerTests.cs @@ -73,7 +73,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -88,7 +88,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] @@ -185,7 +185,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -199,7 +199,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] @@ -274,7 +274,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -288,7 +288,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] @@ -363,7 +363,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -377,7 +377,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] @@ -459,7 +459,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -473,7 +473,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] @@ -562,7 +562,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -576,7 +576,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] @@ -651,7 +651,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -665,7 +665,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Pack/DotNetCorePackerTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Pack/DotNetCorePackerTests.cs index 4f50198233..878886bbda 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Pack/DotNetCorePackerTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Pack/DotNetCorePackerTests.cs @@ -39,7 +39,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -53,7 +53,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Publish/DotNetCorePublisherTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Publish/DotNetCorePublisherTests.cs index 9fd34a5826..0752b251f1 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Publish/DotNetCorePublisherTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Publish/DotNetCorePublisherTests.cs @@ -39,7 +39,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -53,7 +53,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Restore/DotNetCoreRestorerTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Restore/DotNetCoreRestorerTests.cs index db3c8def41..fd6107a33e 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Restore/DotNetCoreRestorerTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Restore/DotNetCoreRestorerTests.cs @@ -41,7 +41,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -55,7 +55,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Run/DotNetCoreRunnerTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Run/DotNetCoreRunnerTests.cs index 7305805fa8..847c477ad7 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Run/DotNetCoreRunnerTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Run/DotNetCoreRunnerTests.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using Cake.Common.Tests.Fixtures.Tools.DotNetCore.Run; +using Cake.Common.Tools.DotNet; using Cake.Common.Tools.DotNetCore; using Cake.Testing; using Xunit; @@ -41,7 +42,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -56,7 +57,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] @@ -119,13 +120,13 @@ public void Should_Add_Host_Arguments() } [Theory] - [InlineData(DotNetCoreRollForward.Minor, "run --roll-forward Minor")] - [InlineData(DotNetCoreRollForward.LatestPatch, "run --roll-forward LatestPatch")] - [InlineData(DotNetCoreRollForward.Major, "run --roll-forward Major")] - [InlineData(DotNetCoreRollForward.LatestMinor, "run --roll-forward LatestMinor")] - [InlineData(DotNetCoreRollForward.LatestMajor, "run --roll-forward LatestMajor")] - [InlineData(DotNetCoreRollForward.Disable, "run --roll-forward Disable")] - public void Should_Add_RollForward_Arguments(DotNetCoreRollForward rollForward, string expected) + [InlineData(DotNetRollForward.Minor, "run --roll-forward Minor")] + [InlineData(DotNetRollForward.LatestPatch, "run --roll-forward LatestPatch")] + [InlineData(DotNetRollForward.Major, "run --roll-forward Major")] + [InlineData(DotNetRollForward.LatestMinor, "run --roll-forward LatestMinor")] + [InlineData(DotNetRollForward.LatestMajor, "run --roll-forward LatestMajor")] + [InlineData(DotNetRollForward.Disable, "run --roll-forward Disable")] + public void Should_Add_RollForward_Arguments(DotNetRollForward rollForward, string expected) { // Given var fixture = new DotNetCoreRunnerFixture(); diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Test/DotNetCoreTesterTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Test/DotNetCoreTesterTests.cs index 072e8169cc..eaed023794 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Test/DotNetCoreTesterTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Test/DotNetCoreTesterTests.cs @@ -41,7 +41,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -56,7 +56,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Tool/DotNetCoreToolTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Tool/DotNetCoreToolTests.cs index 2e2e1ffb49..d4126dcdc1 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Tool/DotNetCoreToolTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/Tool/DotNetCoreToolTests.cs @@ -77,7 +77,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -94,7 +94,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } } } diff --git a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/VSTest/DotNetCoreVSTesterTests.cs b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/VSTest/DotNetCoreVSTesterTests.cs index 190ba1e455..0d3295f796 100644 --- a/src/Cake.Common.Tests/Unit/Tools/DotNetCore/VSTest/DotNetCoreVSTesterTests.cs +++ b/src/Cake.Common.Tests/Unit/Tools/DotNetCore/VSTest/DotNetCoreVSTesterTests.cs @@ -44,7 +44,7 @@ public void Should_Throw_If_Process_Was_Not_Started() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); + AssertEx.IsCakeException(result, ".NET CLI: Process was not started."); } [Fact] @@ -58,7 +58,7 @@ public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() var result = Record.Exception(() => fixture.Run()); // Then - AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); + AssertEx.IsCakeException(result, ".NET CLI: Process returned an error (exit code 1)."); } [Fact] diff --git a/src/Cake.Common/Tools/DotNet/Build/DotNetBuildSettings.cs b/src/Cake.Common/Tools/DotNet/Build/DotNetBuildSettings.cs index c0ac1f834c..756dcfbbc5 100644 --- a/src/Cake.Common/Tools/DotNet/Build/DotNetBuildSettings.cs +++ b/src/Cake.Common/Tools/DotNet/Build/DotNetBuildSettings.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using Cake.Common.Tools.DotNet.MSBuild; -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.Build; using Cake.Core.IO; @@ -13,7 +12,7 @@ namespace Cake.Common.Tools.DotNet.Build /// /// Contains settings used by . /// - public class DotNetBuildSettings : DotNetCoreSettings + public class DotNetBuildSettings : DotNetSettings { /// /// Gets or sets the output directory. diff --git a/src/Cake.Common/Tools/DotNet/BuildServer/DotNetBuildServerSettings.cs b/src/Cake.Common/Tools/DotNet/BuildServer/DotNetBuildServerSettings.cs index 86eba8b9a5..8e70a96f0a 100644 --- a/src/Cake.Common/Tools/DotNet/BuildServer/DotNetBuildServerSettings.cs +++ b/src/Cake.Common/Tools/DotNet/BuildServer/DotNetBuildServerSettings.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.BuildServer; namespace Cake.Common.Tools.DotNet.BuildServer @@ -10,7 +9,7 @@ namespace Cake.Common.Tools.DotNet.BuildServer /// /// Contains settings used by . /// - public abstract class DotNetBuildServerSettings : DotNetCoreSettings + public abstract class DotNetBuildServerSettings : DotNetSettings { } } diff --git a/src/Cake.Common/Tools/DotNet/Clean/DotNetCleanSettings.cs b/src/Cake.Common/Tools/DotNet/Clean/DotNetCleanSettings.cs index 73457bd7d9..4c07f94bd6 100644 --- a/src/Cake.Common/Tools/DotNet/Clean/DotNetCleanSettings.cs +++ b/src/Cake.Common/Tools/DotNet/Clean/DotNetCleanSettings.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using Cake.Common.Tools.DotNet.MSBuild; -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.Clean; using Cake.Core.IO; @@ -12,7 +11,7 @@ namespace Cake.Common.Tools.DotNet.Clean /// /// Contains settings used by . /// - public class DotNetCleanSettings : DotNetCoreSettings + public class DotNetCleanSettings : DotNetSettings { /// /// Gets or sets the output directory. diff --git a/src/Cake.Common/Tools/DotNet/DotNetAliases.cs b/src/Cake.Common/Tools/DotNet/DotNetAliases.cs index bdaced494c..29b91eb793 100644 --- a/src/Cake.Common/Tools/DotNet/DotNetAliases.cs +++ b/src/Cake.Common/Tools/DotNet/DotNetAliases.cs @@ -42,9 +42,9 @@ namespace Cake.Common.Tools.DotNet { /// - /// Contains functionality related to .NET Core CLI. + /// Contains functionality related to .NET CLI. /// - /// In order to use the commands for this alias, the .Net Core CLI tools will need to be installed on the machine where + /// In order to use the commands for this alias, the .NET CLI tools will need to be installed on the machine where /// the Cake script is being executed. See this page for information /// on how to install. /// diff --git a/src/Cake.Common/Tools/DotNet/DotNetRollForward.cs b/src/Cake.Common/Tools/DotNet/DotNetRollForward.cs index 528966b633..66c03dc589 100644 --- a/src/Cake.Common/Tools/DotNet/DotNetRollForward.cs +++ b/src/Cake.Common/Tools/DotNet/DotNetRollForward.cs @@ -2,43 +2,41 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Cake.Common.Tools.DotNetCore; - namespace Cake.Common.Tools.DotNet { /// /// Contains the roll forward policy to be used. /// - public sealed class DotNetRollForward + public enum DotNetRollForward { /// /// Roll forward to the lowest higher minor version, if requested minor version is missing. /// - public const DotNetCoreRollForward Minor = DotNetCoreRollForward.Minor; + Minor, /// /// Roll forward to the highest patch version. This disables minor version roll forward. /// - public const DotNetCoreRollForward LatestPatch = DotNetCoreRollForward.LatestPatch; + LatestPatch, /// /// Roll forward to lowest higher major version, and lowest minor version, if requested major version is missing. /// - public const DotNetCoreRollForward Major = DotNetCoreRollForward.Major; + Major, /// /// Roll forward to highest minor version, even if requested minor version is present. /// - public const DotNetCoreRollForward LatestMinor = DotNetCoreRollForward.LatestMinor; + LatestMinor, /// /// Roll forward to highest major and highest minor version, even if requested major is present. /// - public const DotNetCoreRollForward LatestMajor = DotNetCoreRollForward.LatestMajor; + LatestMajor, /// /// Don't roll forward. Only bind to specified version. /// - public const DotNetCoreRollForward Disable = DotNetCoreRollForward.Disable; + Disable, } } diff --git a/src/Cake.Common/Tools/DotNet/DotNetSettings.cs b/src/Cake.Common/Tools/DotNet/DotNetSettings.cs index e7ffab853b..7ad53356f2 100644 --- a/src/Cake.Common/Tools/DotNet/DotNetSettings.cs +++ b/src/Cake.Common/Tools/DotNet/DotNetSettings.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Cake.Common.Tools.DotNetCore; using Cake.Core.Tooling; namespace Cake.Common.Tools.DotNet @@ -15,7 +14,7 @@ public abstract class DotNetSettings : ToolSettings /// /// Gets or sets the verbosity of logging to use. /// - public DotNetCoreVerbosity? Verbosity { get; set; } + public DotNetVerbosity? Verbosity { get; set; } /// /// Gets or sets a value indicating whether to not enable diagnostic output. @@ -25,6 +24,6 @@ public abstract class DotNetSettings : ToolSettings /// /// Gets or sets the dotnet roll forward policy. /// - public DotNetCoreRollForward? RollForward { get; set; } + public DotNetRollForward? RollForward { get; set; } } } diff --git a/src/Cake.Common/Tools/DotNet/DotNetTool.cs b/src/Cake.Common/Tools/DotNet/DotNetTool.cs index aacdf5b7f9..5d473e01f3 100644 --- a/src/Cake.Common/Tools/DotNet/DotNetTool.cs +++ b/src/Cake.Common/Tools/DotNet/DotNetTool.cs @@ -39,7 +39,7 @@ protected DotNetTool( /// The name of the tool. protected override string GetToolName() { - return ".NET Core CLI"; + return ".NET CLI"; } /// diff --git a/src/Cake.Common/Tools/DotNet/DotNetVerbosity.cs b/src/Cake.Common/Tools/DotNet/DotNetVerbosity.cs index f1c3d1d387..4445ccbf17 100644 --- a/src/Cake.Common/Tools/DotNet/DotNetVerbosity.cs +++ b/src/Cake.Common/Tools/DotNet/DotNetVerbosity.cs @@ -2,38 +2,36 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Cake.Common.Tools.DotNetCore; - namespace Cake.Common.Tools.DotNet { /// /// Contains the verbosity of logging to use. /// - public sealed class DotNetVerbosity + public enum DotNetVerbosity { /// /// Quiet level. /// - public const DotNetCoreVerbosity Quiet = DotNetCoreVerbosity.Quiet; + Quiet, /// /// Minimal level. /// - public const DotNetCoreVerbosity Minimal = DotNetCoreVerbosity.Minimal; + Minimal, /// /// Normal level. /// - public const DotNetCoreVerbosity Normal = DotNetCoreVerbosity.Normal; + Normal, /// /// Detailed level. /// - public const DotNetCoreVerbosity Detailed = DotNetCoreVerbosity.Detailed; + Detailed, /// /// Diagnostic level. /// - public const DotNetCoreVerbosity Diagnostic = DotNetCoreVerbosity.Diagnostic; + Diagnostic, } } diff --git a/src/Cake.Common/Tools/DotNet/Execute/DotNetExecuteSettings.cs b/src/Cake.Common/Tools/DotNet/Execute/DotNetExecuteSettings.cs index 613e43c9cc..5bda04ca2c 100644 --- a/src/Cake.Common/Tools/DotNet/Execute/DotNetExecuteSettings.cs +++ b/src/Cake.Common/Tools/DotNet/Execute/DotNetExecuteSettings.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.Execute; namespace Cake.Common.Tools.DotNet.Execute @@ -10,7 +9,7 @@ namespace Cake.Common.Tools.DotNet.Execute /// /// Contains settings used by . /// - public class DotNetExecuteSettings : DotNetCoreSettings + public class DotNetExecuteSettings : DotNetSettings { /// /// Gets or sets the version of the installed Shared Framework to use to run the application. diff --git a/src/Cake.Common/Tools/DotNet/MSBuild/DotNetMSBuildSettings.cs b/src/Cake.Common/Tools/DotNet/MSBuild/DotNetMSBuildSettings.cs index e5665ffee3..93f31ea2ae 100644 --- a/src/Cake.Common/Tools/DotNet/MSBuild/DotNetMSBuildSettings.cs +++ b/src/Cake.Common/Tools/DotNet/MSBuild/DotNetMSBuildSettings.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.MSBuild; using Cake.Common.Tools.MSBuild; using Cake.Core.IO; @@ -14,7 +13,7 @@ namespace Cake.Common.Tools.DotNet.MSBuild /// /// Contains settings used by . /// - public class DotNetMSBuildSettings : DotNetCoreSettings + public class DotNetMSBuildSettings : DotNetSettings { /// /// Gets or sets a value indicating whether to show detailed information at the end of the build log about the configurations that were built and how they were scheduled to nodes. diff --git a/src/Cake.Common/Tools/DotNet/NuGet/Delete/DotNetNuGetDeleteSettings.cs b/src/Cake.Common/Tools/DotNet/NuGet/Delete/DotNetNuGetDeleteSettings.cs index fb1c5eaf84..6635c04ba3 100644 --- a/src/Cake.Common/Tools/DotNet/NuGet/Delete/DotNetNuGetDeleteSettings.cs +++ b/src/Cake.Common/Tools/DotNet/NuGet/Delete/DotNetNuGetDeleteSettings.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.NuGet.Delete; namespace Cake.Common.Tools.DotNet.NuGet.Delete @@ -10,7 +9,7 @@ namespace Cake.Common.Tools.DotNet.NuGet.Delete /// /// Contains settings used by . /// - public class DotNetNuGetDeleteSettings : DotNetCoreSettings + public class DotNetNuGetDeleteSettings : DotNetSettings { /// /// Gets or sets a value indicating the server URL. diff --git a/src/Cake.Common/Tools/DotNet/NuGet/Push/DotNetNuGetPushSettings.cs b/src/Cake.Common/Tools/DotNet/NuGet/Push/DotNetNuGetPushSettings.cs index 0b0eac68b1..0a0c13a76b 100644 --- a/src/Cake.Common/Tools/DotNet/NuGet/Push/DotNetNuGetPushSettings.cs +++ b/src/Cake.Common/Tools/DotNet/NuGet/Push/DotNetNuGetPushSettings.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.NuGet.Push; namespace Cake.Common.Tools.DotNet.NuGet.Push @@ -10,7 +9,7 @@ namespace Cake.Common.Tools.DotNet.NuGet.Push /// /// Contains settings used by . /// - public class DotNetNuGetPushSettings : DotNetCoreSettings + public class DotNetNuGetPushSettings : DotNetSettings { /// /// Gets or sets a value indicating the server URL. diff --git a/src/Cake.Common/Tools/DotNet/NuGet/Source/DotNetNuGetSourceSettings.cs b/src/Cake.Common/Tools/DotNet/NuGet/Source/DotNetNuGetSourceSettings.cs index b272680964..4b48f7b486 100644 --- a/src/Cake.Common/Tools/DotNet/NuGet/Source/DotNetNuGetSourceSettings.cs +++ b/src/Cake.Common/Tools/DotNet/NuGet/Source/DotNetNuGetSourceSettings.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.NuGet.Source; using Cake.Core.IO; @@ -11,7 +10,7 @@ namespace Cake.Common.Tools.DotNet.NuGet.Source /// /// Contains settings used by . /// - public class DotNetNuGetSourceSettings : DotNetCoreSettings + public class DotNetNuGetSourceSettings : DotNetSettings { /// /// Gets or sets the path to the package(s) source. diff --git a/src/Cake.Common/Tools/DotNet/Pack/DotNetPackSettings.cs b/src/Cake.Common/Tools/DotNet/Pack/DotNetPackSettings.cs index 2ddb5402b6..2395fc5058 100644 --- a/src/Cake.Common/Tools/DotNet/Pack/DotNetPackSettings.cs +++ b/src/Cake.Common/Tools/DotNet/Pack/DotNetPackSettings.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using Cake.Common.Tools.DotNet.MSBuild; -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.Pack; using Cake.Core.IO; @@ -13,7 +12,7 @@ namespace Cake.Common.Tools.DotNet.Pack /// /// Contains settings used by . /// - public class DotNetPackSettings : DotNetCoreSettings + public class DotNetPackSettings : DotNetSettings { /// /// Gets or sets the output directory. diff --git a/src/Cake.Common/Tools/DotNet/Publish/DotNetPublishSettings.cs b/src/Cake.Common/Tools/DotNet/Publish/DotNetPublishSettings.cs index f5b1dcccfc..69de1172d3 100644 --- a/src/Cake.Common/Tools/DotNet/Publish/DotNetPublishSettings.cs +++ b/src/Cake.Common/Tools/DotNet/Publish/DotNetPublishSettings.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using Cake.Common.Tools.DotNet.MSBuild; -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.Publish; using Cake.Core.IO; @@ -13,7 +12,7 @@ namespace Cake.Common.Tools.DotNet.Publish /// /// Contains settings used by . /// - public class DotNetPublishSettings : DotNetCoreSettings + public class DotNetPublishSettings : DotNetSettings { /// /// Gets or sets the output directory. diff --git a/src/Cake.Common/Tools/DotNet/Restore/DotNetRestoreSettings.cs b/src/Cake.Common/Tools/DotNet/Restore/DotNetRestoreSettings.cs index 71cf541299..9e8c3d42ad 100644 --- a/src/Cake.Common/Tools/DotNet/Restore/DotNetRestoreSettings.cs +++ b/src/Cake.Common/Tools/DotNet/Restore/DotNetRestoreSettings.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using Cake.Common.Tools.DotNet.MSBuild; -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.Restore; using Cake.Core.IO; @@ -13,7 +12,7 @@ namespace Cake.Common.Tools.DotNet.Restore /// /// Contains settings used by . /// - public class DotNetRestoreSettings : DotNetCoreSettings + public class DotNetRestoreSettings : DotNetSettings { /// /// Gets or sets the specified NuGet package sources to use during the restore. diff --git a/src/Cake.Common/Tools/DotNet/Run/DotNetRunSettings.cs b/src/Cake.Common/Tools/DotNet/Run/DotNetRunSettings.cs index b8cfe95088..e45b775212 100644 --- a/src/Cake.Common/Tools/DotNet/Run/DotNetRunSettings.cs +++ b/src/Cake.Common/Tools/DotNet/Run/DotNetRunSettings.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.Run; namespace Cake.Common.Tools.DotNet.Run @@ -11,7 +10,7 @@ namespace Cake.Common.Tools.DotNet.Run /// /// Contains settings used by . /// - public class DotNetRunSettings : DotNetCoreSettings + public class DotNetRunSettings : DotNetSettings { /// /// Gets or sets a specific framework to compile. diff --git a/src/Cake.Common/Tools/DotNet/Test/DotNetTestSettings.cs b/src/Cake.Common/Tools/DotNet/Test/DotNetTestSettings.cs index d89ebd9b4f..8f35942673 100644 --- a/src/Cake.Common/Tools/DotNet/Test/DotNetTestSettings.cs +++ b/src/Cake.Common/Tools/DotNet/Test/DotNetTestSettings.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.Test; using Cake.Core.IO; @@ -13,7 +12,7 @@ namespace Cake.Common.Tools.DotNet.Test /// /// Contains settings used by . /// - public class DotNetTestSettings : DotNetCoreSettings + public class DotNetTestSettings : DotNetSettings { /// /// Gets or sets the settings file to use when running tests. diff --git a/src/Cake.Common/Tools/DotNet/Tool/DotNetToolSettings.cs b/src/Cake.Common/Tools/DotNet/Tool/DotNetToolSettings.cs index d3aa9ad9f7..202b50ca5d 100644 --- a/src/Cake.Common/Tools/DotNet/Tool/DotNetToolSettings.cs +++ b/src/Cake.Common/Tools/DotNet/Tool/DotNetToolSettings.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.Tool; namespace Cake.Common.Tools.DotNet.Tool @@ -10,7 +9,7 @@ namespace Cake.Common.Tools.DotNet.Tool /// /// Contains settings used by . /// - public class DotNetToolSettings : DotNetCoreSettings + public class DotNetToolSettings : DotNetSettings { } } diff --git a/src/Cake.Common/Tools/DotNet/VSTest/DotNetVSTestSettings.cs b/src/Cake.Common/Tools/DotNet/VSTest/DotNetVSTestSettings.cs index 38e4e63395..db69d98cc6 100644 --- a/src/Cake.Common/Tools/DotNet/VSTest/DotNetVSTestSettings.cs +++ b/src/Cake.Common/Tools/DotNet/VSTest/DotNetVSTestSettings.cs @@ -3,7 +3,6 @@ // See the LICENSE file in the project root for more information. using System.Collections.Generic; -using Cake.Common.Tools.DotNetCore; using Cake.Common.Tools.DotNetCore.VSTest; using Cake.Common.Tools.VSTest; using Cake.Core.IO; @@ -13,7 +12,7 @@ namespace Cake.Common.Tools.DotNet.VSTest /// /// Contains settings used by . /// - public class DotNetVSTestSettings : DotNetCoreSettings + public class DotNetVSTestSettings : DotNetSettings { /// /// Gets or sets the settings file to use when running tests. diff --git a/src/Cake.Common/Tools/DotNetCore/DotNetCoreRollForward.cs b/src/Cake.Common/Tools/DotNetCore/DotNetCoreRollForward.cs index f007c5f272..18945d69a6 100644 --- a/src/Cake.Common/Tools/DotNetCore/DotNetCoreRollForward.cs +++ b/src/Cake.Common/Tools/DotNetCore/DotNetCoreRollForward.cs @@ -2,41 +2,307 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; +using System.ComponentModel; +using Cake.Common.Tools.DotNet; + namespace Cake.Common.Tools.DotNetCore { /// /// Contains the roll forward policy to be used. /// - public enum DotNetCoreRollForward + [TypeConverter(typeof(DotNetCoreRollForwardConverter))] + public sealed class DotNetCoreRollForward : IEquatable, IComparable, IConvertible, IFormattable { + private readonly DotNetRollForward _value; + + /// + /// Initializes a new instance of the class. + /// + public DotNetCoreRollForward() + { + _value = default; + } + + internal DotNetCoreRollForward(string stringValue) + { + _value = (DotNetRollForward)Enum.Parse(typeof(DotNetRollForward), stringValue); + } + + private DotNetCoreRollForward(DotNetRollForward value) + { + _value = value; + } + /// /// Roll forward to the lowest higher minor version, if requested minor version is missing. /// - Minor, + public static readonly DotNetCoreRollForward Minor = new DotNetCoreRollForward(DotNetRollForward.Minor); /// /// Roll forward to the highest patch version. This disables minor version roll forward. /// - LatestPatch, + public static readonly DotNetCoreRollForward LatestPatch = new DotNetCoreRollForward(DotNetRollForward.LatestPatch); /// /// Roll forward to lowest higher major version, and lowest minor version, if requested major version is missing. /// - Major, + public static readonly DotNetCoreRollForward Major = new DotNetCoreRollForward(DotNetRollForward.Major); /// /// Roll forward to highest minor version, even if requested minor version is present. /// - LatestMinor, + public static readonly DotNetCoreRollForward LatestMinor = new DotNetCoreRollForward(DotNetRollForward.LatestMinor); /// /// Roll forward to highest major and highest minor version, even if requested major is present. /// - LatestMajor, + public static readonly DotNetCoreRollForward LatestMajor = new DotNetCoreRollForward(DotNetRollForward.LatestMajor); /// /// Don't roll forward. Only bind to specified version. /// - Disable, + public static readonly DotNetCoreRollForward Disable = new DotNetCoreRollForward(DotNetRollForward.Disable); + + /// + /// Explicitly converts to . + /// + /// The . + public static explicit operator int(DotNetCoreRollForward rollForward) + { + return (int)rollForward._value; + } + + /// + /// Implicitly converts to . + /// + /// The . + public static implicit operator DotNetRollForward(DotNetCoreRollForward rollForward) + { + return rollForward._value; + } + + /// + /// Implicitly converts to . + /// + /// The . + public static implicit operator DotNetCoreRollForward(DotNetRollForward rollForward) + { + return rollForward switch + { + DotNetRollForward.Minor => Minor, + DotNetRollForward.LatestPatch => LatestPatch, + DotNetRollForward.Major => Major, + DotNetRollForward.LatestMinor => LatestMinor, + DotNetRollForward.LatestMajor => LatestMajor, + DotNetRollForward.Disable => Disable, + _ => new DotNetCoreRollForward(rollForward), + }; + } + + /// + /// Determines whether the specified object is equal to the current object. + /// + /// The object to compare with the right-hand side object. + /// The object to compare with the left-hand side object. + /// if the specified object is equal to the current object; otherwise, . + public static bool operator ==(DotNetCoreRollForward left, DotNetCoreRollForward right) + { + return left.Equals(right); + } + + /// + /// Determines whether the specified object is not equal to the current object. + /// + /// The object to compare with the right-hand side object. + /// The object to compare with the left-hand side object. + /// if the specified object is not equal to the current object; otherwise, . + public static bool operator !=(DotNetCoreRollForward left, DotNetCoreRollForward right) + { + return !(left == right); + } + + /// + public override string ToString() + { + return _value.ToString(); + } + + /// + public override int GetHashCode() + { + return _value.GetHashCode(); + } + + /// + public override bool Equals(object obj) + { + if (obj is null) + { + return false; + } + + if (!(obj is DotNetCoreRollForward)) + { + return false; + } + + return Equals((DotNetCoreRollForward)obj); + } + + /// + public bool Equals(DotNetCoreRollForward other) + { + return _value.Equals(other._value); + } + + /// + /// Determines whether one or more bit fields are set in the current instance. + /// + /// An enumeration value. + /// + /// if the bit field or bit fields that are set in flag are also set in the + /// current instance; otherwise, . + /// + public bool HasFlag(DotNetCoreRollForward flag) + { + return _value.HasFlag(flag._value); + } + + /// + /// Determines whether one or more bit fields are set in the current instance. + /// + /// An enumeration value. + /// + /// if the bit field or bit fields that are set in flag are also set in the + /// current instance; otherwise, . + /// + public bool HasFlag(Enum flag) + { + return _value.HasFlag(flag); + } + + /// + public int CompareTo(object obj) + { + return _value.CompareTo(obj); + } + + /// + public TypeCode GetTypeCode() + { + return Convert.GetTypeCode(_value); + } + + /// + bool IConvertible.ToBoolean(IFormatProvider provider) + { + return Convert.ToBoolean(_value, provider); + } + + /// + byte IConvertible.ToByte(IFormatProvider provider) + { + return Convert.ToByte(_value, provider); + } + + /// + char IConvertible.ToChar(IFormatProvider provider) + { + return Convert.ToChar(_value, provider); + } + + /// + DateTime IConvertible.ToDateTime(IFormatProvider provider) + { + return Convert.ToDateTime(_value, provider); + } + + /// + decimal IConvertible.ToDecimal(IFormatProvider provider) + { + return Convert.ToDecimal(_value, provider); + } + + /// + double IConvertible.ToDouble(IFormatProvider provider) + { + return Convert.ToDouble(_value, provider); + } + + /// + short IConvertible.ToInt16(IFormatProvider provider) + { + return Convert.ToInt16(_value, provider); + } + + /// + int IConvertible.ToInt32(IFormatProvider provider) + { + return Convert.ToInt32(_value, provider); + } + + /// + long IConvertible.ToInt64(IFormatProvider provider) + { + return Convert.ToInt64(_value, provider); + } + + /// +#pragma warning disable CS3002 // Return type is not CLS-compliant + sbyte IConvertible.ToSByte(IFormatProvider provider) +#pragma warning restore CS3002 // Return type is not CLS-compliant + { + return Convert.ToSByte(_value, provider); + } + + /// + float IConvertible.ToSingle(IFormatProvider provider) + { + return Convert.ToSingle(_value, provider); + } + + /// + string IConvertible.ToString(IFormatProvider provider) + { + return Convert.ToString(_value, provider); + } + + /// + object IConvertible.ToType(Type conversionType, IFormatProvider provider) + { + return Convert.ChangeType(_value, conversionType, provider); + } + + /// +#pragma warning disable CS3002 // Return type is not CLS-compliant + ushort IConvertible.ToUInt16(IFormatProvider provider) +#pragma warning restore CS3002 // Return type is not CLS-compliant + { + return Convert.ToUInt16(_value, provider); + } + + /// +#pragma warning disable CS3002 // Return type is not CLS-compliant + uint IConvertible.ToUInt32(IFormatProvider provider) +#pragma warning restore CS3002 // Return type is not CLS-compliant + { + return Convert.ToUInt32(_value, provider); + } + + /// +#pragma warning disable CS3002 // Return type is not CLS-compliant + ulong IConvertible.ToUInt64(IFormatProvider provider) +#pragma warning restore CS3002 // Return type is not CLS-compliant + { + return Convert.ToUInt64(_value, provider); + } + + /// + [Obsolete("The provider argument is not used. Please use ToString(String).")] + public string ToString(string format, IFormatProvider formatProvider) + { + return _value.ToString(format, formatProvider); + } } } diff --git a/src/Cake.Common/Tools/DotNetCore/DotNetCoreRollForwardConverter.cs b/src/Cake.Common/Tools/DotNetCore/DotNetCoreRollForwardConverter.cs new file mode 100644 index 0000000000..9063195e46 --- /dev/null +++ b/src/Cake.Common/Tools/DotNetCore/DotNetCoreRollForwardConverter.cs @@ -0,0 +1,46 @@ +using System; +using System.ComponentModel; +using System.Globalization; + +namespace Cake.Common.Tools.DotNetCore +{ + /// + /// A type converter for . + /// + public class DotNetCoreRollForwardConverter : TypeConverter + { + /// + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) + { + return sourceType == typeof(string) || base.CanConvertFrom(context, sourceType); + } + + /// + public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) + { + if (value is string stringValue) + { + return new DotNetCoreRollForward(stringValue); + } + + return base.ConvertFrom(context, culture, value); + } + + /// + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) + { + return destinationType == typeof(DotNetCoreRollForward) || base.CanConvertTo(context, destinationType); + } + + /// + public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) + { + if (destinationType == typeof(string) && value is DotNetCoreRollForward dotNetRollForwardValue) + { + return dotNetRollForwardValue.ToString(); + } + + return base.ConvertTo(context, culture, value, destinationType); + } + } +} diff --git a/src/Cake.Common/Tools/DotNetCore/DotNetCoreTool.cs b/src/Cake.Common/Tools/DotNetCore/DotNetCoreTool.cs index c8c370ef3c..da15b30cbe 100644 --- a/src/Cake.Common/Tools/DotNetCore/DotNetCoreTool.cs +++ b/src/Cake.Common/Tools/DotNetCore/DotNetCoreTool.cs @@ -14,7 +14,7 @@ namespace Cake.Common.Tools.DotNetCore /// /// The settings type. public abstract class DotNetCoreTool : DotNetTool - where TSettings : DotNetCoreSettings + where TSettings : DotNetSettings { /// /// Initializes a new instance of the class. diff --git a/src/Cake.Common/Tools/DotNetCore/DotNetCoreVerbosity.cs b/src/Cake.Common/Tools/DotNetCore/DotNetCoreVerbosity.cs index c37c459e85..57b0ec9df3 100644 --- a/src/Cake.Common/Tools/DotNetCore/DotNetCoreVerbosity.cs +++ b/src/Cake.Common/Tools/DotNetCore/DotNetCoreVerbosity.cs @@ -2,36 +2,301 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System; +using System.ComponentModel; +using Cake.Common.Tools.DotNet; + namespace Cake.Common.Tools.DotNetCore { /// /// Contains the verbosity of logging to use. /// - public enum DotNetCoreVerbosity + [TypeConverter(typeof(DotNetCoreVerbosityConverter))] + public sealed class DotNetCoreVerbosity : IEquatable, IComparable, IConvertible, IFormattable { + private readonly DotNetVerbosity _value; + + /// + /// Initializes a new instance of the class. + /// + public DotNetCoreVerbosity() + { + _value = default; + } + + internal DotNetCoreVerbosity(string stringValue) + { + _value = (DotNetVerbosity)Enum.Parse(typeof(DotNetVerbosity), stringValue); + } + + private DotNetCoreVerbosity(DotNetVerbosity value) + { + _value = value; + } + /// /// Quiet level. /// - Quiet, + public static readonly DotNetCoreVerbosity Quiet = new DotNetCoreVerbosity(DotNetVerbosity.Quiet); /// /// Minimal level. /// - Minimal, + public static readonly DotNetCoreVerbosity Minimal = new DotNetCoreVerbosity(DotNetVerbosity.Minimal); /// /// Normal level. /// - Normal, + public static readonly DotNetCoreVerbosity Normal = new DotNetCoreVerbosity(DotNetVerbosity.Normal); /// /// Detailed level. /// - Detailed, + public static readonly DotNetCoreVerbosity Detailed = new DotNetCoreVerbosity(DotNetVerbosity.Detailed); /// /// Diagnostic level. /// - Diagnostic + public static readonly DotNetCoreVerbosity Diagnostic = new DotNetCoreVerbosity(DotNetVerbosity.Diagnostic); + + /// + /// Explicitly converts to . + /// + /// The . + public static explicit operator int(DotNetCoreVerbosity verbosity) + { + return (int)verbosity._value; + } + + /// + /// Implicitly converts to . + /// + /// The . + public static implicit operator DotNetVerbosity(DotNetCoreVerbosity verbosity) + { + return verbosity._value; + } + + /// + /// Implicitly converts to . + /// + /// The . + public static implicit operator DotNetCoreVerbosity(DotNetVerbosity verbosity) + { + return verbosity switch + { + DotNetVerbosity.Quiet => Quiet, + DotNetVerbosity.Minimal => Minimal, + DotNetVerbosity.Normal => Normal, + DotNetVerbosity.Detailed => Detailed, + DotNetVerbosity.Diagnostic => Diagnostic, + _ => new DotNetCoreVerbosity(verbosity), + }; + } + + /// + /// Determines whether the specified object is equal to the current object. + /// + /// The object to compare with the right-hand side object. + /// The object to compare with the left-hand side object. + /// if the specified object is equal to the current object; otherwise, . + public static bool operator ==(DotNetCoreVerbosity left, DotNetCoreVerbosity right) + { + return left.Equals(right); + } + + /// + /// Determines whether the specified object is not equal to the current object. + /// + /// The object to compare with the right-hand side object. + /// The object to compare with the left-hand side object. + /// if the specified object is not equal to the current object; otherwise, . + public static bool operator !=(DotNetCoreVerbosity left, DotNetCoreVerbosity right) + { + return !(left == right); + } + + /// + public override string ToString() + { + return _value.ToString(); + } + + /// + public override int GetHashCode() + { + return _value.GetHashCode(); + } + + /// + public override bool Equals(object obj) + { + if (obj is null) + { + return false; + } + + if (!(obj is DotNetCoreVerbosity)) + { + return false; + } + + return Equals((DotNetCoreVerbosity)obj); + } + + /// + public bool Equals(DotNetCoreVerbosity other) + { + return _value.Equals(other._value); + } + + /// + /// Determines whether one or more bit fields are set in the current instance. + /// + /// An enumeration value. + /// + /// if the bit field or bit fields that are set in flag are also set in the + /// current instance; otherwise, . + /// + public bool HasFlag(DotNetCoreVerbosity flag) + { + return _value.HasFlag(flag._value); + } + + /// + /// Determines whether one or more bit fields are set in the current instance. + /// + /// An enumeration value. + /// + /// if the bit field or bit fields that are set in flag are also set in the + /// current instance; otherwise, . + /// + public bool HasFlag(Enum flag) + { + return _value.HasFlag(flag); + } + + /// + public int CompareTo(object obj) + { + return _value.CompareTo(obj); + } + + /// + public TypeCode GetTypeCode() + { + return Convert.GetTypeCode(_value); + } + + /// + bool IConvertible.ToBoolean(IFormatProvider provider) + { + return Convert.ToBoolean(_value, provider); + } + + /// + byte IConvertible.ToByte(IFormatProvider provider) + { + return Convert.ToByte(_value, provider); + } + + /// + char IConvertible.ToChar(IFormatProvider provider) + { + return Convert.ToChar(_value, provider); + } + + /// + DateTime IConvertible.ToDateTime(IFormatProvider provider) + { + return Convert.ToDateTime(_value, provider); + } + + /// + decimal IConvertible.ToDecimal(IFormatProvider provider) + { + return Convert.ToDecimal(_value, provider); + } + + /// + double IConvertible.ToDouble(IFormatProvider provider) + { + return Convert.ToDouble(_value, provider); + } + + /// + short IConvertible.ToInt16(IFormatProvider provider) + { + return Convert.ToInt16(_value, provider); + } + + /// + int IConvertible.ToInt32(IFormatProvider provider) + { + return Convert.ToInt32(_value, provider); + } + + /// + long IConvertible.ToInt64(IFormatProvider provider) + { + return Convert.ToInt64(_value, provider); + } + + /// +#pragma warning disable CS3002 // Return type is not CLS-compliant + sbyte IConvertible.ToSByte(IFormatProvider provider) +#pragma warning restore CS3002 // Return type is not CLS-compliant + { + return Convert.ToSByte(_value, provider); + } + + /// + float IConvertible.ToSingle(IFormatProvider provider) + { + return Convert.ToSingle(_value, provider); + } + + /// + string IConvertible.ToString(IFormatProvider provider) + { + return Convert.ToString(_value, provider); + } + + /// + object IConvertible.ToType(Type conversionType, IFormatProvider provider) + { + return Convert.ChangeType(_value, conversionType, provider); + } + + /// +#pragma warning disable CS3002 // Return type is not CLS-compliant + ushort IConvertible.ToUInt16(IFormatProvider provider) +#pragma warning restore CS3002 // Return type is not CLS-compliant + { + return Convert.ToUInt16(_value, provider); + } + + /// +#pragma warning disable CS3002 // Return type is not CLS-compliant + uint IConvertible.ToUInt32(IFormatProvider provider) +#pragma warning restore CS3002 // Return type is not CLS-compliant + { + return Convert.ToUInt32(_value, provider); + } + + /// +#pragma warning disable CS3002 // Return type is not CLS-compliant + ulong IConvertible.ToUInt64(IFormatProvider provider) +#pragma warning restore CS3002 // Return type is not CLS-compliant + { + return Convert.ToUInt64(_value, provider); + } + + /// + [Obsolete("The provider argument is not used. Please use ToString(String).")] + public string ToString(string format, IFormatProvider formatProvider) + { + return _value.ToString(format, formatProvider); + } } } diff --git a/src/Cake.Common/Tools/DotNetCore/DotNetCoreVerbosityConverter.cs b/src/Cake.Common/Tools/DotNetCore/DotNetCoreVerbosityConverter.cs new file mode 100644 index 0000000000..c3b3793de1 --- /dev/null +++ b/src/Cake.Common/Tools/DotNetCore/DotNetCoreVerbosityConverter.cs @@ -0,0 +1,46 @@ +using System; +using System.ComponentModel; +using System.Globalization; + +namespace Cake.Common.Tools.DotNetCore +{ + /// + /// A type converter for . + /// + public class DotNetCoreVerbosityConverter : TypeConverter + { + /// + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) + { + return sourceType == typeof(string) || base.CanConvertFrom(context, sourceType); + } + + /// + public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) + { + if (value is string stringValue) + { + return new DotNetCoreVerbosity(stringValue); + } + + return base.ConvertFrom(context, culture, value); + } + + /// + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) + { + return destinationType == typeof(DotNetCoreVerbosity) || base.CanConvertTo(context, destinationType); + } + + /// + public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) + { + if (destinationType == typeof(string) && value is DotNetCoreVerbosity dotNetVerbosityValue) + { + return dotNetVerbosityValue.ToString(); + } + + return base.ConvertTo(context, culture, value, destinationType); + } + } +} diff --git a/src/Cake.Common/Tools/DotNetCore/MSBuild/MSBuildLoggerSettings.cs b/src/Cake.Common/Tools/DotNetCore/MSBuild/MSBuildLoggerSettings.cs index 3594fcc4a5..c63abb49e2 100644 --- a/src/Cake.Common/Tools/DotNetCore/MSBuild/MSBuildLoggerSettings.cs +++ b/src/Cake.Common/Tools/DotNetCore/MSBuild/MSBuildLoggerSettings.cs @@ -2,6 +2,8 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using Cake.Common.Tools.DotNet; + namespace Cake.Common.Tools.DotNetCore.MSBuild { /// @@ -63,6 +65,6 @@ public class MSBuildLoggerSettings /// /// Gets or sets a value that overrides the /verbosity setting for this logger. /// - public DotNetCoreVerbosity? Verbosity { get; set; } + public DotNetVerbosity? Verbosity { get; set; } } } \ No newline at end of file diff --git a/src/Cake.Common/Tools/DotNetCore/Tool/DotNetCoreToolRunner.cs b/src/Cake.Common/Tools/DotNetCore/Tool/DotNetCoreToolRunner.cs index 84ee744d53..caa8eb5acd 100644 --- a/src/Cake.Common/Tools/DotNetCore/Tool/DotNetCoreToolRunner.cs +++ b/src/Cake.Common/Tools/DotNetCore/Tool/DotNetCoreToolRunner.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using Cake.Common.Tools.DotNet; using Cake.Common.Tools.DotNet.Tool; using Cake.Core; using Cake.Core.IO; @@ -13,7 +14,7 @@ namespace Cake.Common.Tools.DotNetCore.Tool /// /// .NET Core Extensibility Commands Runner. /// - public sealed class DotNetCoreToolRunner : DotNetCoreTool + public sealed class DotNetCoreToolRunner : DotNetCoreTool { private readonly ICakeEnvironment _environment; diff --git a/tests/integration/Cake.Common/ArgumentAliases.cake b/tests/integration/Cake.Common/ArgumentAliases.cake index 5b5a2ce83a..3a9b78d2c4 100644 --- a/tests/integration/Cake.Common/ArgumentAliases.cake +++ b/tests/integration/Cake.Common/ArgumentAliases.cake @@ -79,6 +79,26 @@ Task("Cake.Common.ArgumentAliases.Argument.FilePathArgument") Assert.Equal(testAssemblyPath.FullPath, arg.FullPath); }); +Task("Cake.Common.ArgumentAliases.Argument.DotNetCoreVerbosityArgument") + .Does(() => +{ + // Given, When + var arg = Argument("testDotNetCoreVerbosity"); + + // Then + Assert.Equal(DotNetCoreVerbosity.Diagnostic, arg); +}); + +Task("Cake.Common.ArgumentAliases.Argument.DotNetCoreRollForwardArgument") + .Does(() => +{ + // Given, When + var arg = Argument("testDotNetRollForward"); + + // Then + Assert.Equal(DotNetCoreRollForward.LatestMajor, arg); +}); + ////////////////////////////////////////////////////////////////////////////// Task("Cake.Common.ArgumentAliases") @@ -89,4 +109,6 @@ Task("Cake.Common.ArgumentAliases") .IsDependentOn("Cake.Common.ArgumentAliases.Argument.MultipleArguments") .IsDependentOn("Cake.Common.ArgumentAliases.Argument.DirectoryPathArgument") .IsDependentOn("Cake.Common.ArgumentAliases.Argument.FilePathArgument") + .IsDependentOn("Cake.Common.ArgumentAliases.Argument.DotNetCoreVerbosityArgument") + .IsDependentOn("Cake.Common.ArgumentAliases.Argument.DotNetCoreRollForwardArgument") ; diff --git a/tests/integration/Cake.Common/Tools/DotNet/DotNetAliases.cake b/tests/integration/Cake.Common/Tools/DotNet/DotNetAliases.cake index 9a3cac5b64..1db1ed92d3 100644 --- a/tests/integration/Cake.Common/Tools/DotNet/DotNetAliases.cake +++ b/tests/integration/Cake.Common/Tools/DotNet/DotNetAliases.cake @@ -239,7 +239,7 @@ Task("Cake.Common.Tools.DotNet.DotNetAliases.DotNetTest.Fail") // Then Assert.NotNull(exception); Assert.IsType(exception); - Assert.Equal(exception.Message, ".NET Core CLI: Process returned an error (exit code 1)."); + Assert.Equal(exception.Message, ".NET CLI: Process returned an error (exit code 1)."); }); diff --git a/tests/integration/Cake.Common/Tools/DotNetCore/DotNetCoreAliases.cake b/tests/integration/Cake.Common/Tools/DotNetCore/DotNetCoreAliases.cake index 434b77c3d7..10b3094451 100644 --- a/tests/integration/Cake.Common/Tools/DotNetCore/DotNetCoreAliases.cake +++ b/tests/integration/Cake.Common/Tools/DotNetCore/DotNetCoreAliases.cake @@ -239,7 +239,7 @@ Task("Cake.Common.Tools.DotNetCore.DotNetCoreAliases.DotNetCoreTest.Fail") // Then Assert.NotNull(exception); Assert.IsType(exception); - Assert.Equal(exception.Message, ".NET Core CLI: Process returned an error (exit code 1)."); + Assert.Equal(exception.Message, ".NET CLI: Process returned an error (exit code 1)."); });