diff --git a/.appveyor.yml b/.appveyor.yml
index d6d8f8ff..da39386b 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -13,6 +13,7 @@ install:
- ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 5.0.408 -InstallDir $env:DOTNET_INSTALL_DIR'
- ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 6.0.411 -InstallDir $env:DOTNET_INSTALL_DIR'
- ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 7.0.305 -InstallDir $env:DOTNET_INSTALL_DIR'
+ - ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 8.0.100 -InstallDir $env:DOTNET_INSTALL_DIR'
- ps: $env:Path = "$env:DOTNET_INSTALL_DIR;$env:Path"
- ps: dotnet --info
- ps: Install-Product node 14
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9c44de0d..bf5c6485 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -7,22 +7,23 @@ jobs:
runs-on: windows-2022
steps:
- name: Get the sources
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: Fetch all tags and branches
run: git fetch --prune --unshallow
- name: Install .NET
- uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3
+ uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4
with:
# .NET 5 required for GitVersion
dotnet-version: |
5.x
6.x
7.x
+ 8.x
- name: Build
run: .\build.ps1
shell: powershell
- name: Publish NuGet package as build artifact
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3
+ uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4
with:
name: NuGet Package
path: ./BuildArtifacts/Packages/NuGet/
@@ -33,17 +34,17 @@ jobs:
runs-on: windows-2019
steps:
- name: Get the sources
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: Install required tools
run: npm install -g markdownlint-cli
shell: powershell
- name: Download build artifact
- uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3
+ uses: actions/download-artifact@7a1cd3216ca9260cd8022db641d960b1db4d1be4 # v4
with:
name: NuGet Package
path: ./BuildArtifacts/Packages/NuGet
- name: Install .NET
- uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3
+ uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4
with:
dotnet-version: |
6.x
@@ -52,7 +53,7 @@ jobs:
working-directory: ./tests/script-runner/
shell: powershell
- name: Publish generated reports as build artifact
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3
+ uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4
with:
name: Integration Tests Script Runner Windows (.NET Core tool)
path: ./tests/script-runner/BuildArtifacts/output/
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/AppVeyorBuildServer.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/AppVeyorBuildServer.cs
index 7ebe97f1..28aa86d4 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/AppVeyorBuildServer.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/AppVeyorBuildServer.cs
@@ -1,17 +1,17 @@
-using Cake.Common.Build;
-using Cake.Common.IO;
-using Cake.Core.IO;
-using Cake.Issues;
-using Cake.Issues.PullRequests;
-using Cake.Issues.PullRequests.AppVeyor;
-using System;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common.Build;
+ using Cake.Common.IO;
+ using Cake.Core.IO;
+ using Cake.Issues;
+ using Cake.Issues.PullRequests;
+ using Cake.Issues.PullRequests.AppVeyor;
+ using System;
+
///
/// Support for AppVeyor builds.
///
- internal class AppVeyorBuildServer : BaseBuildServer
+ internal sealed class AppVeyorBuildServer : BaseBuildServer
{
///
public override Uri DetermineRepositoryRemoteUrl(
@@ -20,14 +20,14 @@ public override Uri DetermineRepositoryRemoteUrl(
{
context.NotNull(nameof(context));
- switch (context.AppVeyor().Environment.Repository.Provider)
+ return context.AppVeyor().Environment.Repository.Provider switch
{
- case "bitBucket": return new Uri($"https://bitbucket.org/{context.AppVeyor().Environment.Repository.Name}/src");
- case "gitHub": return new Uri($"https://github.com/{context.AppVeyor().Environment.Repository.Name}.git");
- case "gitLab": return new Uri($"https://gitlab.com/{context.AppVeyor().Environment.Repository.Name}.git");
- case "vso": return new Uri($"https://dev.azure.com/{context.AppVeyor().Environment.Repository.Name}");
- default: return new Uri(context.AppVeyor().Environment.Repository.Name);
- }
+ "bitBucket" => new Uri($"https://bitbucket.org/{context.AppVeyor().Environment.Repository.Name}/src"),
+ "gitHub" => new Uri($"https://github.com/{context.AppVeyor().Environment.Repository.Name}.git"),
+ "gitLab" => new Uri($"https://gitlab.com/{context.AppVeyor().Environment.Repository.Name}.git"),
+ "vso" => new Uri($"https://dev.azure.com/{context.AppVeyor().Environment.Repository.Name}"),
+ _ => new Uri(context.AppVeyor().Environment.Repository.Name),
+ };
}
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/AzureDevOpsBuildServer.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/AzureDevOpsBuildServer.cs
index 2a50d85e..df43ac75 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/AzureDevOpsBuildServer.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/AzureDevOpsBuildServer.cs
@@ -1,20 +1,20 @@
-using Cake.Common;
-using Cake.Common.Build;
-using Cake.Common.Build.AzurePipelines.Data;
-using Cake.Common.IO;
-using Cake.Core.IO;
-using Cake.Issues;
-using Cake.Issues.Reporting;
-using Cake.Issues.Reporting.Generic;
-using System;
-using System.IO;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common;
+ using Cake.Common.Build;
+ using Cake.Common.Build.AzurePipelines.Data;
+ using Cake.Common.IO;
+ using Cake.Core.IO;
+ using Cake.Issues;
+ using Cake.Issues.Reporting;
+ using Cake.Issues.Reporting.Generic;
+ using System;
+ using System.IO;
+
///
/// Support for Azure DevOps / Azure Pipelines builds.
///
- internal class AzureDevOpsBuildServer : BaseBuildServer
+ internal sealed class AzureDevOpsBuildServer : BaseBuildServer
{
///
public override Uri DetermineRepositoryRemoteUrl(
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/BaseBuildServer.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/BaseBuildServer.cs
index d401c496..b7b8573b 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/BaseBuildServer.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/BaseBuildServer.cs
@@ -1,9 +1,9 @@
-using Cake.Core.IO;
-using Cake.Issues;
-using System;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core.IO;
+ using Cake.Issues;
+ using System;
+
///
/// Basic implementation for all build servers.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/GitHubActionsBuildServer.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/GitHubActionsBuildServer.cs
index ea56890f..9ff76115 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/GitHubActionsBuildServer.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/GitHubActionsBuildServer.cs
@@ -1,16 +1,16 @@
-using Cake.Common.Build;
-using Cake.Core.IO;
-using Cake.Issues;
-using Cake.Issues.PullRequests;
-using Cake.Issues.PullRequests.GitHubActions;
-using System;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common.Build;
+ using Cake.Core.IO;
+ using Cake.Issues;
+ using Cake.Issues.PullRequests;
+ using Cake.Issues.PullRequests.GitHubActions;
+ using System;
+
///
/// Support for builds running on GitHub Actions.
///
- internal class GitHubActionsBuildServer : BaseBuildServer
+ internal sealed class GitHubActionsBuildServer : BaseBuildServer
{
///
public override Uri DetermineRepositoryRemoteUrl(
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/IIssuesBuildServer.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/IIssuesBuildServer.cs
index 21f00aba..51b502e2 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/IIssuesBuildServer.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/BuildServers/IIssuesBuildServer.cs
@@ -1,8 +1,8 @@
-using Cake.Core.IO;
-using System;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core.IO;
+ using System;
+
///
/// Description of a build server implementation.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe.csproj b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe.csproj
index 80c22d9b..c8a8875f 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe.csproj
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe.csproj
@@ -1,7 +1,7 @@
- net6.0;net7.0
+ net6.0;net7.0;net8.0
bin\$(Configuration)\$(TargetFramework)\Cake.Frosting.Issues.Recipe.xml
true
AllEnabledByDefault
@@ -24,7 +24,7 @@ For recipe compatible with Cake Script Runners see Cake.Issues.Recipe.MIT
git
https://github.com/cake-contrib/Cake.Issues.Recipe.git
- https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/3.1.1
+ https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/4.0.0
@@ -36,21 +36,21 @@ For recipe compatible with Cake Script Runners see Cake.Issues.Recipe.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/IssuesContext.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/IssuesContext.cs
index d296cca5..f227edfb 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/IssuesContext.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/IssuesContext.cs
@@ -1,26 +1,17 @@
-using Cake.Core;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core;
+
///
/// Parameters and state for the build run.
///
- public class IssuesContext : IssuesContext
+ /// The Cake context.
+ /// Defines how information about the Git repository should be determined.
+ public class IssuesContext(
+ ICakeContext context,
+ RepositoryInfoProviderType repositoryInfoProviderType) : IssuesContext(context)
{
- private readonly RepositoryInfoProviderType repositoryInfoProviderType;
-
- ///
- /// Creates a new instance of the class.
- ///
- /// The Cake context.
- /// Defines how information about the Git repository should be determined.
- public IssuesContext(
- ICakeContext context,
- RepositoryInfoProviderType repositoryInfoProviderType)
- : base(context)
- {
- this.repositoryInfoProviderType = repositoryInfoProviderType;
- }
+ private readonly RepositoryInfoProviderType repositoryInfoProviderType = repositoryInfoProviderType;
///
protected override IssuesParameters CreateIssuesParameters()
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/IssuesContext{TParameters,TState}.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/IssuesContext{TParameters,TState}.cs
index b2171a8e..990bbbad 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/IssuesContext{TParameters,TState}.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/IssuesContext{TParameters,TState}.cs
@@ -1,8 +1,8 @@
-using Cake.Core;
-using System;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core;
+ using System;
+
///
/// Base class for parameters and state of the build run.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParameters.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParameters.cs
index 8444dced..62c08062 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParameters.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParameters.cs
@@ -1,7 +1,7 @@
-using Cake.Core.IO;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core.IO;
+
///
/// Description of parameters of the build.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersInputFiles.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersInputFiles.cs
index 271f9114..a4c878b8 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersInputFiles.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersInputFiles.cs
@@ -1,9 +1,9 @@
-using Cake.Core.IO;
-using Cake.Issues;
-using System.Collections.Generic;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core.IO;
+ using Cake.Issues;
+ using System.Collections.Generic;
+
///
/// Parameters for passing input files.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersPullRequestSystem.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersPullRequestSystem.cs
index 54071230..30f3a6b0 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersPullRequestSystem.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersPullRequestSystem.cs
@@ -1,9 +1,9 @@
-using Cake.Issues;
-using Cake.Issues.PullRequests;
-using System.Collections.Generic;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Issues;
+ using Cake.Issues.PullRequests;
+ using System.Collections.Generic;
+
///
/// Parameters for pull request integration.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersReporting.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersReporting.cs
index c72e224b..da7d016f 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersReporting.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IIssuesParametersReporting.cs
@@ -1,7 +1,7 @@
-using Cake.Issues.Reporting.Generic;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Issues.Reporting.Generic;
+
///
/// Parameters for reporting.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParameters.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParameters.cs
index c355de64..b2206794 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParameters.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParameters.cs
@@ -1,6 +1,3 @@
-using Cake.Core.IO;
-using System;
-
namespace Cake.Frosting.Issues.Recipe
{
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersInputFiles.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersInputFiles.cs
index 887a8b7a..b01ecf8e 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersInputFiles.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersInputFiles.cs
@@ -1,9 +1,9 @@
-using Cake.Core.IO;
-using Cake.Issues;
-using System.Collections.Generic;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core.IO;
+ using Cake.Issues;
+ using System.Collections.Generic;
+
///
/// Parameters for passing input files.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersPullRequestSystem.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersPullRequestSystem.cs
index 75391c80..f06d9e0d 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersPullRequestSystem.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersPullRequestSystem.cs
@@ -27,6 +27,6 @@ public class IssuesParametersPullRequestSystem : IIssuesParametersPullRequestSys
public int? MaxIssuesToPostForEachIssueProvider { get; set; } = 100;
///
- public Dictionary ProviderIssueLimits => new Dictionary();
+ public Dictionary ProviderIssueLimits => new();
}
}
\ No newline at end of file
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersReporting.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersReporting.cs
index 80c47bdb..5049e606 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersReporting.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParametersReporting.cs
@@ -1,7 +1,7 @@
-using Cake.Issues.Reporting.Generic;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Issues.Reporting.Generic;
+
///
/// Parameters for reporting.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParameters{TInputFiles,TReporting,TBuildServer,TPullRequestSystem}.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParameters{TInputFiles,TReporting,TBuildServer,TPullRequestSystem}.cs
index 68853644..5009c957 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParameters{TInputFiles,TReporting,TBuildServer,TPullRequestSystem}.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/Parameters/IssuesParameters{TInputFiles,TReporting,TBuildServer,TPullRequestSystem}.cs
@@ -1,8 +1,8 @@
-using Cake.Core.IO;
-using System;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core.IO;
+ using System;
+
///
/// Parameters of the build.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/State/IIssuesState.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/State/IIssuesState.cs
index d284442b..fc577efc 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/State/IIssuesState.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/State/IIssuesState.cs
@@ -1,10 +1,10 @@
-using Cake.Core.IO;
-using Cake.Issues;
-using System;
-using System.Collections.Generic;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core.IO;
+ using Cake.Issues;
+ using System;
+ using System.Collections.Generic;
+
///
/// Description of the mutable state of the build run.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/State/IssuesState.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/State/IssuesState.cs
index c1d1c42d..591f93fd 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/State/IssuesState.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/Context/State/IssuesState.cs
@@ -1,15 +1,14 @@
-using Cake.Common;
-using Cake.Common.Build;
-using Cake.Common.Diagnostics;
-using Cake.Common.IO;
-using Cake.Core.IO;
-using Cake.Issues;
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common;
+ using Cake.Common.Build;
+ using Cake.Common.Diagnostics;
+ using Cake.Common.IO;
+ using Cake.Core.IO;
+ using Cake.Issues;
+ using System;
+ using System.Collections.Generic;
+
///
/// Mutable state of the build run.
///
@@ -17,9 +16,9 @@ public class IssuesState : IIssuesState
{
private readonly IIssuesContext context;
- private readonly List issues = new List();
+ private readonly List issues = [];
- private readonly List<(IIssueProvider, string)> issueProvidersAndRuns = new List<(IIssueProvider, string)>();
+ private readonly List<(IIssueProvider, string)> issueProvidersAndRuns = [];
///
public DirectoryPath RepositoryRootDirectory { get; }
@@ -237,10 +236,7 @@ private static IReadIssuesSettings GetSettings(IReadIssuesSettings configuredSet
return defaultSettings;
}
- if (configuredSettings.FileLinkSettings == null)
- {
- configuredSettings.FileLinkSettings = defaultSettings.FileLinkSettings;
- }
+ configuredSettings.FileLinkSettings ??= defaultSettings.FileLinkSettings;
return configuredSettings;
}
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateFullIssuesReportTask.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateFullIssuesReportTask.cs
index 15b3206e..de19c97e 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateFullIssuesReportTask.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateFullIssuesReportTask.cs
@@ -1,10 +1,10 @@
-using Cake.Common.IO;
-using Cake.Issues;
-using Cake.Issues.Reporting;
-using Cake.Issues.Reporting.Generic;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common.IO;
+ using Cake.Issues;
+ using Cake.Issues.Reporting;
+ using Cake.Issues.Reporting.Generic;
+
///
/// Creates issue report.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateSarifReportTask.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateSarifReportTask.cs
index 5cac633a..21aad9bc 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateSarifReportTask.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateSarifReportTask.cs
@@ -1,10 +1,10 @@
-using Cake.Common.IO;
-using Cake.Issues;
-using Cake.Issues.Reporting;
-using Cake.Issues.Reporting.Sarif;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common.IO;
+ using Cake.Issues;
+ using Cake.Issues.Reporting;
+ using Cake.Issues.Reporting.Sarif;
+
///
/// Creates issue report in SARIF format.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateSummaryIssuesReportTask.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateSummaryIssuesReportTask.cs
index 768df782..88e0440a 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateSummaryIssuesReportTask.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/CreateSummaryIssuesReportTask.cs
@@ -1,9 +1,9 @@
-using Cake.Common.Build;
-using Cake.Common.Diagnostics;
-using Cake.Issues;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common.Build;
+ using Cake.Common.Diagnostics;
+ using Cake.Issues;
+
///
/// Creates a summary issue report.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PublishIssuesArtifactsTask.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PublishIssuesArtifactsTask.cs
index fb1873d7..528113fb 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PublishIssuesArtifactsTask.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PublishIssuesArtifactsTask.cs
@@ -1,9 +1,9 @@
-using Cake.Common.Build;
-using Cake.Common.Diagnostics;
-using Cake.Issues;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common.Build;
+ using Cake.Common.Diagnostics;
+ using Cake.Issues;
+
///
/// Publish issue artifacts to build server.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/AzureDevOpsPullRequestSystem.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/AzureDevOpsPullRequestSystem.cs
index 96b7570b..01d611f7 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/AzureDevOpsPullRequestSystem.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/AzureDevOpsPullRequestSystem.cs
@@ -1,19 +1,19 @@
-using Cake.AzureDevOps;
-using Cake.AzureDevOps.Repos.PullRequest;
-using Cake.Common;
-using Cake.Common.Diagnostics;
-using Cake.Issues;
-using Cake.Issues.PullRequests;
-using Cake.Issues.PullRequests.AzureDevOps;
-using System.Collections.Generic;
-using System.Linq;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.AzureDevOps;
+ using Cake.AzureDevOps.Repos.PullRequest;
+ using Cake.Common;
+ using Cake.Common.Diagnostics;
+ using Cake.Issues;
+ using Cake.Issues.PullRequests;
+ using Cake.Issues.PullRequests.AzureDevOps;
+ using System.Collections.Generic;
+ using System.Linq;
+
///
/// Support for Azure DevOps / Azure Repository hosted code.
///
- internal class AzureDevOpsPullRequestSystem : BasePullRequestSystem
+ internal sealed class AzureDevOpsPullRequestSystem : BasePullRequestSystem
{
///
public override void ReportIssuesToPullRequest(IIssuesContext context)
@@ -129,8 +129,10 @@ private static void SetPullRequestStatus(
context.State.BuildServer.DeterminePullRequestId(context).Value,
context.AzureDevOpsAuthenticationOAuth(context.EnvironmentVariable("SYSTEM_ACCESSTOKEN")));
+ var issuesList = issues.ToList();
+
var pullRequestStatusName = "Issues";
- var pullRequestDescriptionIfIssues = $"Found {issues.Count()} issues";
+ var pullRequestDescriptionIfIssues = $"Found {issuesList.Count} issues";
var pullRequestDescriptionIfNoIssues = "No issues found";
if (!string.IsNullOrWhiteSpace(issueIdentifier))
@@ -148,7 +150,7 @@ private static void SetPullRequestStatus(
}
var state =
- issues.Any() ?
+ issuesList.Count != 0 ?
AzureDevOpsPullRequestStatusState.Failed :
AzureDevOpsPullRequestStatusState.Succeeded;
@@ -159,7 +161,7 @@ private static void SetPullRequestStatus(
{
Genre = "Cake.Issues.Recipe",
State = state,
- Description = issues.Any() ? pullRequestDescriptionIfIssues : pullRequestDescriptionIfNoIssues
+ Description = issuesList.Count != 0 ? pullRequestDescriptionIfIssues : pullRequestDescriptionIfNoIssues
};
context.AzureDevOpsSetPullRequestStatus(
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/BasePullRequestSystem.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/BasePullRequestSystem.cs
index f40106b7..e34f761c 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/BasePullRequestSystem.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/BasePullRequestSystem.cs
@@ -1,8 +1,8 @@
-using Cake.Issues;
-using Cake.Issues.PullRequests;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Issues;
+ using Cake.Issues.PullRequests;
+
///
/// Basic implementation for all pull request server.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/GitHubPullRequestSystem.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/GitHubPullRequestSystem.cs
index e8a95862..4c7650ca 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/GitHubPullRequestSystem.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/GitHubPullRequestSystem.cs
@@ -1,11 +1,11 @@
-using Cake.Issues;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Issues;
+
///
/// Support for GitHub hosted code.
///
- internal class GitHubPullRequestSystem : BasePullRequestSystem
+ internal sealed class GitHubPullRequestSystem : BasePullRequestSystem
{
///
public override void ReportIssuesToPullRequest(IIssuesContext context)
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/IIssuesPullRequestSystem.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/IIssuesPullRequestSystem.cs
index 6c4ff222..32844500 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/IIssuesPullRequestSystem.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/PullRequestSystems/IIssuesPullRequestSystem.cs
@@ -1,7 +1,7 @@
-using Cake.Issues;
-
namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Issues;
+
///
/// Description of a pull request system implementation.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReadIssuesTask.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReadIssuesTask.cs
index bd6b5940..b75f179c 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReadIssuesTask.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReadIssuesTask.cs
@@ -1,13 +1,13 @@
-using Cake.Common.Diagnostics;
-using Cake.Issues;
-using Cake.Issues.EsLint;
-using Cake.Issues.InspectCode;
-using Cake.Issues.Markdownlint;
-using Cake.Issues.MsBuild;
-using System.Linq;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common.Diagnostics;
+ using Cake.Issues;
+ using Cake.Issues.EsLint;
+ using Cake.Issues.InspectCode;
+ using Cake.Issues.Markdownlint;
+ using Cake.Issues.MsBuild;
+ using System.Linq;
+
///
/// Reads issues from the provided log files.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReportIssuesToBuildServerTask.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReportIssuesToBuildServerTask.cs
index 723b424d..53ed03ed 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReportIssuesToBuildServerTask.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReportIssuesToBuildServerTask.cs
@@ -1,9 +1,9 @@
-using Cake.Common.Build;
-using Cake.Common.Diagnostics;
-using Cake.Issues;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common.Build;
+ using Cake.Common.Diagnostics;
+ using Cake.Issues;
+
///
/// Report issues to build server.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReportIssuesToPullRequestTask.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReportIssuesToPullRequestTask.cs
index 353112c1..978a52b6 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReportIssuesToPullRequestTask.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/ReportIssuesToPullRequestTask.cs
@@ -1,9 +1,9 @@
-using Cake.Common.Build;
-using Cake.Common.Diagnostics;
-using Cake.Issues;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common.Build;
+ using Cake.Common.Diagnostics;
+ using Cake.Issues;
+
///
/// Report issues to build server.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/CakeGitRepositoryInfoProvider.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/CakeGitRepositoryInfoProvider.cs
index f7803352..e7b9d23f 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/CakeGitRepositoryInfoProvider.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/CakeGitRepositoryInfoProvider.cs
@@ -1,16 +1,16 @@
-using Cake.Core;
-using Cake.Core.IO;
-using Cake.Git;
-using Cake.Issues;
-using System;
-using System.Linq;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core;
+ using Cake.Core.IO;
+ using Cake.Git;
+ using Cake.Issues;
+ using System;
+ using System.Linq;
+
///
/// Provider to retrieve repository information using Cake.Git addin.
///
- internal class CakeGitRepositoryInfoProvider : IRepositoryInfoProvider
+ internal sealed class CakeGitRepositoryInfoProvider : IRepositoryInfoProvider
{
///
public DirectoryPath GetRepositoryRootDirectory(ICakeContext context, DirectoryPath buildRootDirectory)
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/CliRepositoryInfoProvider.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/CliRepositoryInfoProvider.cs
index d6513142..8e3fc1bc 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/CliRepositoryInfoProvider.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/CliRepositoryInfoProvider.cs
@@ -1,17 +1,17 @@
-using Cake.Common;
-using Cake.Core;
-using Cake.Core.IO;
-using Cake.Issues;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common;
+ using Cake.Core;
+ using Cake.Core.IO;
+ using Cake.Issues;
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+
///
/// Provider to retrieve repository information using Git CLI.
///
- internal class CliRepositoryInfoProvider : IRepositoryInfoProvider
+ internal sealed class CliRepositoryInfoProvider : IRepositoryInfoProvider
{
///
public DirectoryPath GetRepositoryRootDirectory(ICakeContext context, DirectoryPath buildRootDirectory)
@@ -51,7 +51,7 @@ private static IEnumerable GitCommand(
DirectoryPath repositoryRootFolder,
params string[] arguments)
{
- if (!arguments.Any())
+ if (arguments.Length == 0)
{
throw new ArgumentOutOfRangeException(nameof(arguments));
}
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/IRepositoryInfoProvider.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/IRepositoryInfoProvider.cs
index f761a0c6..11ccf855 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/IRepositoryInfoProvider.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/RepositoryInfo/IRepositoryInfoProvider.cs
@@ -1,9 +1,9 @@
-using Cake.Core;
-using Cake.Core.IO;
-using System;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Core;
+ using Cake.Core.IO;
+ using System;
+
///
/// Description of a provider to retrieve repository information.
///
diff --git a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/SetPullRequestIssuesStateTask.cs b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/SetPullRequestIssuesStateTask.cs
index 73650fca..067fc38e 100644
--- a/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/SetPullRequestIssuesStateTask.cs
+++ b/Cake.Frosting.Issues.Recipe/Cake.Frosting.Issues.Recipe/SetPullRequestIssuesStateTask.cs
@@ -1,9 +1,9 @@
-using Cake.Common.Build;
-using Cake.Common.Diagnostics;
-using Cake.Issues;
-
-namespace Cake.Frosting.Issues.Recipe
+namespace Cake.Frosting.Issues.Recipe
{
+ using Cake.Common.Build;
+ using Cake.Common.Diagnostics;
+ using Cake.Issues;
+
///
/// Set pull request status.
///
diff --git a/Cake.Frosting.Issues.Recipe/Directory.Build.props b/Cake.Frosting.Issues.Recipe/Directory.Build.props
new file mode 100644
index 00000000..a95ac958
--- /dev/null
+++ b/Cake.Frosting.Issues.Recipe/Directory.Build.props
@@ -0,0 +1,5 @@
+
+
+ latest
+
+
\ No newline at end of file
diff --git a/Cake.Issues.Recipe/Content/addins.cake b/Cake.Issues.Recipe/Content/addins.cake
index 725b81dc..f6a27295 100644
--- a/Cake.Issues.Recipe/Content/addins.cake
+++ b/Cake.Issues.Recipe/Content/addins.cake
@@ -2,17 +2,17 @@
// ADDINS
///////////////////////////////////////////////////////////////////////////////
-#addin nuget:?package=Cake.Git&version=3.0.0
-#addin nuget:?package=Cake.Issues&version=3.0.0
-#addin nuget:?package=Cake.Issues.MsBuild&version=3.0.0
-#addin nuget:?package=Cake.Issues.InspectCode&version=3.0.0
-#addin nuget:?package=Cake.Issues.Markdownlint&version=3.0.0
-#addin nuget:?package=Cake.Issues.EsLint&version=3.0.0
-#addin nuget:?package=Cake.Issues.Reporting&version=3.0.0
-#addin nuget:?package=Cake.Issues.Reporting.Generic&version=3.0.0
-#addin nuget:?package=Cake.Issues.Reporting.Sarif&version=3.0.1
-#addin nuget:?package=Cake.Issues.PullRequests&version=3.0.0
-#addin nuget:?package=Cake.Issues.PullRequests.AppVeyor&version=3.0.0
-#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version=3.0.0
-#addin nuget:?package=Cake.Issues.PullRequests.GitHubActions&version=3.0.0
-#addin nuget:?package=Cake.AzureDevOps&version=3.0.1
+#addin nuget:?package=Cake.Git&version=4.0.0
+#addin nuget:?package=Cake.Issues&version=4.0.0
+#addin nuget:?package=Cake.Issues.MsBuild&version=4.0.0
+#addin nuget:?package=Cake.Issues.InspectCode&version=4.0.0
+#addin nuget:?package=Cake.Issues.Markdownlint&version=4.0.0
+#addin nuget:?package=Cake.Issues.EsLint&version=4.0.0
+#addin nuget:?package=Cake.Issues.Reporting&version=4.0.0
+#addin nuget:?package=Cake.Issues.Reporting.Generic&version=4.0.0
+#addin nuget:?package=Cake.Issues.Reporting.Sarif&version=4.0.0
+#addin nuget:?package=Cake.Issues.PullRequests&version=4.0.0
+#addin nuget:?package=Cake.Issues.PullRequests.AppVeyor&version=4.0.0
+#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version=4.0.0
+#addin nuget:?package=Cake.Issues.PullRequests.GitHubActions&version=4.0.0
+#addin nuget:?package=Cake.AzureDevOps&version=4.0.0
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index a2865f8e..2a4b119a 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -19,12 +19,19 @@ jobs:
- task: UseDotNet@2
inputs:
version: '5.x'
+ displayName: 'Install .NET 5'
- task: UseDotNet@2
inputs:
version: '6.x'
+ displayName: 'Install .NET 6'
- task: UseDotNet@2
inputs:
version: '7.x'
+ displayName: 'Install .NET 7'
+ - task: UseDotNet@2
+ inputs:
+ version: '8.x'
+ displayName: 'Install .NET 8'
- powershell: ./build.ps1
displayName: 'Build'
- publish: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
@@ -40,6 +47,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '6.x'
+ displayName: 'Install .NET 6'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -70,6 +78,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '7.x'
+ displayName: 'Install .NET 7'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -90,6 +99,37 @@ jobs:
- publish: $(Build.SourcesDirectory)/tests/frosting/net7.0/build/BuildArtifacts/output
artifact: Integration Tests Frosting Windows 2022 (.NET 7)
displayName: 'Publish generated reports as build artifact'
+# Integration Tests Frosting Windows (.NET 8)
+- job: Test_Frosting_Windows_2022_Net8
+ displayName: Integration Tests Frosting Windows 2022 (.NET 8)
+ dependsOn: Build
+ pool:
+ vmImage: 'windows-2022'
+ steps:
+ - task: UseDotNet@2
+ inputs:
+ version: '8.x'
+ displayName: 'Install .NET 8'
+ - task: NodeTool@0
+ inputs:
+ versionSpec: '14.x'
+ displayName: 'Install NodeJs 14.x'
+ - powershell: choco install markdownlint-cli --no-progress
+ displayName: 'Install required tools'
+ - download: current
+ artifact: NuGet Package
+ displayName: 'Download build artifact'
+ - task: CopyFiles@2
+ inputs:
+ sourceFolder: $(Pipeline.Workspace)/NuGet Package
+ targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
+ displayName: 'Copy build artifact for test run'
+ - powershell: ./build.ps1 --verbosity=diagnostic
+ workingDirectory: ./tests/frosting/net8.0
+ displayName: 'Run integration tests'
+ - publish: $(Build.SourcesDirectory)/tests/frosting/net8.0/build/BuildArtifacts/output
+ artifact: Integration Tests Frosting Windows 2022 (.NET 8)
+ displayName: 'Publish generated reports as build artifact'
# Integration Tests Script Runner Windows 2019 (.NET Core tool)
- job: Test_Script_Runner_Windows_2019_DotNetCoreTool
displayName: Integration Tests Script Runner Windows 2019 (.NET Core tool)
@@ -100,6 +140,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '6.x'
+ displayName: 'Install .NET 6'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -130,6 +171,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '6.x'
+ displayName: 'Install .NET 6'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -160,6 +202,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '6.x'
+ displayName: 'Install .NET 6'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -192,6 +235,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '7.x'
+ displayName: 'Install .NET 7'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -214,6 +258,39 @@ jobs:
- publish: $(Build.SourcesDirectory)/tests/frosting/net7.0/build/BuildArtifacts/output
artifact: Integration Tests Frosting macOS 12 (.NET 7)
displayName: 'Publish generated reports as build artifact'
+# Integration Tests Frosting macOS 12 (.NET 8)
+- job: Test_Frosting_macOS_12_Net8
+ displayName: Integration Tests Frosting macOS 12 (.NET 8)
+ dependsOn: Build
+ pool:
+ vmImage: 'macOS-12'
+ steps:
+ - task: UseDotNet@2
+ inputs:
+ version: '8.x'
+ displayName: 'Install .NET 8'
+ - task: NodeTool@0
+ inputs:
+ versionSpec: '14.x'
+ displayName: 'Install NodeJs 14.x'
+ - bash: |
+ npm install -g markdownlint-cli
+ displayName: 'Install required tools'
+ - download: current
+ artifact: NuGet Package
+ displayName: 'Download build artifact'
+ - task: CopyFiles@2
+ inputs:
+ sourceFolder: $(Pipeline.Workspace)/NuGet Package
+ targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
+ displayName: 'Copy build artifact for test run'
+ - bash: |
+ ./build.sh --verbosity=diagnostic
+ workingDirectory: ./tests/frosting/net8.0
+ displayName: 'Run integration tests'
+ - publish: $(Build.SourcesDirectory)/tests/frosting/net8.0/build/BuildArtifacts/output
+ artifact: Integration Tests Frosting macOS 12 (.NET 8)
+ displayName: 'Publish generated reports as build artifact'
# Integration Tests Script Runner macOS 11 (.NET Core tool)
- job: Test_Script_Runner_macOS_11_DotNetCoreTool
displayName: Integration Tests Script Runner macOS 11 (.NET Core tool)
@@ -224,6 +301,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '6.x'
+ displayName: 'Install .NET 6'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -256,6 +334,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '6.x'
+ displayName: 'Install .NET 6'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -288,6 +367,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '6.x'
+ displayName: 'Install .NET 6'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -311,7 +391,7 @@ jobs:
artifact: Integration Tests Frosting Ubuntu 20.04 (.NET 6)
displayName: 'Publish generated reports as build artifact'
# Integration Tests Frosting Ubuntu 22.04 (.NET 7)
-- job: Test_Frosting_ubuntu_2204_Net6
+- job: Test_Frosting_ubuntu_2204_Net7
displayName: Integration Tests Frosting Ubuntu 22.04 (.NET 7)
dependsOn: Build
pool:
@@ -320,6 +400,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '7.x'
+ displayName: 'Install .NET 7'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -342,6 +423,39 @@ jobs:
- publish: $(Build.SourcesDirectory)/tests/frosting/net7.0/build/BuildArtifacts/output
artifact: Integration Tests Frosting Ubuntu 22.04 (.NET 7)
displayName: 'Publish generated reports as build artifact'
+# Integration Tests Frosting Ubuntu 22.04 (.NET 8)
+- job: Test_Frosting_ubuntu_2204_Net8
+ displayName: Integration Tests Frosting Ubuntu 22.04 (.NET 8)
+ dependsOn: Build
+ pool:
+ vmImage: 'ubuntu-22.04'
+ steps:
+ - task: UseDotNet@2
+ inputs:
+ version: '8.x'
+ displayName: 'Install .NET 8'
+ - task: NodeTool@0
+ inputs:
+ versionSpec: '14.x'
+ displayName: 'Install NodeJs 14.x'
+ - bash: |
+ npm install -g markdownlint-cli
+ displayName: 'Install required tools'
+ - download: current
+ artifact: NuGet Package
+ displayName: 'Download build artifact'
+ - task: CopyFiles@2
+ inputs:
+ sourceFolder: $(Pipeline.Workspace)/NuGet Package
+ targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
+ displayName: 'Copy build artifact for test run'
+ - bash: |
+ ./build.sh --verbosity=diagnostic
+ workingDirectory: ./tests/frosting/net8.0
+ displayName: 'Run integration tests'
+ - publish: $(Build.SourcesDirectory)/tests/frosting/net8.0/build/BuildArtifacts/output
+ artifact: Integration Tests Frosting Ubuntu 22.04 (.NET 8)
+ displayName: 'Publish generated reports as build artifact'
# Integration Tests Script Runner Ubuntu 20.04 (.NET Core tool)
- job: Test_Script_Runner_ubuntu_2004_DotNetCoreTool
displayName: Integration Tests Script Runner Ubuntu 20.04 (.NET Core tool)
@@ -352,6 +466,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '6.x'
+ displayName: 'Install .NET 6'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
@@ -384,6 +499,7 @@ jobs:
- task: UseDotNet@2
inputs:
version: '6.x'
+ displayName: 'Install .NET 6'
- task: NodeTool@0
inputs:
versionSpec: '14.x'
diff --git a/docs/overview.md b/docs/overview.md
index 2a113494..1ade597c 100644
--- a/docs/overview.md
+++ b/docs/overview.md
@@ -22,21 +22,22 @@ See [supported tools] for a list of supported linters, build servers and pull re
Cake.Issues recipes will add the following addins to your build:
-| Addin Cake.Issues.Recipe | Addin.Frosting.Issues.Recipe | Remarks |
-|------------------------------------------------|------------------------------------------------|-|
-| [Cake.Git] 3.0.0 | [Cake.Git] 3.0.0 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. |
-| [Cake.Issues] 3.0.0 | [Cake.Issues] 3.0.0 | |
-| [Cake.Issues.MsBuild] 3.0.0 | [Cake.Issues.MsBuild] 3.0.0 | |
-| [Cake.Issues.InspectCode] 3.0.0 | [Cake.Issues.InspectCode] 3.0.0 | |
-| [Cake.Issues.Markdownlint] 3.0.0 | [Cake.Issues.Markdownlint] 3.0.0 | |
-| [Cake.Issues.EsLint] 3.0.0 | [Cake.Issues.EsLint] 3.0.0 | |
-| [Cake.Issues.Reporting] 3.0.0 | [Cake.Issues.Reporting] 3.0.0 | |
-| [Cake.Issues.Reporting.Generic] 3.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 3.0.0 | |
-| [Cake.Issues.PullRequests] 3.0.0 | [Cake.Issues.PullRequests] 3.0.0 | |
-| [Cake.Issues.PullRequests.AppVeyor] 3.0.0 | [Cake.Issues.PullRequests.AppVeyor] 3.0.0 | |
-| [Cake.Issues.PullRequests.AzureDevOps] 3.0.0 | [Cake.Issues.PullRequests.AzureDevOps] 3.0.0 | |
-| [Cake.Issues.PullRequests.GitHubActions] 3.0.0 | [Cake.Issues.PullRequests.GitHubActions] 3.0.0 | |
-| [Cake.AzureDevOps] 3.0.1 | [Cake.AzureDevOps] 3.0.1 | |
+| Addin Cake.Issues.Recipe | Addin.Frosting.Issues.Recipe | Remarks |
+|---------------------------------------------------------|---------------------------------------------------------|-|
+| [Cake.Git] 4.0.0 | [Cake.Frosting.Git] 4.0.0 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. |
+| [Cake.Issues] 4.0.0 | [Cake.Issues] 4.0.0 | |
+| [Cake.Issues.MsBuild] 4.0.0 | [Cake.Frosting.Issues.MsBuild] 4.0.0 | |
+| [Cake.Issues.InspectCode] 4.0.0 | [Cake.Issues.InspectCode] 4.0.0 | |
+| [Cake.Issues.Markdownlint] 4.0.0 | [Cake.Issues.Markdownlint] 4.0.0 | |
+| [Cake.Issues.EsLint] 4.0.0 | [Cake.Issues.EsLint] 4.0.0 | |
+| [Cake.Issues.Reporting] 4.0.0 | [Cake.Issues.Reporting] 4.0.0 | |
+| [Cake.Issues.Reporting.Generic] 4.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.0.0 | |
+| [Cake.Issues.Reporting.Sarif] 4.0.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.0.0 | |
+| [Cake.Issues.PullRequests] 4.0.0 | [Cake.Issues.PullRequests] 4.0.0 | |
+| [Cake.Issues.PullRequests.AppVeyor] 4.0.0 | [Cake.Issues.PullRequests.AppVeyor] 4.0.0 | |
+| [Cake.Issues.PullRequests.AzureDevOps] 4.0.0 | [Cake.Issues.PullRequests.AzureDevOps] 4.0.0 | |
+| [Cake.Issues.PullRequests.GitHubActions] 4.0.0 | [Cake.Issues.PullRequests.GitHubActions] 4.0.0 | |
+| [Cake.AzureDevOps] | [Cake.AzureDevOps] | |
[Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe
[Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe
@@ -47,14 +48,18 @@ Cake.Issues recipes will add the following addins to your build:
[supported tools]: supported-tools
[Git repository information configuration]: /docs/recipe/configuration#git-repository-information
[Cake.Git]: https://cakebuild.net/extensions/cake-git/
+[Cake.Frosting.Git]: https://cakebuild.net/extensions/cake-git/
[Cake.Issues]: https://cakebuild.net/extensions/cake-issues/
[Cake.Issues.MsBuild]: https://cakebuild.net/extensions/cake-issues-msbuild/
+[Cake.Frosting.Issues.MsBuild]: https://cakebuild.net/extensions/cake-issues-msbuild/
[Cake.Issues.InspectCode]: https://cakebuild.net/extensions/cake-issues-inspectcode/
[Cake.Issues.Markdownlint]: https://cakebuild.net/extensions/cake-issues-markdownlint/
[Cake.Issues.EsLint]: https://cakebuild.net/extensions/cake-issues-eslint/
[Cake.Issues.Reporting]: https://cakebuild.net/extensions/cake-issues-reporting/
[Cake.Issues.Reporting.Generic]: https://cakebuild.net/extensions/cake-issues-reporting-generic/
[Cake.Frosting.Issues.Reporting.Generic]: https://cakebuild.net/extensions/cake-issues-reporting-generic/
+[Cake.Issues.Reporting.Sarif]: https://cakebuild.net/extensions/cake-issues-reporting-sarif/
+[Cake.Frosting.Issues.Reporting.Sarif]: https://cakebuild.net/extensions/cake-issues-reporting-sarif/
[Cake.Issues.PullRequests]: https://cakebuild.net/extensions/cake-issues-pullrequests/
[Cake.Issues.PullRequests.AppVeyor]: https://cakebuild.net/extensions/cake-issues-pullrequests-appveyor/
[Cake.Issues.PullRequests.AzureDevOps]: https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/
diff --git a/nuspec/nuget/Cake.Issues.Recipe.nuspec b/nuspec/nuget/Cake.Issues.Recipe.nuspec
index 5ba8bb3f..f133c84d 100644
--- a/nuspec/nuget/Cake.Issues.Recipe.nuspec
+++ b/nuspec/nuget/Cake.Issues.Recipe.nuspec
@@ -23,7 +23,7 @@ For recipe compatible with Cake Frosting see Cake.Frosting.Issues.Recipe.
Copyright © Pascal Berger
cake cake-recipe cake-issues
- https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/3.1.1
+ https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/4.0.0
diff --git a/recipe.cake b/recipe.cake
index c9440ac8..979a65ab 100644
--- a/recipe.cake
+++ b/recipe.cake
@@ -32,10 +32,11 @@ Task("Generate-Version-File")
// Write metadata to configuration file
System.IO.File.WriteAllText(
"./Cake.Issues.Recipe/cake-version.yml",
- @"TargetCakeVersion: 3.0.0
+ @"TargetCakeVersion: 4.0.0
TargetFrameworks:
- net6.0
-- net7.0"
+- net7.0
+- net8.0"
);
// Write metadata to class for use when running a build
diff --git a/tests/frosting/net6.0/build/Build.csproj b/tests/frosting/net6.0/build/Build.csproj
index b5df56d6..3910a1ea 100644
--- a/tests/frosting/net6.0/build/Build.csproj
+++ b/tests/frosting/net6.0/build/Build.csproj
@@ -5,7 +5,7 @@
$(MSBuildProjectDirectory)
-
+
\ No newline at end of file
diff --git a/tests/frosting/net7.0/build/Build.csproj b/tests/frosting/net7.0/build/Build.csproj
index 1ae36748..d28dff00 100644
--- a/tests/frosting/net7.0/build/Build.csproj
+++ b/tests/frosting/net7.0/build/Build.csproj
@@ -5,7 +5,7 @@
$(MSBuildProjectDirectory)
-
+
\ No newline at end of file
diff --git a/tests/frosting/net8.0/build.ps1 b/tests/frosting/net8.0/build.ps1
new file mode 100644
index 00000000..eace4c8f
--- /dev/null
+++ b/tests/frosting/net8.0/build.ps1
@@ -0,0 +1,13 @@
+$RECIPE_PACKAGE_PATH = "packages/cake.frosting.issues.recipe"
+if (Test-Path $RECIPE_PACKAGE_PATH)
+{
+ Write-Host "Cleaning up cached version of $RECIPE_PACKAGE_PATH..."
+ Remove-Item $RECIPE_PACKAGE_PATH -Recurse;
+}
+else
+{
+ Write-Host "$RECIPE_PACKAGE_PATH not cached..."
+}
+
+dotnet run --project build/Build.csproj -- $args
+exit $LASTEXITCODE;
\ No newline at end of file
diff --git a/tests/frosting/net8.0/build.sh b/tests/frosting/net8.0/build.sh
new file mode 100755
index 00000000..8dafc54e
--- /dev/null
+++ b/tests/frosting/net8.0/build.sh
@@ -0,0 +1,11 @@
+
+$RECIPE_PACKAGE_PATH = "packages/cake.frosting.issues.recipe"
+if [ -d "$RECIPE_PACKAGE_PATH" ]
+then
+ echo "Cleaning up cached version of $RECIPE_PACKAGE_PATH..."
+ rm -Rf $RECIPE_PACKAGE_PATH
+else
+ echo "$RECIPE_PACKAGE_PATH not cached..."
+fi
+
+dotnet run --project ./build/Build.csproj -- "$@"
diff --git a/tests/frosting/net8.0/build/.gitignore b/tests/frosting/net8.0/build/.gitignore
new file mode 100644
index 00000000..29cb0b57
--- /dev/null
+++ b/tests/frosting/net8.0/build/.gitignore
@@ -0,0 +1,2 @@
+### Cake ###
+tools/*
\ No newline at end of file
diff --git a/tests/frosting/net8.0/build/Build.csproj b/tests/frosting/net8.0/build/Build.csproj
new file mode 100644
index 00000000..335e6d1e
--- /dev/null
+++ b/tests/frosting/net8.0/build/Build.csproj
@@ -0,0 +1,11 @@
+
+
+ Exe
+ net8.0
+ $(MSBuildProjectDirectory)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/frosting/net8.0/build/Program.cs b/tests/frosting/net8.0/build/Program.cs
new file mode 100644
index 00000000..e6ec3709
--- /dev/null
+++ b/tests/frosting/net8.0/build/Program.cs
@@ -0,0 +1,125 @@
+using System;
+using System.Reflection;
+using Cake.Common;
+using Cake.Common.Diagnostics;
+using Cake.Common.Tools.InspectCode;
+using Cake.Core;
+using Cake.Core.Diagnostics;
+using Cake.Core.IO;
+using Cake.Frosting;
+using Cake.Frosting.Issues.Recipe;
+
+public static class Program
+{
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .UseContext()
+ .UseLifetime()
+ .InstallTool(new Uri("nuget:?package=JetBrains.ReSharper.CommandLineTools"))
+ // Register Cake.Frosting.Issues.Recipe tasks.
+ .AddAssembly(Assembly.GetAssembly(typeof(IssuesTask)))
+ .Run(args);
+ }
+}
+
+public class BuildContext : IssuesContext
+{
+ public BuildContext(ICakeContext context)
+ : base(context)
+ {
+ }
+
+ protected override BuildParameters CreateIssuesParameters()
+ {
+ return new BuildParameters();
+ }
+
+ protected override BuildState CreateIssuesState()
+ {
+ return new BuildState(this);
+ }
+}
+
+public class BuildParameters : IssuesParameters
+{
+ public DirectoryPath LogDirectoryPath => this.OutputDirectory.Combine("logs");
+
+ public BuildParameters()
+ {
+ this.OutputDirectory = this.OutputDirectory.Combine("output");
+ }
+}
+
+public class BuildState : IssuesState
+{
+ public FilePath SolutionFilePath { get; }
+
+ public BuildState(BuildContext context)
+ : base(context, RepositoryInfoProviderType.Cli)
+ {
+ this.SolutionFilePath =
+ this.ProjectRootDirectory
+ .Combine("src")
+ .CombineWithFilePath("ClassLibrary1.sln");
+ }
+}
+
+public class Lifetime : FrostingLifetime
+{
+ public override void Setup(BuildContext context, ISetupContext info)
+ {
+ // Determine Build Identifier
+ var platform = context.Environment.Platform.Family.ToString();
+ var runtime = context.Environment.Runtime.IsCoreClr ? ".NET Core" : ".NET Framework";
+
+ context.Parameters.BuildIdentifier = $"Cake Frosting {platform} ({runtime})";
+
+ context.Information("Build identifier: {0}", context.Parameters.BuildIdentifier);
+ }
+
+ public override void Teardown(BuildContext context, ITeardownContext info)
+ {
+ }
+}
+
+[TaskName("Run-InspectCode")]
+public sealed class RunInspectCodeTask : FrostingTask
+{
+ public override bool ShouldRun(BuildContext context)
+ {
+ return context.IsRunningOnWindows();
+ }
+
+ public override void Run(BuildContext context)
+ {
+ // Run InspectCode.
+ var inspectCodeLogFilePath = context.Parameters.LogDirectoryPath.CombineWithFilePath("inspectCode.log");
+
+ var settings = new InspectCodeSettings() {
+ OutputFile = inspectCodeLogFilePath,
+ ArgumentCustomization = x => x.Append("--no-build"),
+ WorkingDirectory = context.State.ProjectRootDirectory
+ };
+
+ context.InspectCode(
+ context.State.SolutionFilePath,
+ settings);
+
+ // Pass path to InspectCode log file to Cake.Frosting.Issues.Recipe.
+ context.Parameters.InputFiles.AddInspectCodeLogFile(inspectCodeLogFilePath);
+ }
+}
+
+[TaskName("Lint")]
+[IsDependentOn(typeof(RunInspectCodeTask))]
+[IsDependeeOf(typeof(ReadIssuesTask))]
+public class LintTask : FrostingTask
+{
+}
+
+[TaskName("Default")]
+[IsDependentOn(typeof(IssuesTask))]
+public class DefaultTask : FrostingTask
+{
+}
diff --git a/tests/frosting/net8.0/nuget.config b/tests/frosting/net8.0/nuget.config
new file mode 100644
index 00000000..663b555f
--- /dev/null
+++ b/tests/frosting/net8.0/nuget.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/frosting/net8.0/src/ClassLibrary1.sln b/tests/frosting/net8.0/src/ClassLibrary1.sln
new file mode 100644
index 00000000..62df92e3
--- /dev/null
+++ b/tests/frosting/net8.0/src/ClassLibrary1.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary1", "ClassLibrary1\ClassLibrary1.csproj", "{9B73BB5B-06A3-46F3-9068-E3607A8217B0}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9B73BB5B-06A3-46F3-9068-E3607A8217B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9B73BB5B-06A3-46F3-9068-E3607A8217B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9B73BB5B-06A3-46F3-9068-E3607A8217B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9B73BB5B-06A3-46F3-9068-E3607A8217B0}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/tests/frosting/net8.0/src/ClassLibrary1/Class1.cs b/tests/frosting/net8.0/src/ClassLibrary1/Class1.cs
new file mode 100644
index 00000000..4ea00049
--- /dev/null
+++ b/tests/frosting/net8.0/src/ClassLibrary1/Class1.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ClassLibrary1
+{
+ public class Class1
+ {
+ public void Foo()
+ {
+ var foo = "foo";
+ var bar = "bar";
+ if (!string.IsNullOrEmpty(foo) && !string.IsNullOrEmpty(bar))
+ {
+ var foobar = foo + bar;
+ }
+ }
+
+ public void Bar()
+ {
+ var foo = "foo";
+ var bar = "bar";
+ if (!string.IsNullOrEmpty(foo) && !string.IsNullOrEmpty(bar))
+ {
+ var foobar = foo + bar;
+ }
+ }
+ }
+}
diff --git a/tests/frosting/net8.0/src/ClassLibrary1/ClassLibrary1.csproj b/tests/frosting/net8.0/src/ClassLibrary1/ClassLibrary1.csproj
new file mode 100644
index 00000000..9ec4dd90
--- /dev/null
+++ b/tests/frosting/net8.0/src/ClassLibrary1/ClassLibrary1.csproj
@@ -0,0 +1,21 @@
+
+
+
+ netstandard2.0
+
+
+
+
+ all
+ 3.0.0
+
+
+ all
+ 1.1.118
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/script-runner/.config/dotnet-tools.json b/tests/script-runner/.config/dotnet-tools.json
index 831d039b..da200cda 100644
--- a/tests/script-runner/.config/dotnet-tools.json
+++ b/tests/script-runner/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"cake.tool": {
- "version": "3.0.0",
+ "version": "4.0.0",
"commands": [
"dotnet-cake"
]