From 834f76bd066d8d478e4b16ab611de597f6687b15 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 15 Aug 2019 18:33:14 +0200 Subject: [PATCH 001/201] Move documentation to docs folder --- docs/configuration.md | 42 +++++++++++++++++++++++++++++++++++++++++ docs/demos.md | 12 ++++++++++++ docs/index.cshtml | 7 +++++++ docs/overview.md | 15 +++++++++++++++ docs/supported-tools.md | 35 ++++++++++++++++++++++++++++++++++ docs/tasks.md | 17 +++++++++++++++++ docs/usage.md | 10 ++++++++++ 7 files changed, 138 insertions(+) create mode 100644 docs/configuration.md create mode 100644 docs/demos.md create mode 100644 docs/index.cshtml create mode 100644 docs/overview.md create mode 100644 docs/supported-tools.md create mode 100644 docs/tasks.md create mode 100644 docs/usage.md diff --git a/docs/configuration.md b/docs/configuration.md new file mode 100644 index 000000000..1887e0ee8 --- /dev/null +++ b/docs/configuration.md @@ -0,0 +1,42 @@ +--- +Order: 50 +Title: Configuration +Description: Available parameters to configure Cake.Issues.Recipe. +--- + +This page lists configuration properties which can be used to define the functionality +and behavior of Cake.Issues.Recipe. + +# General + +| Property | Default Value | Description | +|----------------------------------------------------|------------------|--------------------------------------------------------------------------------------------------| +| `IssuesParameters.OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | + +# Input files + +| Property | Default Value | Description | +|---------------------------------------------------------------|---------------|--------------------------------------------------------| +| `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | `null` | Path to the MSBuild log file created by XmlFileLogger. | +| `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | `null` | Path to the MSBuild binary log file. | +| `IssuesParameters.InputFiles.InspectCodeLogFilePath` | `null` | Path to the JetBrains InspectCoe log file. | + +# Report creation + +| Property | Default Value | Description | +|------------------------------------------------------------|---------------|---------------------------------------------------------| +| `IssuesParameters.Reporting.ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | + +# Build server integration + +| Property | Default Value | Description | +|----------------------------------------------------------------|---------------|-------------------------------------------------------------------------------------------| +| `IssuesParameters.BuildServer.ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | +| `IssuesParameters.BuildServer.ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | + +# Pull request integration + +| Property | Default Value | Description | +|----------------------------------------------------------------|---------------|-------------------------------------------------------------------------| +| `IssuesParameters.PullRequest.ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | +| `IssuesParameters.PullRequest.ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | diff --git a/docs/demos.md b/docs/demos.md new file mode 100644 index 000000000..d4ec25139 --- /dev/null +++ b/docs/demos.md @@ -0,0 +1,12 @@ +--- +Order: 40 +Title: Demos +Description: Demo setups for Cake.Issues.Recipe. +--- + +There are demo setups available for different combinations of build servers and repositories which you can fork and to which you can create pull requests +to test the recipe functionality. + +| Build Server | Repository | +|-------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------| +| [Azure Pipelines](https://dev.azure.com/pberger/Cake.Issues.Recipe-Demo/_build/latest?definitionId=6) | [Azure Repos](https://dev.azure.com/pberger/_git/Cake.Issues.Recipe-Demo) | \ No newline at end of file diff --git a/docs/index.cshtml b/docs/index.cshtml new file mode 100644 index 000000000..79cf416ec --- /dev/null +++ b/docs/index.cshtml @@ -0,0 +1,7 @@ +--- +Order: 40 +Description: Using Cake.Issues addins with a pre-made recipe script. +--- +

@Html.Raw(Model.String(DocsKeys.Description))

+ +@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/overview.md b/docs/overview.md new file mode 100644 index 000000000..79b32b1e9 --- /dev/null +++ b/docs/overview.md @@ -0,0 +1,15 @@ +--- +Order: 10 +Title: Overview +Description: Overview about Cake.Issues.Recipe. +--- +[Cake.Issues.Recipe] provides a build script, delivered as a NuGet package, which can be used inside your projects Cake build script to add issue management. + +Integration of code analyzing and linting tools into a build pipeline often looks the similar, and differentiates mainly on the used linters, build and pull request systems. +Cake.Issues.Recipe contains code to do all the parsing, integration with build and pull request systems for you, using the individual Cake.Issues addins. +It supports different linters based on the linting log files you pass it and integrates automatically with different build and pull request systems. + +See [supported tools] for a list of supported linters, build servers and pull request systems. + +[Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe +[supported tools]: supported-tools \ No newline at end of file diff --git a/docs/supported-tools.md b/docs/supported-tools.md new file mode 100644 index 000000000..025bf70a8 --- /dev/null +++ b/docs/supported-tools.md @@ -0,0 +1,35 @@ +--- +Order: 30 +Title: Supported tools +Description: Tools supported by Cake.Issues.Recipe. +--- + +Cake.Issues.Recipe supports reading issues from different tools and integrates with different build and pull request systems. + +# Tools + +Cake.Issues.Recipe supports reading issues from output of the following tools: + +| Tool | Format | Property | +|-----------------------------------|----------------------------------------|---------------------------------------------------------------| +| MsBuild | [MSBuild Extension Pack XmlFileLogger] | `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | +| MsBuild | Binary Log File | `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | +| JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.InspectCodeLogFilePath` | + +[MSBuild Extension Pack XmlFileLogger]: http://www.msbuildextensionpack.com/help/4.0.5.0/html/242ab4fd-c2e2-f6aa-325b-7588725aed24.htm + +# Build systems + +Cake.Issues.Recipe integrates with the following build systems: + +| Build System | Issues summary | Full issues report | +|--------------------------------|------------------------------------------------------------------|------------------------------------------------------------------| +| Azure Pipelines (Azure DevOps) | | | + +# Pull request systems + +Cake.Issues.Recipe integrates with the following pull request systems: + +| Pull Request System | Write issues to pull requests | Set pull request status | +|----------------------------|------------------------------------------------------------------|------------------------------------------------------------------| +| Azure Repos (Azure DevOps) | | | diff --git a/docs/tasks.md b/docs/tasks.md new file mode 100644 index 000000000..ed15c5e72 --- /dev/null +++ b/docs/tasks.md @@ -0,0 +1,17 @@ +--- +Order: 60 +Title: Tasks +Description: Tasks provided by Cake.Issues.Recipe. +--- + +Cake.Issues.Recipe provides the following tasks to your build script: + +| Task | Description | Task instance | +|------------------------------|----------------------------------------------|--------------------------------------------------| +| `Issues` | Main tasks for issue management integration. | `IssuesBuildTasks.IssuesTask` | +| `Read-Issues` | Reads issues from the provided log files. | `IssuesBuildTasks.ReadIssuesTask` | +| `Create-FullIssuesReport` | Creates issue report. | `IssuesBuildTasks.CreateFullIssuesReportTask` | +| `Publish-IssuesArtifacts` | Publish artifacts to build server. | `IssuesBuildTasks.PublishIssuesArtifactsTask` | +| `Create-SummaryIssuesReport` | Creates a summary issue report. | `IssuesBuildTasks.CreateSummaryIssuesReportTask` | +| `Report-IssuesToPullRequest` | Report issues to pull request. | `IssuesBuildTasks.ReportIssuesToPullRequestTask` | +| `Set-PullRequestIssuesState` | Set pull request status. | `IssuesBuildTasks.SetPullRequestIssuesStateTask` | \ No newline at end of file diff --git a/docs/usage.md b/docs/usage.md new file mode 100644 index 000000000..85e184c1f --- /dev/null +++ b/docs/usage.md @@ -0,0 +1,10 @@ +--- +Order: 20 +Title: Usage +Description: How to use Cake.Issues.Recipe in your build script. +--- + +Examples how to use [Cake.Issues.Recipe] can be found under [usage]. + +[Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe +[usage]: ../usage/recipe/ \ No newline at end of file From 20c3b691adee8fe1aa55103a229261f009132029 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 9 Oct 2019 22:59:02 +0200 Subject: [PATCH 002/201] (GH-23) Add support for building on AppVeyor --- docs/supported-tools.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 025bf70a8..10b85313d 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -22,9 +22,10 @@ Cake.Issues.Recipe supports reading issues from output of the following tools: Cake.Issues.Recipe integrates with the following build systems: -| Build System | Issues summary | Full issues report | -|--------------------------------|------------------------------------------------------------------|------------------------------------------------------------------| -| Azure Pipelines (Azure DevOps) | | | +| Build System | Issues summary | Full issues report | +|--------------------------------|--------------------------------------------------------------------|------------------------------------------------------------------| +| AppVeyor | | | +| Azure Pipelines (Azure DevOps) | | | # Pull request systems From b05a79bade1e29a7b43b353986b4d67aff74f8ee Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sun, 11 Aug 2019 23:03:04 +0200 Subject: [PATCH 003/201] (GH-72) Add support for build identifiers --- docs/configuration.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 1887e0ee8..49299e94c 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -9,9 +9,10 @@ and behavior of Cake.Issues.Recipe. # General -| Property | Default Value | Description | -|----------------------------------------------------|------------------|--------------------------------------------------------------------------------------------------| -| `IssuesParameters.OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | +| Property | Default Value | Description | +|----------------------------------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| +| `IssuesParameters.OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | +| `IssuesParameters.BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. | # Input files From 4bd570aefcc01a325d95625419460282bd6526b1 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 15 Oct 2019 22:45:50 +0200 Subject: [PATCH 004/201] (GH-86) Support reporting issues to build server --- docs/configuration.md | 1 + docs/supported-tools.md | 8 ++++---- docs/tasks.md | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 49299e94c..23ab412ea 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -32,6 +32,7 @@ and behavior of Cake.Issues.Recipe. | Property | Default Value | Description | |----------------------------------------------------------------|---------------|-------------------------------------------------------------------------------------------| +| `IssuesParameters.PullRequest.ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | | `IssuesParameters.BuildServer.ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | | `IssuesParameters.BuildServer.ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 10b85313d..af051f8e9 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -22,10 +22,10 @@ Cake.Issues.Recipe supports reading issues from output of the following tools: Cake.Issues.Recipe integrates with the following build systems: -| Build System | Issues summary | Full issues report | -|--------------------------------|--------------------------------------------------------------------|------------------------------------------------------------------| -| AppVeyor | | | -| Azure Pipelines (Azure DevOps) | | | +| Build System | Write issues to build server | Issues summary | Full issues report | +|--------------------------------|--------------------------------------------------------------------|--------------------------------------------------------------------|------------------------------------------------------------------| +| AppVeyor | | | | +| Azure Pipelines (Azure DevOps) | | | | # Pull request systems diff --git a/docs/tasks.md b/docs/tasks.md index ed15c5e72..8e07b2206 100644 --- a/docs/tasks.md +++ b/docs/tasks.md @@ -12,6 +12,7 @@ Cake.Issues.Recipe provides the following tasks to your build script: | `Read-Issues` | Reads issues from the provided log files. | `IssuesBuildTasks.ReadIssuesTask` | | `Create-FullIssuesReport` | Creates issue report. | `IssuesBuildTasks.CreateFullIssuesReportTask` | | `Publish-IssuesArtifacts` | Publish artifacts to build server. | `IssuesBuildTasks.PublishIssuesArtifactsTask` | +| `Report-IssuesToBuildServer` | Report issues to build server. | `IssuesBuildTasks.ReportIssuesToBuildServerTask` | | `Create-SummaryIssuesReport` | Creates a summary issue report. | `IssuesBuildTasks.CreateSummaryIssuesReportTask` | | `Report-IssuesToPullRequest` | Report issues to pull request. | `IssuesBuildTasks.ReportIssuesToPullRequestTask` | | `Set-PullRequestIssuesState` | Set pull request status. | `IssuesBuildTasks.SetPullRequestIssuesStateTask` | \ No newline at end of file From 4c5e5000c527f1048f855225b0c48c2e1bc1ba40 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 19 Oct 2019 00:31:19 +0200 Subject: [PATCH 005/201] Fix typo --- docs/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration.md b/docs/configuration.md index 23ab412ea..9339b06bb 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -32,7 +32,7 @@ and behavior of Cake.Issues.Recipe. | Property | Default Value | Description | |----------------------------------------------------------------|---------------|-------------------------------------------------------------------------------------------| -| `IssuesParameters.PullRequest.ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | +| `IssuesParameters.BuildServer.ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | | `IssuesParameters.BuildServer.ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | | `IssuesParameters.BuildServer.ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | From 7f65b007087c2abfb5027ec1c2e573d12757265d Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 15 Apr 2020 20:34:08 +0200 Subject: [PATCH 006/201] Report issues to Azure Pipelines --- docs/supported-tools.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/supported-tools.md b/docs/supported-tools.md index af051f8e9..e80b58451 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -25,7 +25,7 @@ Cake.Issues.Recipe integrates with the following build systems: | Build System | Write issues to build server | Issues summary | Full issues report | |--------------------------------|--------------------------------------------------------------------|--------------------------------------------------------------------|------------------------------------------------------------------| | AppVeyor | | | | -| Azure Pipelines (Azure DevOps) | | | | +| Azure Pipelines (Azure DevOps) | | | | # Pull request systems From 87b2e145171c83815b08e583c2a949ca68b620ef Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sun, 5 Jul 2020 18:00:45 +0200 Subject: [PATCH 007/201] (GH-113) Document that Azure Pipelines only shows 10 issues --- docs/supported-tools.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/supported-tools.md b/docs/supported-tools.md index e80b58451..4f265bec9 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -22,10 +22,10 @@ Cake.Issues.Recipe supports reading issues from output of the following tools: Cake.Issues.Recipe integrates with the following build systems: -| Build System | Write issues to build server | Issues summary | Full issues report | -|--------------------------------|--------------------------------------------------------------------|--------------------------------------------------------------------|------------------------------------------------------------------| -| AppVeyor | | | | -| Azure Pipelines (Azure DevOps) | | | | +| Build System | Write issues to build server | Issues summary | Full issues report | +|--------------------------------|-----------------------------------------------------------------------------------|--------------------------------------------------------------------|------------------------------------------------------------------| +| AppVeyor | | | | +| Azure Pipelines (Azure DevOps) | (Only first 10) | | | # Pull request systems From b3f5c4ffed512c5290b3485095fe60a06beaef15 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 14 Jul 2020 19:26:30 +0200 Subject: [PATCH 008/201] Fix typo --- docs/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration.md b/docs/configuration.md index 9339b06bb..75950ea8c 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -20,7 +20,7 @@ and behavior of Cake.Issues.Recipe. |---------------------------------------------------------------|---------------|--------------------------------------------------------| | `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | `null` | Path to the MSBuild log file created by XmlFileLogger. | | `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | `null` | Path to the MSBuild binary log file. | -| `IssuesParameters.InputFiles.InspectCodeLogFilePath` | `null` | Path to the JetBrains InspectCoe log file. | +| `IssuesParameters.InputFiles.InspectCodeLogFilePath` | `null` | Path to the JetBrains InspectCode log file. | # Report creation From 401d6828c3cb374805575ef327bdb75d119e7685 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 14 Jul 2020 19:24:12 +0200 Subject: [PATCH 009/201] (GH-5) Add support for markdownlint-cli --- docs/configuration.md | 1 + docs/supported-tools.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index 75950ea8c..c395f6eef 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -21,6 +21,7 @@ and behavior of Cake.Issues.Recipe. | `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | `null` | Path to the MSBuild log file created by XmlFileLogger. | | `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | `null` | Path to the MSBuild binary log file. | | `IssuesParameters.InputFiles.InspectCodeLogFilePath` | `null` | Path to the JetBrains InspectCode log file. | +| `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | `null` | Path to the markdownlint-cli log file. | # Report creation diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 4f265bec9..0fbd93334 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -15,8 +15,10 @@ Cake.Issues.Recipe supports reading issues from output of the following tools: | MsBuild | [MSBuild Extension Pack XmlFileLogger] | `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | | MsBuild | Binary Log File | `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | | JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.InspectCodeLogFilePath` | +| markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | [MSBuild Extension Pack XmlFileLogger]: http://www.msbuildextensionpack.com/help/4.0.5.0/html/242ab4fd-c2e2-f6aa-325b-7588725aed24.htm +[markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli # Build systems From f0f7dabe1e6689a126fb2523ea27369ee852f1db Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 14 Jul 2020 22:12:31 +0200 Subject: [PATCH 010/201] (GH-6) Add support for markdownlint --- docs/configuration.md | 1 + docs/supported-tools.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index c395f6eef..cb64e3dfe 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -22,6 +22,7 @@ and behavior of Cake.Issues.Recipe. | `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | `null` | Path to the MSBuild binary log file. | | `IssuesParameters.InputFiles.InspectCodeLogFilePath` | `null` | Path to the JetBrains InspectCode log file. | | `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | `null` | Path to the markdownlint-cli log file. | +| `IssuesParameters.InputFiles.MarkdownlintV1LogFilePath` | `null` | Path to the markdownlint log file in version 1. | # Report creation diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 0fbd93334..136ee8a32 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -16,9 +16,11 @@ Cake.Issues.Recipe supports reading issues from output of the following tools: | MsBuild | Binary Log File | `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | | JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.InspectCodeLogFilePath` | | markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | +| markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.MarkdownlintV1LogFilePath` | [MSBuild Extension Pack XmlFileLogger]: http://www.msbuildextensionpack.com/help/4.0.5.0/html/242ab4fd-c2e2-f6aa-325b-7588725aed24.htm [markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli +[markdownlint]: https://github.com/DavidAnson/markdownlint # Build systems From a78c6e431a445960967442273db12412ce55b4d0 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sun, 2 Aug 2020 19:23:19 +0200 Subject: [PATCH 011/201] (GH-110) Add support for JetBrains dupFinder (#132) --- docs/configuration.md | 1 + docs/supported-tools.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index cb64e3dfe..155aa98d1 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -21,6 +21,7 @@ and behavior of Cake.Issues.Recipe. | `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | `null` | Path to the MSBuild log file created by XmlFileLogger. | | `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | `null` | Path to the MSBuild binary log file. | | `IssuesParameters.InputFiles.InspectCodeLogFilePath` | `null` | Path to the JetBrains InspectCode log file. | +| `IssuesParameters.InputFiles.DupFinderLogFilePath` | `null` | Path to the JetBrains dupFinder log file. | | `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | `null` | Path to the markdownlint-cli log file. | | `IssuesParameters.InputFiles.MarkdownlintV1LogFilePath` | `null` | Path to the markdownlint log file in version 1. | diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 136ee8a32..477d2973e 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -15,10 +15,12 @@ Cake.Issues.Recipe supports reading issues from output of the following tools: | MsBuild | [MSBuild Extension Pack XmlFileLogger] | `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | | MsBuild | Binary Log File | `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | | JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.InspectCodeLogFilePath` | +| [JetBrains dupFinder] | | `IssuesParameters.InputFiles.DupFinderLogFilePath` | | markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | | markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.MarkdownlintV1LogFilePath` | [MSBuild Extension Pack XmlFileLogger]: http://www.msbuildextensionpack.com/help/4.0.5.0/html/242ab4fd-c2e2-f6aa-325b-7588725aed24.htm +[JetBrains dupFinder]: https://www.jetbrains.com/help/resharper/dupFinder.html [markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli [markdownlint]: https://github.com/DavidAnson/markdownlint From 565ae97f899da97d659b80746249864afc91f9af Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 23 Sep 2020 16:07:27 +0200 Subject: [PATCH 012/201] (GH-148) Add support for GitHub Actions --- docs/supported-tools.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 477d2973e..902252148 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -28,15 +28,17 @@ Cake.Issues.Recipe supports reading issues from output of the following tools: Cake.Issues.Recipe integrates with the following build systems: -| Build System | Write issues to build server | Issues summary | Full issues report | -|--------------------------------|-----------------------------------------------------------------------------------|--------------------------------------------------------------------|------------------------------------------------------------------| -| AppVeyor | | | | -| Azure Pipelines (Azure DevOps) | (Only first 10) | | | +| Build System | Write issues to build server | Issues summary | Full issues report | +|--------------------------------|-----------------------------------------------------------------------------------|--------------------------------------------------------------------|--------------------------------------------------------------------| +| AppVeyor | | | | +| Azure Pipelines (Azure DevOps) | (Only first 10) | | | +| GitHub Actions | | | | # Pull request systems Cake.Issues.Recipe integrates with the following pull request systems: -| Pull Request System | Write issues to pull requests | Set pull request status | -|----------------------------|------------------------------------------------------------------|------------------------------------------------------------------| -| Azure Repos (Azure DevOps) | | | +| Pull Request System | Write issues to pull requests | Set pull request status | +|----------------------------|----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------| +| Azure Repos (Azure DevOps) | | | +| GitHub | (When build from GitHub Actions) | | From 1598d332e39c554f252f15781973675a687c6ca2 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 1 Dec 2020 21:28:13 +0100 Subject: [PATCH 013/201] (GH-3) Add support for ESLint JSON files --- docs/configuration.md | 19 +++++++++++-------- docs/supported-tools.md | 3 +++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 155aa98d1..8193c262f 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -16,14 +16,17 @@ and behavior of Cake.Issues.Recipe. # Input files -| Property | Default Value | Description | -|---------------------------------------------------------------|---------------|--------------------------------------------------------| -| `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | `null` | Path to the MSBuild log file created by XmlFileLogger. | -| `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | `null` | Path to the MSBuild binary log file. | -| `IssuesParameters.InputFiles.InspectCodeLogFilePath` | `null` | Path to the JetBrains InspectCode log file. | -| `IssuesParameters.InputFiles.DupFinderLogFilePath` | `null` | Path to the JetBrains dupFinder log file. | -| `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | `null` | Path to the markdownlint-cli log file. | -| `IssuesParameters.InputFiles.MarkdownlintV1LogFilePath` | `null` | Path to the markdownlint log file in version 1. | +| Property | Default Value | Description | +|---------------------------------------------------------------|---------------|-----------------------------------------------------------------------| +| `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | `null` | Path to the MSBuild log file created by XmlFileLogger. | +| `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | `null` | Path to the MSBuild binary log file. | +| `IssuesParameters.InputFiles.InspectCodeLogFilePath` | `null` | Path to the JetBrains InspectCode log file. | +| `IssuesParameters.InputFiles.DupFinderLogFilePath` | `null` | Path to the JetBrains dupFinder log file. | +| `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | `null` | Path to the markdownlint-cli log file. | +| `IssuesParameters.InputFiles.MarkdownlintV1LogFilePath` | `null` | Path to the markdownlint log file in version 1. | +| `IssuesParameters.InputFiles.EsLintJsonLogFilePath` | `null` | Path to the ESLint log file generated by the [ESLint json formatter]. | + +[ESLint json formatter]: https://eslint.org/docs/user-guide/formatters/#json # Report creation diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 902252148..6fea65f0c 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -18,11 +18,14 @@ Cake.Issues.Recipe supports reading issues from output of the following tools: | [JetBrains dupFinder] | | `IssuesParameters.InputFiles.DupFinderLogFilePath` | | markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | | markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.MarkdownlintV1LogFilePath` | +| [ESLint] | [json formatter] | `IssuesParameters.InputFiles.EsLintJsonLogFilePath` | [MSBuild Extension Pack XmlFileLogger]: http://www.msbuildextensionpack.com/help/4.0.5.0/html/242ab4fd-c2e2-f6aa-325b-7588725aed24.htm [JetBrains dupFinder]: https://www.jetbrains.com/help/resharper/dupFinder.html [markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli [markdownlint]: https://github.com/DavidAnson/markdownlint +[ESLint]: https://eslint.org/ +[json formatter]: https://eslint.org/docs/user-guide/formatters/#json # Build systems From 3ea1434ff69b5fa66a91654b4f97656fdc99ccc7 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 2 Aug 2021 22:38:24 +0200 Subject: [PATCH 014/201] Add documentation for Cake.Issues.FrostingRecipe (#174) --- docs/configuration.md | 54 ++++++++++++++++++++--------------------- docs/demos.md | 8 +++--- docs/overview.md | 17 ++++++++++--- docs/supported-tools.md | 10 ++++---- docs/tasks.md | 24 +++++++++--------- docs/usage.md | 5 ++-- 6 files changed, 63 insertions(+), 55 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 8193c262f..c1c924591 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -1,50 +1,50 @@ --- Order: 50 Title: Configuration -Description: Available parameters to configure Cake.Issues.Recipe. +Description: Available parameters to configure Cake.Issues recipes. --- This page lists configuration properties which can be used to define the functionality -and behavior of Cake.Issues.Recipe. +and behavior of Cake.Issues recipes. # General -| Property | Default Value | Description | -|----------------------------------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| -| `IssuesParameters.OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | -| `IssuesParameters.BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|------------------------------------|--------------------------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| +| `IssuesParameters.OutputDirectory` | `IssuesContext.Parameters.OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | +| `IssuesParameters.BuildIdentifier` | `IssuesContext.Parameters.BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. | # Input files -| Property | Default Value | Description | -|---------------------------------------------------------------|---------------|-----------------------------------------------------------------------| -| `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | `null` | Path to the MSBuild log file created by XmlFileLogger. | -| `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | `null` | Path to the MSBuild binary log file. | -| `IssuesParameters.InputFiles.InspectCodeLogFilePath` | `null` | Path to the JetBrains InspectCode log file. | -| `IssuesParameters.InputFiles.DupFinderLogFilePath` | `null` | Path to the JetBrains dupFinder log file. | -| `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | `null` | Path to the markdownlint-cli log file. | -| `IssuesParameters.InputFiles.MarkdownlintV1LogFilePath` | `null` | Path to the markdownlint log file in version 1. | -| `IssuesParameters.InputFiles.EsLintJsonLogFilePath` | `null` | Path to the ESLint log file generated by the [ESLint json formatter]. | +| Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Methods | Description | +|----------------------------------------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------------| +| `IssuesParameters.InputFiles.AddMsBuildXmlFileLoggerLogFile()` | `IssuesContext.Parameters.InputFiles.AddMsBuildXmlFileLoggerLogFile()` | Adds a path to a MSBuild log file created by XmlFileLogger. | +| `IssuesParameters.InputFiles.AddMsBuildBinaryLogFile()` | `IssuesContext.Parameters.InputFiles.AddMsBuildBinaryLogFile()` | Adds a path to a MSBuild binary log file. | +| `IssuesParameters.InputFiles.AddInspectCodeLogFile()` | `IssuesContext.Parameters.InputFiles.AddInspectCodeLogFile()` | Adds a path to a JetBrains InspectCode log file. | +| `IssuesParameters.InputFiles.AddDupFinderLogFile()` | `IssuesContext.Parameters.InputFiles.AddDupFinderLogFile()` | Adds a path to a JetBrains dupFinder log file. | +| `IssuesParameters.InputFiles.AddMarkdownlintCliLogFile()` | `IssuesContext.Parameters.InputFiles.AddMarkdownlintCliLogFile()` | Adds a path to a markdownlint-cli log file. | +| `IssuesParameters.InputFiles.AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.AddMarkdownlintV1LogFile()` | Adds a path to a markdownlint log file in version 1. | +| `IssuesParameters.InputFiles.AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.AddEsLintJsonLogFile()` | Adds a path to a ESLint log file generated by the [ESLint json formatter]. | [ESLint json formatter]: https://eslint.org/docs/user-guide/formatters/#json # Report creation -| Property | Default Value | Description | -|------------------------------------------------------------|---------------|---------------------------------------------------------| -| `IssuesParameters.Reporting.ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|------------------------------------------------------------|-------------------------------------------------------------------|---------------|---------------------------------------------------------| +| `IssuesParameters.Reporting.ShouldCreateFullIssuesReport` | `IssuesContext.Parameters.Reporting.ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | # Build server integration -| Property | Default Value | Description | -|----------------------------------------------------------------|---------------|-------------------------------------------------------------------------------------------| -| `IssuesParameters.BuildServer.ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | -| `IssuesParameters.BuildServer.ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | -| `IssuesParameters.BuildServer.ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|----------------------------------------------------------------|------------------------------------------------------------------------|---------------|-------------------------------------------------------------------------------------------| +| `IssuesParameters.BuildServer.ShouldReportIssuesToBuildServer` | `IssuesContext.Parameters.BuildServer.ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | +| `IssuesParameters.BuildServer.ShouldPublishFullIssuesReport` | `IssuesContext.Parameters.BuildServer.ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | +| `IssuesParameters.BuildServer.ShouldCreateSummaryIssuesReport` | `IssuesContext.Parameters.BuildServer.ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | # Pull request integration -| Property | Default Value | Description | -|----------------------------------------------------------------|---------------|-------------------------------------------------------------------------| -| `IssuesParameters.PullRequest.ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | -| `IssuesParameters.PullRequest.ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|----------------------------------------------------------------------|------------------------------------------------------------------------------|---------------|-------------------------------------------------------------------------| +| `IssuesParameters.PullRequestSystem.ShouldReportIssuesToPullRequest` | `IssuesContext.Parameters.PullRequestSystem.ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | +| `IssuesParameters.PullRequestSystem.ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | diff --git a/docs/demos.md b/docs/demos.md index d4ec25139..b8cca3e9b 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -1,12 +1,12 @@ --- Order: 40 Title: Demos -Description: Demo setups for Cake.Issues.Recipe. +Description: Demo setups for Cake.Issues recipes. --- There are demo setups available for different combinations of build servers and repositories which you can fork and to which you can create pull requests to test the recipe functionality. -| Build Server | Repository | -|-------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------| -| [Azure Pipelines](https://dev.azure.com/pberger/Cake.Issues.Recipe-Demo/_build/latest?definitionId=6) | [Azure Repos](https://dev.azure.com/pberger/_git/Cake.Issues.Recipe-Demo) | \ No newline at end of file +| Recipe | Build Server | Repository | +|--------------------|-------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------| +| Cake.Issues.Recipe | [Azure Pipelines](https://dev.azure.com/pberger/Cake.Issues.Recipe-Demo/_build/latest?definitionId=6) | [Azure Repos](https://dev.azure.com/pberger/_git/Cake.Issues.Recipe-Demo) | \ No newline at end of file diff --git a/docs/overview.md b/docs/overview.md index 79b32b1e9..220069320 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -1,15 +1,24 @@ --- Order: 10 Title: Overview -Description: Overview about Cake.Issues.Recipe. +Description: Overview about Cake.Issues recipes. --- -[Cake.Issues.Recipe] provides a build script, delivered as a NuGet package, which can be used inside your projects Cake build script to add issue management. +Cake.Issues recipes provide build scripts, delivered as a NuGet package, which can be used inside your projects Cake build to add issue management. Integration of code analyzing and linting tools into a build pipeline often looks the similar, and differentiates mainly on the used linters, build and pull request systems. -Cake.Issues.Recipe contains code to do all the parsing, integration with build and pull request systems for you, using the individual Cake.Issues addins. -It supports different linters based on the linting log files you pass it and integrates automatically with different build and pull request systems. +Cake.Issues recipes contain code to do all the parsing, integration with build and pull request systems for you, using the individual Cake.Issues addins. +They support different linters based on the linting log files you pass it and integrate automatically with different build and pull request systems. + +There are two flavors available: + +* [Cake.Issues.Recipe]: For [Cake .NET Tool], [Cake runner for .NET Framework] or [Cake runner for .NET Core] +* [Cake.Frosting.Issues.Recipe]: For [Cake Frosting] See [supported tools] for a list of supported linters, build servers and pull request systems. [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe +[Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool +[Cake runner for .NET Framework]: https://cakebuild.net/docs/running-builds/runners/cake-runner-for-dotnet-framework +[Cake runner for .NET Core]: https://cakebuild.net/docs/running-builds/runners/cake-runner-for-dotnet-core +[Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [supported tools]: supported-tools \ No newline at end of file diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 6fea65f0c..7e3318650 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -1,14 +1,14 @@ --- Order: 30 Title: Supported tools -Description: Tools supported by Cake.Issues.Recipe. +Description: Tools supported by Cake.Issues recipes. --- -Cake.Issues.Recipe supports reading issues from different tools and integrates with different build and pull request systems. +Cake.Issues recipes support reading issues from different tools and integrates with different build and pull request systems. # Tools -Cake.Issues.Recipe supports reading issues from output of the following tools: +Cake.Issues recipes support reading issues from output of the following tools: | Tool | Format | Property | |-----------------------------------|----------------------------------------|---------------------------------------------------------------| @@ -29,7 +29,7 @@ Cake.Issues.Recipe supports reading issues from output of the following tools: # Build systems -Cake.Issues.Recipe integrates with the following build systems: +Cake.Issues recipes integrates with the following build systems: | Build System | Write issues to build server | Issues summary | Full issues report | |--------------------------------|-----------------------------------------------------------------------------------|--------------------------------------------------------------------|--------------------------------------------------------------------| @@ -39,7 +39,7 @@ Cake.Issues.Recipe integrates with the following build systems: # Pull request systems -Cake.Issues.Recipe integrates with the following pull request systems: +Cake.Issues recipes integrates with the following pull request systems: | Pull Request System | Write issues to pull requests | Set pull request status | |----------------------------|----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------| diff --git a/docs/tasks.md b/docs/tasks.md index 8e07b2206..d600c8bcb 100644 --- a/docs/tasks.md +++ b/docs/tasks.md @@ -1,18 +1,18 @@ --- Order: 60 Title: Tasks -Description: Tasks provided by Cake.Issues.Recipe. +Description: Tasks provided by Cake.Issues recipes. --- -Cake.Issues.Recipe provides the following tasks to your build script: +Cake.Issues recipes provide the following tasks to your build script: -| Task | Description | Task instance | -|------------------------------|----------------------------------------------|--------------------------------------------------| -| `Issues` | Main tasks for issue management integration. | `IssuesBuildTasks.IssuesTask` | -| `Read-Issues` | Reads issues from the provided log files. | `IssuesBuildTasks.ReadIssuesTask` | -| `Create-FullIssuesReport` | Creates issue report. | `IssuesBuildTasks.CreateFullIssuesReportTask` | -| `Publish-IssuesArtifacts` | Publish artifacts to build server. | `IssuesBuildTasks.PublishIssuesArtifactsTask` | -| `Report-IssuesToBuildServer` | Report issues to build server. | `IssuesBuildTasks.ReportIssuesToBuildServerTask` | -| `Create-SummaryIssuesReport` | Creates a summary issue report. | `IssuesBuildTasks.CreateSummaryIssuesReportTask` | -| `Report-IssuesToPullRequest` | Report issues to pull request. | `IssuesBuildTasks.ReportIssuesToPullRequestTask` | -| `Set-PullRequestIssuesState` | Set pull request status. | `IssuesBuildTasks.SetPullRequestIssuesStateTask` | \ No newline at end of file +| Task | Description | Cake.Issues.Recipe task instance | Cake.Frosting.Issues.Recipe task type | +|------------------------------|----------------------------------------------|--------------------------------------------------|-------------------------------------------------------------| +| `Issues` | Main tasks for issue management integration. | `IssuesBuildTasks.IssuesTask` | `Cake.Frosting.Issues.Recipe.IssuesTask` | +| `Read-Issues` | Reads issues from the provided log files. | `IssuesBuildTasks.ReadIssuesTask` | `Cake.Frosting.Issues.Recipe.ReadIssuesTask` | +| `Create-FullIssuesReport` | Creates issue report. | `IssuesBuildTasks.CreateFullIssuesReportTask` | `Cake.Frosting.Issues.Recipe.CreateFullIssuesReportTask` | +| `Publish-IssuesArtifacts` | Publish artifacts to build server. | `IssuesBuildTasks.PublishIssuesArtifactsTask` | `Cake.Frosting.Issues.Recipe.PublishIssuesArtifactsTask` | +| `Report-IssuesToBuildServer` | Report issues to build server. | `IssuesBuildTasks.ReportIssuesToBuildServerTask` | `Cake.Frosting.Issues.Recipe.ReportIssuesToBuildServerTask` | +| `Create-SummaryIssuesReport` | Creates a summary issue report. | `IssuesBuildTasks.CreateSummaryIssuesReportTask` | `Cake.Frosting.Issues.Recipe.CreateSummaryIssuesReportTask` | +| `Report-IssuesToPullRequest` | Report issues to pull request. | `IssuesBuildTasks.ReportIssuesToPullRequestTask` | `Cake.Frosting.Issues.Recipe.ReportIssuesToPullRequestTask` | +| `Set-PullRequestIssuesState` | Set pull request status. | `IssuesBuildTasks.SetPullRequestIssuesStateTask` | `Cake.Frosting.Issues.Recipe.SetPullRequestIssuesStateTask` | \ No newline at end of file diff --git a/docs/usage.md b/docs/usage.md index 85e184c1f..546c4a6da 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1,10 +1,9 @@ --- Order: 20 Title: Usage -Description: How to use Cake.Issues.Recipe in your build script. +Description: How to use Cake.Issues recipes in your build script. --- -Examples how to use [Cake.Issues.Recipe] can be found under [usage]. +Examples how to use Cake.Issues recipes can be found under [usage]. -[Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [usage]: ../usage/recipe/ \ No newline at end of file From a2c99aa23968f91eb65210825ddd4af30cc45f0e Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 3 Aug 2021 16:10:42 +0200 Subject: [PATCH 015/201] (GH-183) Add documentation for Git repository info provider configuration --- docs/configuration.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index c1c924591..e4356c982 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -7,6 +7,22 @@ Description: Available parameters to configure Cake.Issues recipes. This page lists configuration properties which can be used to define the functionality and behavior of Cake.Issues recipes. +# Git repository information + +Cake.Issues recipes require some information about current Git repository. + +To define the Git provider in `Cake.Issues.Recipe` set the global variable `RepositoryInfoProvider` +To define the Git provider in `Cake.Frosting.Issues.Recipe` pass the value to the constructor of `IssueContext`. + +The following providers are supported: + +| Provider | Description | +|--------------------------------------|-------------------------------------------------------------------------------------------------------------| +| `RepositoryInfoProviderType.CakeGit` | Read repository information using [Cake.Git addin]. Requires system to be compatible with [Cake.Git addin]. | +| `RepositoryInfoProviderType.Cli` | Read repository information using Git CLI. Requires Git CLI to be available in path. | + +By default [Cake.Git addin] will be used. + # General | Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | @@ -48,3 +64,5 @@ and behavior of Cake.Issues recipes. |----------------------------------------------------------------------|------------------------------------------------------------------------------|---------------|-------------------------------------------------------------------------| | `IssuesParameters.PullRequestSystem.ShouldReportIssuesToPullRequest` | `IssuesContext.Parameters.PullRequestSystem.ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | | `IssuesParameters.PullRequestSystem.ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | + +[Cake.Git addin]: https://cakebuild.net/extensions/cake-git/ From 239047e96c3b93a2feaef297ab85e2ddd75ff378 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 3 Aug 2021 16:20:10 +0200 Subject: [PATCH 016/201] Add missing link --- docs/overview.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/overview.md b/docs/overview.md index 220069320..70bfd0399 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -17,6 +17,7 @@ There are two flavors available: See [supported tools] for a list of supported linters, build servers and pull request systems. [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe +[Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool [Cake runner for .NET Framework]: https://cakebuild.net/docs/running-builds/runners/cake-runner-for-dotnet-framework [Cake runner for .NET Core]: https://cakebuild.net/docs/running-builds/runners/cake-runner-for-dotnet-core From 10b9ff6113bf09a35d71e195347d8e563617ee63 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 4 Aug 2021 21:34:05 +0200 Subject: [PATCH 017/201] Improve styling of configuration documentation --- docs/configuration.md | 52 +++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index e4356c982..2e0c4a42c 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -11,7 +11,7 @@ and behavior of Cake.Issues recipes. Cake.Issues recipes require some information about current Git repository. -To define the Git provider in `Cake.Issues.Recipe` set the global variable `RepositoryInfoProvider` +To define the Git provider in `Cake.Issues.Recipe` set the global variable `RepositoryInfoProvider`. To define the Git provider in `Cake.Frosting.Issues.Recipe` pass the value to the constructor of `IssueContext`. The following providers are supported: @@ -25,44 +25,44 @@ By default [Cake.Git addin] will be used. # General -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|------------------------------------|--------------------------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| -| `IssuesParameters.OutputDirectory` | `IssuesContext.Parameters.OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | -| `IssuesParameters.BuildIdentifier` | `IssuesContext.Parameters.BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|-------------------------------------------------------------------|---------------------------------------------------------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| +| `IssuesParameters.`
    `OutputDirectory` | `IssuesContext.Parameters.`
    `OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | +| `IssuesParameters.`
    `BuildIdentifier` | `IssuesContext.Parameters.`
    `BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. | # Input files -| Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Methods | Description | -|----------------------------------------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------------| -| `IssuesParameters.InputFiles.AddMsBuildXmlFileLoggerLogFile()` | `IssuesContext.Parameters.InputFiles.AddMsBuildXmlFileLoggerLogFile()` | Adds a path to a MSBuild log file created by XmlFileLogger. | -| `IssuesParameters.InputFiles.AddMsBuildBinaryLogFile()` | `IssuesContext.Parameters.InputFiles.AddMsBuildBinaryLogFile()` | Adds a path to a MSBuild binary log file. | -| `IssuesParameters.InputFiles.AddInspectCodeLogFile()` | `IssuesContext.Parameters.InputFiles.AddInspectCodeLogFile()` | Adds a path to a JetBrains InspectCode log file. | -| `IssuesParameters.InputFiles.AddDupFinderLogFile()` | `IssuesContext.Parameters.InputFiles.AddDupFinderLogFile()` | Adds a path to a JetBrains dupFinder log file. | -| `IssuesParameters.InputFiles.AddMarkdownlintCliLogFile()` | `IssuesContext.Parameters.InputFiles.AddMarkdownlintCliLogFile()` | Adds a path to a markdownlint-cli log file. | -| `IssuesParameters.InputFiles.AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.AddMarkdownlintV1LogFile()` | Adds a path to a markdownlint log file in version 1. | -| `IssuesParameters.InputFiles.AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.AddEsLintJsonLogFile()` | Adds a path to a ESLint log file generated by the [ESLint json formatter]. | +| Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Methods | Description | +|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------| +| `IssuesParameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | Adds a path to a MSBuild log file created by XmlFileLogger. | +| `IssuesParameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | Adds a path to a MSBuild binary log file. | +| `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFile()` | Adds a path to a JetBrains InspectCode log file. | +| `IssuesParameters.InputFiles.`
    `AddDupFinderLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddDupFinderLogFile()` | Adds a path to a JetBrains dupFinder log file. | +| `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | Adds a path to a markdownlint-cli log file. | +| `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | Adds a path to a markdownlint log file in version 1. | +| `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFile()` | Adds a path to a ESLint log file generated by the [ESLint json formatter]. | [ESLint json formatter]: https://eslint.org/docs/user-guide/formatters/#json # Report creation -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|------------------------------------------------------------|-------------------------------------------------------------------|---------------|---------------------------------------------------------| -| `IssuesParameters.Reporting.ShouldCreateFullIssuesReport` | `IssuesContext.Parameters.Reporting.ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|---------------|---------------------------------------------------------| +| `IssuesParameters.Reporting.`
    `ShouldCreateFullIssuesReport` | `IssuesContext.Parameters.Reporting.`
    `ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | # Build server integration -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|----------------------------------------------------------------|------------------------------------------------------------------------|---------------|-------------------------------------------------------------------------------------------| -| `IssuesParameters.BuildServer.ShouldReportIssuesToBuildServer` | `IssuesContext.Parameters.BuildServer.ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | -| `IssuesParameters.BuildServer.ShouldPublishFullIssuesReport` | `IssuesContext.Parameters.BuildServer.ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | -| `IssuesParameters.BuildServer.ShouldCreateSummaryIssuesReport` | `IssuesContext.Parameters.BuildServer.ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|---------------|-------------------------------------------------------------------------------------------| +| `IssuesParameters.BuildServer.`
    `ShouldReportIssuesToBuildServer` | `IssuesContext.Parameters.BuildServer.`
    `ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | +| `IssuesParameters.BuildServer.`
    `ShouldPublishFullIssuesReport` | `IssuesContext.Parameters.BuildServer.`
    `ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | +| `IssuesParameters.BuildServer.`
    `ShouldCreateSummaryIssuesReport` | `IssuesContext.Parameters.BuildServer.`
    `ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | # Pull request integration -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|----------------------------------------------------------------------|------------------------------------------------------------------------------|---------------|-------------------------------------------------------------------------| -| `IssuesParameters.PullRequestSystem.ShouldReportIssuesToPullRequest` | `IssuesContext.Parameters.PullRequestSystem.ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | -| `IssuesParameters.PullRequestSystem.ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|-----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|---------------|-------------------------------------------------------------------------| +| `IssuesParameters.PullRequestSystem.`
    `ShouldReportIssuesToPullRequest` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | +| `IssuesParameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | [Cake.Git addin]: https://cakebuild.net/extensions/cake-git/ From 86c86f0aec0c6dba28740e539cfb2dbe1576918a Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 4 Aug 2021 21:38:47 +0200 Subject: [PATCH 018/201] Improve styling of task documentation --- docs/tasks.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/tasks.md b/docs/tasks.md index d600c8bcb..6b72fb858 100644 --- a/docs/tasks.md +++ b/docs/tasks.md @@ -6,13 +6,13 @@ Description: Tasks provided by Cake.Issues recipes. Cake.Issues recipes provide the following tasks to your build script: -| Task | Description | Cake.Issues.Recipe task instance | Cake.Frosting.Issues.Recipe task type | -|------------------------------|----------------------------------------------|--------------------------------------------------|-------------------------------------------------------------| -| `Issues` | Main tasks for issue management integration. | `IssuesBuildTasks.IssuesTask` | `Cake.Frosting.Issues.Recipe.IssuesTask` | -| `Read-Issues` | Reads issues from the provided log files. | `IssuesBuildTasks.ReadIssuesTask` | `Cake.Frosting.Issues.Recipe.ReadIssuesTask` | -| `Create-FullIssuesReport` | Creates issue report. | `IssuesBuildTasks.CreateFullIssuesReportTask` | `Cake.Frosting.Issues.Recipe.CreateFullIssuesReportTask` | -| `Publish-IssuesArtifacts` | Publish artifacts to build server. | `IssuesBuildTasks.PublishIssuesArtifactsTask` | `Cake.Frosting.Issues.Recipe.PublishIssuesArtifactsTask` | -| `Report-IssuesToBuildServer` | Report issues to build server. | `IssuesBuildTasks.ReportIssuesToBuildServerTask` | `Cake.Frosting.Issues.Recipe.ReportIssuesToBuildServerTask` | -| `Create-SummaryIssuesReport` | Creates a summary issue report. | `IssuesBuildTasks.CreateSummaryIssuesReportTask` | `Cake.Frosting.Issues.Recipe.CreateSummaryIssuesReportTask` | -| `Report-IssuesToPullRequest` | Report issues to pull request. | `IssuesBuildTasks.ReportIssuesToPullRequestTask` | `Cake.Frosting.Issues.Recipe.ReportIssuesToPullRequestTask` | -| `Set-PullRequestIssuesState` | Set pull request status. | `IssuesBuildTasks.SetPullRequestIssuesStateTask` | `Cake.Frosting.Issues.Recipe.SetPullRequestIssuesStateTask` | \ No newline at end of file +| Task | Description | Cake.Issues.Recipe task instance | Cake.Frosting.Issues.Recipe task type | +|------------------------------|----------------------------------------------|---------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| +| `Issues` | Main tasks for issue management integration. | `IssuesBuildTasks.`
    `IssuesTask` | `Cake.Frosting.Issues.Recipe.`
    `IssuesTask` | +| `Read-Issues` | Reads issues from the provided log files. | `IssuesBuildTasks.`
    `ReadIssuesTask` | `Cake.Frosting.Issues.Recipe.`
    `ReadIssuesTask` | +| `Create-FullIssuesReport` | Creates issue report. | `IssuesBuildTasks.`
    `CreateFullIssuesReportTask` | `Cake.Frosting.Issues.Recipe.`
    `CreateFullIssuesReportTask` | +| `Publish-IssuesArtifacts` | Publish artifacts to build server. | `IssuesBuildTasks.`
    `PublishIssuesArtifactsTask` | `Cake.Frosting.Issues.Recipe.`
    `PublishIssuesArtifactsTask` | +| `Report-IssuesToBuildServer` | Report issues to build server. | `IssuesBuildTasks.`
    `ReportIssuesToBuildServerTask` | `Cake.Frosting.Issues.Recipe.`
    `ReportIssuesToBuildServerTask` | +| `Create-SummaryIssuesReport` | Creates a summary issue report. | `IssuesBuildTasks.`
    `CreateSummaryIssuesReportTask` | `Cake.Frosting.Issues.Recipe.`
    `CreateSummaryIssuesReportTask` | +| `Report-IssuesToPullRequest` | Report issues to pull request. | `IssuesBuildTasks.`
    `ReportIssuesToPullRequestTask` | `Cake.Frosting.Issues.Recipe.`
    `ReportIssuesToPullRequestTask` | +| `Set-PullRequestIssuesState` | Set pull request status. | `IssuesBuildTasks.`
    `SetPullRequestIssuesStateTask` | `Cake.Frosting.Issues.Recipe.`
    `SetPullRequestIssuesStateTask` | \ No newline at end of file From 88ba125fe266ed6003979865b33ca1c14ba1e031 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 5 Aug 2021 16:08:27 +0200 Subject: [PATCH 019/201] Add examples from Cake.Issues.Website --- docs/usage.md | 9 -- docs/usage/index.cshtml | 7 + .../using-cake-frosting-issues-recipe.md | 121 ++++++++++++++++++ docs/usage/using-cake-issues-recipe.md | 68 ++++++++++ 4 files changed, 196 insertions(+), 9 deletions(-) delete mode 100644 docs/usage.md create mode 100644 docs/usage/index.cshtml create mode 100644 docs/usage/using-cake-frosting-issues-recipe.md create mode 100644 docs/usage/using-cake-issues-recipe.md diff --git a/docs/usage.md b/docs/usage.md deleted file mode 100644 index 546c4a6da..000000000 --- a/docs/usage.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 20 -Title: Usage -Description: How to use Cake.Issues recipes in your build script. ---- - -Examples how to use Cake.Issues recipes can be found under [usage]. - -[usage]: ../usage/recipe/ \ No newline at end of file diff --git a/docs/usage/index.cshtml b/docs/usage/index.cshtml new file mode 100644 index 000000000..190abe4f7 --- /dev/null +++ b/docs/usage/index.cshtml @@ -0,0 +1,7 @@ +--- +Order: 20 +Description: How to use Cake.Issues recipes in your build script. +--- +

@Html.Raw(Model.String(DocsKeys.Description))

+ +@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/usage/using-cake-frosting-issues-recipe.md b/docs/usage/using-cake-frosting-issues-recipe.md new file mode 100644 index 000000000..6037ba266 --- /dev/null +++ b/docs/usage/using-cake-frosting-issues-recipe.md @@ -0,0 +1,121 @@ +--- +Order: 20 +Title: Using Cake.Frosting.Issues.Recipe +Description: Basic usage of Cake.Frosting.Issues.Recipe. +--- +The [Cake.Frosting.Issues.Recipe] package can be used to easily add issue management functionality to your Cake Frosting build. + +# Add Cake.Frosting.Issues.Recipe to your Cake Frosting build + +To use [Cake.Frosting.Issues.Recipe] in your Cake Frosting build you need to first add the NuGet package in your `.csproj` file: + +```csharp + +``` + +:::{.alert .alert-warning} +Replace the version (`1.0.0`) with the version of Cake.Frosting.Issues.Recipe you want to use. +::: + +# Register Cake.Issues tasks + +To make Cake Issues tasks available to your Cake Frosting build you need to register them. + +Add the following line to the bootstrapping code in the `Main` method of your Cake Frosting project: + +```csharp +AddAssembly(Assembly.GetAssembly(typeof(IssuesTask))) +``` + +The following bootstrapping code registers the Cake Issues tasks and also installs JetBrains InspectCode: + +```csharp +using System; +using System.Reflection; +using Cake.Frosting; +using Cake.Frosting.Issues.Recipe; + +public static class Program +{ + public static int Main(string[] args) + { + return new CakeHost() + .UseContext() + .InstallTool(new Uri("nuget:?package=JetBrains.ReSharper.CommandLineTools")) + .AddAssembly(Assembly.GetAssembly(typeof(IssuesTask))) + .Run(args); + } +} +``` + +# Create build context + +[Cake.Frosting.Issues.Recipe] provides a build context from which you need to inherit your custom build context. +The build context contains configuration parameters, but also the state of the current running build, +like for example all collected issues. + +The following example creates a build context and defines that Cake Issues should use Cake.Git addin to determine +state of the Git repository: + +```csharp +public class BuildContext : IssuesContext +{ + public BuildContext(ICakeContext context) + : base(context, RepositoryInfoProviderType.CakeGit) + { + } +} +``` + +# Passing issues to Cake.Frosting.Issues.Recipe + +To make issues available to [Cake.Frosting.Issues.Recipe] you need pass the log files through the corresponding methods. +The tasks need to also be a dependency of `ReadIssuesTask` provided by [Cake.Frosting.Issues.Recipe]. + +In the following example a new task is introduced which runs JetBrains InspectCode and passes the log file to [Cake.Frosting.Issues.Recipe]: + +```csharp +[TaskName("Run-InspectCode")] +[IsDependeeOf(typeof(ReadIssuesTask))] +public class RunInspectCodeTask : FrostingTask +{ + public override void Run(BuildContext context) + { + var buildArtifactsDirectory = new DirectoryPath("BuildArtifacts"); + var inspectCodeLogFilePath = buildArtifactsDirectory.CombineWithFilePath("inspectCode.log"); + + // Run JetBrains InspectCode + context.InspectCode( + context.State.BuildRootDirectory.Combine("..").Combine("src").CombineWithFilePath("ClassLibrary1.sln"), + new InspectCodeSettings() { + OutputFile = context.InspectCodeLogFilePath + }); + + // Pass path to InspectCode log file to Cake.Frosting.Issues.Recipe + context.Parameters.InputFiles.AddInspectCodeLogFile(context.InspectCodeLogFilePath); + } +} +``` + +See [configuration] for a full list of available configuration parameters. + +# Calling issues tasks + +[Cake.Frosting.Issues.Recipe] will add a bunch of [tasks] to your build script. + +To add the issues functionality into your existing build pipeline you need to add +`ReadIssuesTask` to your pipeline. + + In the following example the `Default` task makes sure the main `IssuesTask` is executed: + +```csharp +[TaskName("Default")] +[IsDependentOn(typeof(IssuesTask))] +public class DefaultTask : FrostingTask +{ +} +``` + +[Cake.Frosting.Issues.Recipe]: ../../recipe/ +[configuration]: ../../recipe/configuration +[tasks]: ../../recipe/tasks \ No newline at end of file diff --git a/docs/usage/using-cake-issues-recipe.md b/docs/usage/using-cake-issues-recipe.md new file mode 100644 index 000000000..ddb143993 --- /dev/null +++ b/docs/usage/using-cake-issues-recipe.md @@ -0,0 +1,68 @@ +--- +Order: 10 +Title: Using Cake.Issues.Recipe +Description: Basic usage of Cake.Issues.Recipe. +--- +The [Cake.Issues.Recipe] package can be used to easily add issue management functionality to your build script. + +# Add Cake.Issues.Recipe to your build script + +To use Cake.Issues.Recipe in your build script you need to first load the NuGet package: + +```csharp +#load nuget:package=Cake.Issues.Recipe +``` + +:::{.alert .alert-warning} +Please note that you always should pin NuGet packages to a specific version to make sure your builds are deterministic and +won't break due to updates to Cake.Issues.Recipe. + +See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. +::: + +# Configuring Cake.Issues.Recipe + +To make issues available to Cake.Issues.Recipe you need to set the corresponding configuration parameters. + +In the following example a new task is introduced which depends on existing tasks which build a MsBuild solution and run JetBrains InspectCode. +It will pass the MsBuild and InspectCode logfile to Cake.Issues.Recipe: + +```csharp +// Run issues task by default. +Task("Configure-CakeIssuesRecipe") + .IsDependentOn("Build") + .IsDependentOn("Run-InspectCode") + .Does(() => +{ + IssuesParameters.InputFiles.AddMsBuildXmlFileLoggerLogFile(msBuildLogFilePath); + IssuesParameters.InputFiles.AddInspectCodeLogFile(inspectCodeLogFilePath); +} +``` + +See [configuration] for a full list of available configuration parameters. + +# Calling issues tasks + +Cake.Issues.Recipe will add a bunch of [tasks] to your build script. + +To add the issues functionality into your existing build pipeline you can make +the `Read-Issues` task dependent on the task which configures Cake.Issues.Recipe: + +```csharp +// Make sure build and linters run before issues task. +IssuesBuildTasks.ReadIssuesTask + .IsDependentOn("Configure-CakeIssuesRecipe"); +``` + +At some point you need to call the tasks provided by Cake.Isses.Recipe. +In the following example the `Default` task calls the main `Issues` task: + +```csharp +// Run issues task by default. +Task("Default") + .IsDependentOn("Issues"); +``` + +[Cake.Issues.Recipe]: ../../recipe/ +[configuration]: ../../recipe/configuration +[tasks]: ../../recipe/tasks \ No newline at end of file From 189161be2622612d56402d5799c02ee7668d0267 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 5 Aug 2021 16:54:08 +0200 Subject: [PATCH 020/201] Update tool documentation to 1.0 --- docs/supported-tools.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 7e3318650..5b3f81bd5 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -10,15 +10,15 @@ Cake.Issues recipes support reading issues from different tools and integrates w Cake.Issues recipes support reading issues from output of the following tools: -| Tool | Format | Property | -|-----------------------------------|----------------------------------------|---------------------------------------------------------------| -| MsBuild | [MSBuild Extension Pack XmlFileLogger] | `IssuesParameters.InputFiles.MsBuildXmlFileLoggerLogFilePath` | -| MsBuild | Binary Log File | `IssuesParameters.InputFiles.MsBuildBinaryLogFilePath` | -| JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.InspectCodeLogFilePath` | -| [JetBrains dupFinder] | | `IssuesParameters.InputFiles.DupFinderLogFilePath` | -| markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.MarkdownlintCliLogFilePath` | -| markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.MarkdownlintV1LogFilePath` | -| [ESLint] | [json formatter] | `IssuesParameters.InputFiles.EsLintJsonLogFilePath` | +| Tool | Format | Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Method | +|-----------------------------------|----------------------------------------|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------| +| MsBuild | [MSBuild Extension Pack XmlFileLogger] | `IssuesParameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | +| MsBuild | Binary Log File | `IssuesParameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | +| JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFile()` | +| [JetBrains dupFinder] | | `IssuesParameters.InputFiles.`
    `AddDupFinderLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddDupFinderLogFile()` | +| markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | +| markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | +| [ESLint] | [json formatter] | `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFile()` | [MSBuild Extension Pack XmlFileLogger]: http://www.msbuildextensionpack.com/help/4.0.5.0/html/242ab4fd-c2e2-f6aa-325b-7588725aed24.htm [JetBrains dupFinder]: https://www.jetbrains.com/help/resharper/dupFinder.html From 961de1e7c5d4d14a0790c3748f134a02da42d969 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 6 Aug 2021 21:40:54 +0200 Subject: [PATCH 021/201] Improve example for Cake Frosting --- docs/usage/using-cake-frosting-issues-recipe.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/usage/using-cake-frosting-issues-recipe.md b/docs/usage/using-cake-frosting-issues-recipe.md index 6037ba266..a52300602 100644 --- a/docs/usage/using-cake-frosting-issues-recipe.md +++ b/docs/usage/using-cake-frosting-issues-recipe.md @@ -5,6 +5,12 @@ Description: Basic usage of Cake.Frosting.Issues.Recipe. --- The [Cake.Frosting.Issues.Recipe] package can be used to easily add issue management functionality to your Cake Frosting build. +:::{.alert .alert-info} +See [Setting Up A New Frosting Project] for instructions how to create a new Cake Frosting project. +::: + +[Setting Up A New Frosting Project]: https://cakebuild.net/docs/getting-started/setting-up-a-new-frosting-project + # Add Cake.Frosting.Issues.Recipe to your Cake Frosting build To use [Cake.Frosting.Issues.Recipe] in your Cake Frosting build you need to first add the NuGet package in your `.csproj` file: @@ -81,12 +87,11 @@ public class RunInspectCodeTask : FrostingTask { public override void Run(BuildContext context) { - var buildArtifactsDirectory = new DirectoryPath("BuildArtifacts"); - var inspectCodeLogFilePath = buildArtifactsDirectory.CombineWithFilePath("inspectCode.log"); + var inspectCodeLogFilePath = context.Parameters.OutputDirectory..CombineWithFilePath("inspectCode.log"); // Run JetBrains InspectCode context.InspectCode( - context.State.BuildRootDirectory.Combine("..").Combine("src").CombineWithFilePath("ClassLibrary1.sln"), + context.State.RepositoryRootDirectory.Combine("src").CombineWithFilePath("ClassLibrary1.sln"), new InspectCodeSettings() { OutputFile = context.InspectCodeLogFilePath }); From 533f2543a26cac3a07130b78f20757834bbefa96 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 11 Aug 2021 21:21:40 +0200 Subject: [PATCH 022/201] Add documentation for addins bundled with recipes --- docs/overview.md | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 70bfd0399..a6e40ee66 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -14,12 +14,51 @@ There are two flavors available: * [Cake.Issues.Recipe]: For [Cake .NET Tool], [Cake runner for .NET Framework] or [Cake runner for .NET Core] * [Cake.Frosting.Issues.Recipe]: For [Cake Frosting] +# Supported tools + See [supported tools] for a list of supported linters, build servers and pull request systems. +# Bundled addins + +Cake.Issues recipes will add the following addins to your build: + +| Addin Cake.Issues.Recipe | Addin.Frosting.Issues.Recipe | Remarks | +|------------------------------------------------|------------------------------------------------|-| +| [Cake.Git] 1.1.0 | [Cake.Git] 1.1.0 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | +| [Cake.Issues] 1.0.0 | [Cake.Issues] 1.0.0 | | +| [Cake.Issues.MsBuild] 1.0.0 | [Cake.Issues.MsBuild] 1.0.0 | | +| [Cake.Issues.InspectCode] 1.0.0 | [Cake.Issues.InspectCode] 1.0.0 | | +| [Cake.Issues.DupFinder] 1.0.0 | [Cake.Issues.DupFinder] 1.0.0 | | +| [Cake.Issues.Markdownlint] 1.0.0 | [Cake.Issues.Markdownlint] 1.0.0 | | +| [Cake.Issues.EsLint] 1.0.1 | [Cake.Issues.EsLint] 1.0.1 | | +| [Cake.Issues.Reporting] 1.0.0 | [Cake.Issues.Reporting] 1.0.0 | | +| [Cake.Issues.Reporting.Generic] 1.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 1.0.0 | | +| [Cake.Issues.PullRequests] 1.0.0 | [Cake.Issues.PullRequests] 1.0.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 1.0.0 | [Cake.Issues.PullRequests.AppVeyor] 1.0.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 1.0.0 | [Cake.Issues.PullRequests.AzureDevOps] 1.0.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 1.0.0 | [Cake.Issues.PullRequests.GitHubActions] 1.0.0 | | +| [Cake.AzureDevOps] 1.0.0 | [Cake.AzureDevOps] 1.0.0 | | + [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool [Cake runner for .NET Framework]: https://cakebuild.net/docs/running-builds/runners/cake-runner-for-dotnet-framework [Cake runner for .NET Core]: https://cakebuild.net/docs/running-builds/runners/cake-runner-for-dotnet-core [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting -[supported tools]: supported-tools \ No newline at end of file +[supported tools]: supported-tools +[Git repository information configuration]: /docs/recipe/configuration#git-repository-information +[Cake.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.Issues.InspectCode]: https://cakebuild.net/extensions/cake-issues-inspectcode/ +[Cake.Issues.DupFinder]: https://cakebuild.net/extensions/cake-issues-dupfinder/ +[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.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/ +[Cake.Issues.PullRequests.GitHubActions]: https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions/ +[Cake.AzureDevOps]: https://cakebuild.net/extensions/cake-azuredevops/ From 3698faab3a1077c43ba6df98f9e8ef6632877b2c Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 11 Aug 2021 23:49:11 +0200 Subject: [PATCH 023/201] Add documentation for FullIssuesReportSettings parameter --- docs/configuration.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 2e0c4a42c..fa4f94bc3 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -46,9 +46,12 @@ By default [Cake.Git addin] will be used. # Report creation -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|---------------|---------------------------------------------------------| -| `IssuesParameters.Reporting.`
    `ShouldCreateFullIssuesReport` | `IssuesContext.Parameters.Reporting.`
    `ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| +| `IssuesParameters.Reporting.`
    `ShouldCreateFullIssuesReport` | `IssuesContext.Parameters.Reporting.`
    `ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | +| `IssuesParameters.Reporting.`
    `FullIssuesReportSettings` | `IssuesContext.Parameters.Reporting.`
    `FullIssuesReportSettings` | `GenericIssueReportTemplate.HtmlDxDataGrid` template with `DevExtremeTheme.MaterialBlueLight` theme. | Settings for creating the full issues report. See [Template Gallery] for possible options. | + +[Template Gallery]: /docs/report-formats/generic/templates/ # Build server integration From 1cafb7be1df25a91cf1bfb7da4c9487526a93477 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 19 Aug 2021 23:11:21 +0200 Subject: [PATCH 024/201] (GH-232) Add parameters for reporting issues to pull requests (#237) --- docs/configuration.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index fa4f94bc3..8fa05b344 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -63,9 +63,13 @@ By default [Cake.Git addin] will be used. # Pull request integration -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|-----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|---------------|-------------------------------------------------------------------------| -| `IssuesParameters.PullRequestSystem.`
    `ShouldReportIssuesToPullRequest` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | -| `IssuesParameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|---------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `IssuesParameters.PullRequestSystem.`
    `ShouldReportIssuesToPullRequest` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | +| `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPost` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPost` | `null` | Global number of issues which should be posted at maximum over all issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a global limit. | +| `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostAcrossRuns` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostAcrossRuns` | `null` | Global number of issues which should be posted at maximum over all issue providers and across multiple runs. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a limit across multiple runs. | +| `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. | +| `IssuesParameters.PullRequestSystem.`
    `ProviderIssueLimits` | `IssuesContext.Parameters.PullRequestSystem.`
    `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. | +| `IssuesParameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | [Cake.Git addin]: https://cakebuild.net/extensions/cake-git/ From ae3e9e0463aa4c1f1bd2091918384a980d2e88fd Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 1 Sep 2021 07:51:26 +0200 Subject: [PATCH 025/201] (GH-240) Add support for markdownlint-cli JSON files (#242) --- docs/configuration.md | 1 + docs/supported-tools.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index 8fa05b344..d2d0d0cb7 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -39,6 +39,7 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFile()` | Adds a path to a JetBrains InspectCode log file. | | `IssuesParameters.InputFiles.`
    `AddDupFinderLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddDupFinderLogFile()` | Adds a path to a JetBrains dupFinder log file. | | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | Adds a path to a markdownlint-cli log file. | +| `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | Adds a path to a markdownlint-cli log file writting with `--json`. | | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | Adds a path to a markdownlint log file in version 1. | | `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFile()` | Adds a path to a ESLint log file generated by the [ESLint json formatter]. | diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 5b3f81bd5..3a1cfb3db 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -17,6 +17,7 @@ Cake.Issues recipes support reading issues from output of the following tools: | JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFile()` | | [JetBrains dupFinder] | | `IssuesParameters.InputFiles.`
    `AddDupFinderLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddDupFinderLogFile()` | | markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | +| markdownlint | [markdownlint-cli] with `--json` | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | | markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | | [ESLint] | [json formatter] | `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFile()` | From f69a991f9d3914b4b34106992c510d583c807ddf Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 6 Sep 2021 09:17:06 +0200 Subject: [PATCH 026/201] Update documentation for bundled markdownlint parser version (#245) --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index a6e40ee66..63ea281c2 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -29,7 +29,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.MsBuild] 1.0.0 | [Cake.Issues.MsBuild] 1.0.0 | | | [Cake.Issues.InspectCode] 1.0.0 | [Cake.Issues.InspectCode] 1.0.0 | | | [Cake.Issues.DupFinder] 1.0.0 | [Cake.Issues.DupFinder] 1.0.0 | | -| [Cake.Issues.Markdownlint] 1.0.0 | [Cake.Issues.Markdownlint] 1.0.0 | | +| [Cake.Issues.Markdownlint] 1.1.1 | [Cake.Issues.Markdownlint] 1.1.1 | | | [Cake.Issues.EsLint] 1.0.1 | [Cake.Issues.EsLint] 1.0.1 | | | [Cake.Issues.Reporting] 1.0.0 | [Cake.Issues.Reporting] 1.0.0 | | | [Cake.Issues.Reporting.Generic] 1.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 1.0.0 | | From 2fac85603dec1057249d07844bc3ecdd55bda8a5 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 24 Aug 2022 20:08:56 +0000 Subject: [PATCH 027/201] (GH-284) Add option to set separate pull request status for every issue provider (#285) --- docs/configuration.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index d2d0d0cb7..0f2a16e7a 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -64,13 +64,14 @@ By default [Cake.Git addin] will be used. # Pull request integration -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|---------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `IssuesParameters.PullRequestSystem.`
    `ShouldReportIssuesToPullRequest` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | -| `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPost` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPost` | `null` | Global number of issues which should be posted at maximum over all issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a global limit. | -| `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostAcrossRuns` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostAcrossRuns` | `null` | Global number of issues which should be posted at maximum over all issue providers and across multiple runs. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a limit across multiple runs. | -| `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. | -| `IssuesParameters.PullRequestSystem.`
    `ProviderIssueLimits` | `IssuesContext.Parameters.PullRequestSystem.`
    `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. | -| `IssuesParameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `IssuesParameters.PullRequestSystem.`
    `ShouldReportIssuesToPullRequest` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | +| `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPost` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPost` | `null` | Global number of issues which should be posted at maximum over all issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a global limit. | +| `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostAcrossRuns` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostAcrossRuns` | `null` | Global number of issues which should be posted at maximum over all issue providers and across multiple runs. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a limit across multiple runs. | +| `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. | +| `IssuesParameters.PullRequestSystem.`
    `ProviderIssueLimits` | `IssuesContext.Parameters.PullRequestSystem.`
    `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. | +| `IssuesParameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | +| `IssuesParameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `false` | Indicates whether a separate status should be set for issues of every issue provider and run. | [Cake.Git addin]: https://cakebuild.net/extensions/cake-git/ From e126f705818fcfda149bea0b4f282d1af4e2f6ec Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 24 Aug 2022 21:04:44 +0000 Subject: [PATCH 028/201] Allow to have overall status and status for every issue provider reported to pull request (#287) --- docs/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration.md b/docs/configuration.md index 0f2a16e7a..ca525011a 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -71,7 +71,7 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostAcrossRuns` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostAcrossRuns` | `null` | Global number of issues which should be posted at maximum over all issue providers and across multiple runs. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a limit across multiple runs. | | `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. | | `IssuesParameters.PullRequestSystem.`
    `ProviderIssueLimits` | `IssuesContext.Parameters.PullRequestSystem.`
    `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. | -| `IssuesParameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set. | +| `IssuesParameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set if there are any issues found. | | `IssuesParameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `false` | Indicates whether a separate status should be set for issues of every issue provider and run. | [Cake.Git addin]: https://cakebuild.net/extensions/cake-git/ From 6c704d5f9cfa96448c7db1daab247e7a069856c5 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 1 Sep 2022 20:21:48 +0000 Subject: [PATCH 029/201] Set ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun to true by default (#293) --- docs/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration.md b/docs/configuration.md index ca525011a..e9255a924 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -72,6 +72,6 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. | | `IssuesParameters.PullRequestSystem.`
    `ProviderIssueLimits` | `IssuesContext.Parameters.PullRequestSystem.`
    `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. | | `IssuesParameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set if there are any issues found. | -| `IssuesParameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `false` | Indicates whether a separate status should be set for issues of every issue provider and run. | +| `IssuesParameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `true` | Indicates whether a separate status should be set for issues of every issue provider and run. | [Cake.Git addin]: https://cakebuild.net/extensions/cake-git/ From fc53cdef788d1ba1e267a9c3ab454c563a46f66f Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 8 Dec 2022 22:44:34 +0100 Subject: [PATCH 030/201] Update bundled addin documentation --- docs/overview.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 63ea281c2..be790ea34 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -24,20 +24,20 @@ Cake.Issues recipes will add the following addins to your build: | Addin Cake.Issues.Recipe | Addin.Frosting.Issues.Recipe | Remarks | |------------------------------------------------|------------------------------------------------|-| -| [Cake.Git] 1.1.0 | [Cake.Git] 1.1.0 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | -| [Cake.Issues] 1.0.0 | [Cake.Issues] 1.0.0 | | -| [Cake.Issues.MsBuild] 1.0.0 | [Cake.Issues.MsBuild] 1.0.0 | | -| [Cake.Issues.InspectCode] 1.0.0 | [Cake.Issues.InspectCode] 1.0.0 | | -| [Cake.Issues.DupFinder] 1.0.0 | [Cake.Issues.DupFinder] 1.0.0 | | -| [Cake.Issues.Markdownlint] 1.1.1 | [Cake.Issues.Markdownlint] 1.1.1 | | -| [Cake.Issues.EsLint] 1.0.1 | [Cake.Issues.EsLint] 1.0.1 | | -| [Cake.Issues.Reporting] 1.0.0 | [Cake.Issues.Reporting] 1.0.0 | | -| [Cake.Issues.Reporting.Generic] 1.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 1.0.0 | | -| [Cake.Issues.PullRequests] 1.0.0 | [Cake.Issues.PullRequests] 1.0.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 1.0.0 | [Cake.Issues.PullRequests.AppVeyor] 1.0.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 1.0.0 | [Cake.Issues.PullRequests.AzureDevOps] 1.0.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 1.0.0 | [Cake.Issues.PullRequests.GitHubActions] 1.0.0 | | -| [Cake.AzureDevOps] 1.0.0 | [Cake.AzureDevOps] 1.0.0 | | +| [Cake.Git] 2.0.0 | [Cake.Git] 2.0.0 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | +| [Cake.Issues] 2.0.0 | [Cake.Issues] 2.0.0 | | +| [Cake.Issues.MsBuild] 2.0.0 | [Cake.Issues.MsBuild] 2.0.0 | | +| [Cake.Issues.InspectCode] 2.0.0 | [Cake.Issues.InspectCode] 2.0.0 | | +| [Cake.Issues.DupFinder] 2.0.0 | [Cake.Issues.DupFinder] 2.0.0 | | +| [Cake.Issues.Markdownlint] 2.0.0 | [Cake.Issues.Markdownlint] 2.0.0 | | +| [Cake.Issues.EsLint] 2.0.0 | [Cake.Issues.EsLint] 2.0.0 | | +| [Cake.Issues.Reporting] 2.0.0 | [Cake.Issues.Reporting] 2.0.0 | | +| [Cake.Issues.Reporting.Generic] 2.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 2.0.0 | | +| [Cake.Issues.PullRequests] 2.0.0 | [Cake.Issues.PullRequests] 2.0.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 2.0.0 | [Cake.Issues.PullRequests.AppVeyor] 2.0.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 2.0.0 | [Cake.Issues.PullRequests.AzureDevOps] 2.0.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 2.0.0 | [Cake.Issues.PullRequests.GitHubActions] 2.0.0 | | +| [Cake.AzureDevOps] 2.1.1 | [Cake.AzureDevOps] 2.1.1 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe From f21e12567557506aa7f1c1ea2cd777ccfb4f65bf Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 19 Jun 2023 08:04:47 +0200 Subject: [PATCH 031/201] Build against Cake 3.0 (#337) Builds against Cake 3.0. Also updates the following addins: - Cake.Git to 3.0 - Cake.AzureDevOps to 3.0 - Cake.Issues to 3.0 Beta Fixes #330 --- docs/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index be790ea34..4772067d6 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -24,7 +24,7 @@ Cake.Issues recipes will add the following addins to your build: | Addin Cake.Issues.Recipe | Addin.Frosting.Issues.Recipe | Remarks | |------------------------------------------------|------------------------------------------------|-| -| [Cake.Git] 2.0.0 | [Cake.Git] 2.0.0 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | +| [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] 2.0.0 | [Cake.Issues] 2.0.0 | | | [Cake.Issues.MsBuild] 2.0.0 | [Cake.Issues.MsBuild] 2.0.0 | | | [Cake.Issues.InspectCode] 2.0.0 | [Cake.Issues.InspectCode] 2.0.0 | | @@ -37,7 +37,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.PullRequests.AppVeyor] 2.0.0 | [Cake.Issues.PullRequests.AppVeyor] 2.0.0 | | | [Cake.Issues.PullRequests.AzureDevOps] 2.0.0 | [Cake.Issues.PullRequests.AzureDevOps] 2.0.0 | | | [Cake.Issues.PullRequests.GitHubActions] 2.0.0 | [Cake.Issues.PullRequests.GitHubActions] 2.0.0 | | -| [Cake.AzureDevOps] 2.1.1 | [Cake.AzureDevOps] 2.1.1 | | +| [Cake.AzureDevOps] 3.0.0 | [Cake.AzureDevOps] 3.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe From 7b5c026ae215cdc4b2b84c83a7f575be6c7f1702 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 19 Jun 2023 09:28:54 +0200 Subject: [PATCH 032/201] Remove support for DupFinder (#339) --- docs/configuration.md | 1 - docs/overview.md | 2 -- docs/supported-tools.md | 2 -- 3 files changed, 5 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index e9255a924..f81c180d3 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -37,7 +37,6 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | Adds a path to a MSBuild log file created by XmlFileLogger. | | `IssuesParameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | Adds a path to a MSBuild binary log file. | | `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFile()` | Adds a path to a JetBrains InspectCode log file. | -| `IssuesParameters.InputFiles.`
    `AddDupFinderLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddDupFinderLogFile()` | Adds a path to a JetBrains dupFinder log file. | | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | Adds a path to a markdownlint-cli log file. | | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | Adds a path to a markdownlint-cli log file writting with `--json`. | | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | Adds a path to a markdownlint log file in version 1. | diff --git a/docs/overview.md b/docs/overview.md index 4772067d6..c905a2cd7 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -28,7 +28,6 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues] 2.0.0 | [Cake.Issues] 2.0.0 | | | [Cake.Issues.MsBuild] 2.0.0 | [Cake.Issues.MsBuild] 2.0.0 | | | [Cake.Issues.InspectCode] 2.0.0 | [Cake.Issues.InspectCode] 2.0.0 | | -| [Cake.Issues.DupFinder] 2.0.0 | [Cake.Issues.DupFinder] 2.0.0 | | | [Cake.Issues.Markdownlint] 2.0.0 | [Cake.Issues.Markdownlint] 2.0.0 | | | [Cake.Issues.EsLint] 2.0.0 | [Cake.Issues.EsLint] 2.0.0 | | | [Cake.Issues.Reporting] 2.0.0 | [Cake.Issues.Reporting] 2.0.0 | | @@ -51,7 +50,6 @@ Cake.Issues recipes will add the following addins to your build: [Cake.Issues]: https://cakebuild.net/extensions/cake-issues/ [Cake.Issues.MsBuild]: https://cakebuild.net/extensions/cake-issues-msbuild/ [Cake.Issues.InspectCode]: https://cakebuild.net/extensions/cake-issues-inspectcode/ -[Cake.Issues.DupFinder]: https://cakebuild.net/extensions/cake-issues-dupfinder/ [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/ diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 3a1cfb3db..19fcf0624 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -15,14 +15,12 @@ Cake.Issues recipes support reading issues from output of the following tools: | MsBuild | [MSBuild Extension Pack XmlFileLogger] | `IssuesParameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | | MsBuild | Binary Log File | `IssuesParameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | | JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFile()` | -| [JetBrains dupFinder] | | `IssuesParameters.InputFiles.`
    `AddDupFinderLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddDupFinderLogFile()` | | markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | | markdownlint | [markdownlint-cli] with `--json` | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | | markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | | [ESLint] | [json formatter] | `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFile()` | [MSBuild Extension Pack XmlFileLogger]: http://www.msbuildextensionpack.com/help/4.0.5.0/html/242ab4fd-c2e2-f6aa-325b-7588725aed24.htm -[JetBrains dupFinder]: https://www.jetbrains.com/help/resharper/dupFinder.html [markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli [markdownlint]: https://github.com/DavidAnson/markdownlint [ESLint]: https://eslint.org/ From 1d26c123d2f84f29bcfa40151406703811a790e8 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 19 Jun 2023 10:01:58 +0200 Subject: [PATCH 033/201] Update version of addins (#341) --- docs/overview.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index c905a2cd7..0adc76648 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,17 +25,17 @@ 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] 2.0.0 | [Cake.Issues] 2.0.0 | | -| [Cake.Issues.MsBuild] 2.0.0 | [Cake.Issues.MsBuild] 2.0.0 | | -| [Cake.Issues.InspectCode] 2.0.0 | [Cake.Issues.InspectCode] 2.0.0 | | -| [Cake.Issues.Markdownlint] 2.0.0 | [Cake.Issues.Markdownlint] 2.0.0 | | -| [Cake.Issues.EsLint] 2.0.0 | [Cake.Issues.EsLint] 2.0.0 | | -| [Cake.Issues.Reporting] 2.0.0 | [Cake.Issues.Reporting] 2.0.0 | | -| [Cake.Issues.Reporting.Generic] 2.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 2.0.0 | | -| [Cake.Issues.PullRequests] 2.0.0 | [Cake.Issues.PullRequests] 2.0.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 2.0.0 | [Cake.Issues.PullRequests.AppVeyor] 2.0.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 2.0.0 | [Cake.Issues.PullRequests.AzureDevOps] 2.0.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 2.0.0 | [Cake.Issues.PullRequests.GitHubActions] 2.0.0 | | +| [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.0 | [Cake.AzureDevOps] 3.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 1ea1aca372f3fde00b62b618ca0ec55a44da0a40 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 16 Aug 2023 18:54:24 +0200 Subject: [PATCH 034/201] Add SARIF report (#332) --- docs/configuration.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index f81c180d3..a6eb21863 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -50,16 +50,18 @@ By default [Cake.Git addin] will be used. |-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | `IssuesParameters.Reporting.`
    `ShouldCreateFullIssuesReport` | `IssuesContext.Parameters.Reporting.`
    `ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | | `IssuesParameters.Reporting.`
    `FullIssuesReportSettings` | `IssuesContext.Parameters.Reporting.`
    `FullIssuesReportSettings` | `GenericIssueReportTemplate.HtmlDxDataGrid` template with `DevExtremeTheme.MaterialBlueLight` theme. | Settings for creating the full issues report. See [Template Gallery] for possible options. | +| `IssuesParameters.Reporting.`
    `ShouldCreateSarifReport` | `IssuesContext.Parameters.Reporting.`
    `ShouldCreateSarifReport` | `true` | Indicates whether a report in SARIF format should be created. | [Template Gallery]: /docs/report-formats/generic/templates/ # Build server integration -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|---------------|-------------------------------------------------------------------------------------------| -| `IssuesParameters.BuildServer.`
    `ShouldReportIssuesToBuildServer` | `IssuesContext.Parameters.BuildServer.`
    `ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | -| `IssuesParameters.BuildServer.`
    `ShouldPublishFullIssuesReport` | `IssuesContext.Parameters.BuildServer.`
    `ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | -| `IssuesParameters.BuildServer.`
    `ShouldCreateSummaryIssuesReport` | `IssuesContext.Parameters.BuildServer.`
    `ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | +| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | +|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------| +| `IssuesParameters.BuildServer.`
    `ShouldReportIssuesToBuildServer` | `IssuesContext.Parameters.BuildServer.`
    `ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | +| `IssuesParameters.BuildServer.`
    `ShouldPublishFullIssuesReport` | `IssuesContext.Parameters.BuildServer.`
    `ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | +| `IssuesParameters.BuildServer.`
    `ShouldPublishSarifReport` | `IssuesContext.Parameters.BuildServer.`
    `ShouldPublishSarifReport` | `true` | Indicates whether report int SARIF format shoudl be published as artifact to the build system. | +| `IssuesParameters.BuildServer.`
    `ShouldCreateSummaryIssuesReport` | `IssuesContext.Parameters.BuildServer.`
    `ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | # Pull request integration From a3703ea544e3f63b6a81716cfa8ada6da82abd75 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 22:15:37 +0200 Subject: [PATCH 035/201] Update dependency Cake.AzureDevOps to v3.0.1 (#384) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 0adc76648..2a113494b 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -36,7 +36,7 @@ Cake.Issues recipes will add the following addins to your build: | [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.0 | [Cake.AzureDevOps] 3.0.0 | | +| [Cake.AzureDevOps] 3.0.1 | [Cake.AzureDevOps] 3.0.1 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe From b7f787dbede744b4f169d6af18b41f8fc404642f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 15 Oct 2023 10:22:55 +0200 Subject: [PATCH 036/201] Update dependency Cake.AzureDevOps to v3.0.2 (#385) * Update dependency Cake.AzureDevOps to v3.0.2 * Update documentation --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 2a113494b..d52cc908a 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -36,7 +36,7 @@ Cake.Issues recipes will add the following addins to your build: | [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 | | +| [Cake.AzureDevOps] 3.0.2 | [Cake.AzureDevOps] 3.0.2 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe From 1c0670d7bfcc3fe1570be4310a2afb987caa71c5 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 16 Dec 2023 17:43:30 +0100 Subject: [PATCH 037/201] Update to Cake.Issues 4.0 (#392) * Update Cake.AzureDevOps to 4.0.0-beta0001 * Update Cake.Issues to 4.0.0-beta0001 * Update Cake.Issues.Reporting to 4.0.0-beta0001 * Update Cake.Issues.PullRequests to 4.0.0-beta0001 * Update Cake.Issues.MsBuild to 4.0.0-beta0001 * Update Cake.Issues.PullRequests.AzureDevOps to 4.0.0-beta0001 * Update Cake.Issues.EsLint to 4.0.0-beta0001 * Update Cake.Issues.Reporting.Generic to 4.0.0-beta0001 * Update Cake.Issues.InspectCode to 4.0.0-beta0001 * Update Cake.Issues.PullRequests.AppVeyor to 4.0.0-beta0001 * Update Cake.Issues.PullRequests.GitHubActions to 4.0.0-beta0001 * Update Cake.Issues.Markdownlint to 4.0.0-beta0001 * Update Cake.Issues.Reporting.Sarif to 4.0.0-beta0001 --- docs/overview.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index d52cc908a..fb21a3db7 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.2 | [Cake.AzureDevOps] 3.0.2 | | +| 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] 4.0.0-beta0001 | [Cake.Issues] 4.0.0-beta0001 | | +| [Cake.Issues.MsBuild] 4.0.0-beta0001 | [Cake.Frosting.Issues.MsBuild] 4.0.0-beta0001 | | +| [Cake.Issues.InspectCode] 4.0.0-beta0001 | [Cake.Issues.InspectCode] 4.0.0-beta0001 | | +| [Cake.Issues.Markdownlint] 4.0.0-beta0001 | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | | +| [Cake.Issues.EsLint] 4.0.0-beta0001 | [Cake.Issues.EsLint] 4.0.0-beta0001 | | +| [Cake.Issues.Reporting] 4.0.0-beta0001 | [Cake.Issues.Reporting] 4.0.0-beta0001 | | +| [Cake.Issues.Reporting.Generic] 4.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Generic] 4.0.0-beta0001 | | +| [Cake.Issues.Reporting.Sarif] 4.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Sarif] 4.0.0-beta0001 | | +| [Cake.Issues.PullRequests] 4.0.0-beta0001 | [Cake.Issues.PullRequests] 4.0.0-beta0001 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.0.0-beta0001 | [Cake.Issues.PullRequests.AzureDevOps] 4.0.0-beta0001 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.0.0-beta0001 | [Cake.Issues.PullRequests.GitHubActions] 4.0.0-beta0001 | | +| [Cake.AzureDevOps] 4.0.0-beta0001 | [Cake.AzureDevOps] 4.0.0-beta0001 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe From 105a5a4cc85d4f8ea48179663cbfa29dd17968f4 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 21 Dec 2023 23:05:22 +0100 Subject: [PATCH 038/201] Update to Cake.AzureDevOps 4.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index fb21a3db7..6f3de563f 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -37,7 +37,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | | | [Cake.Issues.PullRequests.AzureDevOps] 4.0.0-beta0001 | [Cake.Issues.PullRequests.AzureDevOps] 4.0.0-beta0001 | | | [Cake.Issues.PullRequests.GitHubActions] 4.0.0-beta0001 | [Cake.Issues.PullRequests.GitHubActions] 4.0.0-beta0001 | | -| [Cake.AzureDevOps] 4.0.0-beta0001 | [Cake.AzureDevOps] 4.0.0-beta0001 | | +| [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 From 55d6561692d0a6a1fd1678a278e0e0ea0fb146ca Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 23 Dec 2023 15:41:43 +0100 Subject: [PATCH 039/201] Update Cake.Issues to 4.0 --- docs/overview.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 6f3de563f..962b52780 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,15 +25,15 @@ 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] 4.0.0-beta0001 | [Cake.Issues] 4.0.0-beta0001 | | +| [Cake.Issues] 4.0.0 | [Cake.Issues] 4.0.0 | | | [Cake.Issues.MsBuild] 4.0.0-beta0001 | [Cake.Frosting.Issues.MsBuild] 4.0.0-beta0001 | | | [Cake.Issues.InspectCode] 4.0.0-beta0001 | [Cake.Issues.InspectCode] 4.0.0-beta0001 | | | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | | | [Cake.Issues.EsLint] 4.0.0-beta0001 | [Cake.Issues.EsLint] 4.0.0-beta0001 | | -| [Cake.Issues.Reporting] 4.0.0-beta0001 | [Cake.Issues.Reporting] 4.0.0-beta0001 | | +| [Cake.Issues.Reporting] 4.0.0 | [Cake.Issues.Reporting] 4.0.0 | | | [Cake.Issues.Reporting.Generic] 4.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Generic] 4.0.0-beta0001 | | | [Cake.Issues.Reporting.Sarif] 4.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Sarif] 4.0.0-beta0001 | | -| [Cake.Issues.PullRequests] 4.0.0-beta0001 | [Cake.Issues.PullRequests] 4.0.0-beta0001 | | +| [Cake.Issues.PullRequests] 4.0.0 | [Cake.Issues.PullRequests] 4.0.0 | | | [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | | | [Cake.Issues.PullRequests.AzureDevOps] 4.0.0-beta0001 | [Cake.Issues.PullRequests.AzureDevOps] 4.0.0-beta0001 | | | [Cake.Issues.PullRequests.GitHubActions] 4.0.0-beta0001 | [Cake.Issues.PullRequests.GitHubActions] 4.0.0-beta0001 | | From 318e57aa7a89dd71d19353f9729c9ee1197eb108 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 23 Dec 2023 21:19:12 +0100 Subject: [PATCH 040/201] Update Cake.Issues.MsBuild to 4.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 962b52780..756df157a 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -26,7 +26,7 @@ Cake.Issues recipes will add the following addins to your build: |---------------------------------------------------------|---------------------------------------------------------|-| | [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] 4.0.0 | [Cake.Issues] 4.0.0 | | -| [Cake.Issues.MsBuild] 4.0.0-beta0001 | [Cake.Frosting.Issues.MsBuild] 4.0.0-beta0001 | | +| [Cake.Issues.MsBuild] 4.0.0 | [Cake.Frosting.Issues.MsBuild] 4.0.0 | | | [Cake.Issues.InspectCode] 4.0.0-beta0001 | [Cake.Issues.InspectCode] 4.0.0-beta0001 | | | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | | | [Cake.Issues.EsLint] 4.0.0-beta0001 | [Cake.Issues.EsLint] 4.0.0-beta0001 | | From e01e47c3d87b623bc5dc69d8929aaf7d641a4320 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 23 Dec 2023 21:20:08 +0100 Subject: [PATCH 041/201] Update Cake.Issues.AzureDevOps to 4.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 756df157a..219270cc6 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -35,7 +35,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.Reporting.Sarif] 4.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Sarif] 4.0.0-beta0001 | | | [Cake.Issues.PullRequests] 4.0.0 | [Cake.Issues.PullRequests] 4.0.0 | | | [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.0.0-beta0001 | [Cake.Issues.PullRequests.AzureDevOps] 4.0.0-beta0001 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.0.0 | [Cake.Issues.PullRequests.AzureDevOps] 4.0.0 | | | [Cake.Issues.PullRequests.GitHubActions] 4.0.0-beta0001 | [Cake.Issues.PullRequests.GitHubActions] 4.0.0-beta0001 | | | [Cake.AzureDevOps] | [Cake.AzureDevOps] | | From 0fddb6137456151000f3dbdf22f36c6723eadfca Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 23 Dec 2023 22:26:46 +0100 Subject: [PATCH 042/201] Update Cake.Issues.EsLint to 4.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 219270cc6..5d5276dc0 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -29,7 +29,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.MsBuild] 4.0.0 | [Cake.Frosting.Issues.MsBuild] 4.0.0 | | | [Cake.Issues.InspectCode] 4.0.0-beta0001 | [Cake.Issues.InspectCode] 4.0.0-beta0001 | | | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | | -| [Cake.Issues.EsLint] 4.0.0-beta0001 | [Cake.Issues.EsLint] 4.0.0-beta0001 | | +| [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-beta0001 | [Cake.Frosting.Issues.Reporting.Generic] 4.0.0-beta0001 | | | [Cake.Issues.Reporting.Sarif] 4.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Sarif] 4.0.0-beta0001 | | From 1288110874443b4455b51ae7c30d9f77a7ea69af Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 23 Dec 2023 23:43:11 +0100 Subject: [PATCH 043/201] Update Cake.Issues.Reporting.Generic to 4.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 5d5276dc0..f93333631 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -31,7 +31,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | | | [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-beta0001 | [Cake.Frosting.Issues.Reporting.Generic] 4.0.0-beta0001 | | +| [Cake.Issues.Reporting.Generic] 4.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.0.0 | | | [Cake.Issues.Reporting.Sarif] 4.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Sarif] 4.0.0-beta0001 | | | [Cake.Issues.PullRequests] 4.0.0 | [Cake.Issues.PullRequests] 4.0.0 | | | [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | | From 3c5bc346239a378aa1515e106f82254eb93a6497 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 23 Dec 2023 23:44:10 +0100 Subject: [PATCH 044/201] Update Cake.Issues.InspectCode to 4.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index f93333631..93e400dad 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -27,7 +27,7 @@ Cake.Issues recipes will add the following addins to your build: | [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] 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-beta0001 | [Cake.Issues.InspectCode] 4.0.0-beta0001 | | +| [Cake.Issues.InspectCode] 4.0.0 | [Cake.Issues.InspectCode] 4.0.0 | | | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | | | [Cake.Issues.EsLint] 4.0.0 | [Cake.Issues.EsLint] 4.0.0 | | | [Cake.Issues.Reporting] 4.0.0 | [Cake.Issues.Reporting] 4.0.0 | | From ba267b286ce288f3bb833f3f720a55dd01fcbb4e Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sun, 24 Dec 2023 11:30:11 +0100 Subject: [PATCH 045/201] Update Cake.Issues.Markdownlint to 4.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 93e400dad..12b7710ee 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -28,7 +28,7 @@ Cake.Issues recipes will add the following addins to your build: | [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-beta0001 | [Cake.Issues.Markdownlint] 4.0.0-beta0001 | | +| [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 | | From c2132030bdfedeb8857ce47a175b9bf894ea8482 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sun, 24 Dec 2023 11:31:26 +0100 Subject: [PATCH 046/201] Update Cake.Issues.PullRequests.AppVeyor to 4.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 12b7710ee..d4068836e 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -34,7 +34,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.Reporting.Generic] 4.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.0.0 | | | [Cake.Issues.Reporting.Sarif] 4.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Sarif] 4.0.0-beta0001 | | | [Cake.Issues.PullRequests] 4.0.0 | [Cake.Issues.PullRequests] 4.0.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | [Cake.Issues.PullRequests.AppVeyor] 4.0.0-beta0001 | | +| [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-beta0001 | [Cake.Issues.PullRequests.GitHubActions] 4.0.0-beta0001 | | | [Cake.AzureDevOps] | [Cake.AzureDevOps] | | From 01d9bb4b67a1ccdfd4858d970cc4f81a76a020e3 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sun, 24 Dec 2023 11:32:30 +0100 Subject: [PATCH 047/201] Update Cake.Issues.Reporting.Sarif to 4.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index d4068836e..bcbc459ff 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -32,7 +32,7 @@ Cake.Issues recipes will add the following addins to your build: | [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-beta0001 | [Cake.Frosting.Issues.Reporting.Sarif] 4.0.0-beta0001 | | +| [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 | | From 32fd348cba3f0b78e16317faabdc54c441395180 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sun, 24 Dec 2023 11:33:16 +0100 Subject: [PATCH 048/201] Update Cake.Issues.PullRequests.GitHubActions to 4.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index bcbc459ff..cd1f7028b 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -36,7 +36,7 @@ Cake.Issues recipes will add the following addins to your build: | [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-beta0001 | [Cake.Issues.PullRequests.GitHubActions] 4.0.0-beta0001 | | +| [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 From 906af4580c7750556662692066b85195d16d7535 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 7 Mar 2024 08:51:31 +0100 Subject: [PATCH 049/201] Update to Cake.Git 4.0 --- docs/overview.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index cd1f7028b..cd82815cd 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -24,7 +24,7 @@ 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.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 | | @@ -48,6 +48,7 @@ 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.Issues.InspectCode]: https://cakebuild.net/extensions/cake-issues-inspectcode/ From 70f6e8ba0377e2080991ba0e00b376278597bcc4 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 7 Mar 2024 08:52:57 +0100 Subject: [PATCH 050/201] Fix links --- docs/overview.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/overview.md b/docs/overview.md index cd82815cd..1ade597ce 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -51,12 +51,15 @@ Cake.Issues recipes will add the following addins to your build: [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/ From d5919da8bc9cf3a93eafebbeab4ca8af34224a9f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 18:57:10 +0100 Subject: [PATCH 051/201] Update dependency Cake.Issues to v4.1.0 (#400) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 1ade597ce..3e5e07621 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,7 +25,7 @@ Cake.Issues recipes will add the following addins to your build: | 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] 4.1.0 | [Cake.Issues] 4.1.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 | | From b1c4f94d6c86bcb9f3fc3dc4f59f6575cb6df4d0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 20:01:48 +0100 Subject: [PATCH 052/201] Update Cake.Issues to v4.1.0 (#399) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 3e5e07621..74fe30310 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -26,14 +26,14 @@ Cake.Issues recipes will add the following addins to your build: |---------------------------------------------------------|---------------------------------------------------------|-| | [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.1.0 | [Cake.Issues] 4.1.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.MsBuild] 4.1.0 | [Cake.Frosting.Issues.MsBuild] 4.1.0 | | +| [Cake.Issues.InspectCode] 4.1.0 | [Cake.Issues.InspectCode] 4.1.0 | | +| [Cake.Issues.Markdownlint] 4.1.0 | [Cake.Issues.Markdownlint] 4.1.0 | | +| [Cake.Issues.EsLint] 4.1.0 | [Cake.Issues.EsLint] 4.1.0 | | +| [Cake.Issues.Reporting] 4.1.0 | [Cake.Issues.Reporting] 4.1.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] 4.1.0 | [Cake.Issues.PullRequests] 4.1.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 | | From e520b9c1b91a61538a666f08deafb68f03bdf162 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 8 Mar 2024 20:45:44 +0100 Subject: [PATCH 053/201] Use Cake.Frosting.Issues.PullRequests (#417) --- docs/overview.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 74fe30310..695b6d4c2 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -33,7 +33,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.Reporting] 4.1.0 | [Cake.Issues.Reporting] 4.1.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.1.0 | [Cake.Issues.PullRequests] 4.1.0 | | +| [Cake.Issues.PullRequests] 4.1.0 | [Cake.Frosting.Issues.PullRequests] 4.1.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 | | @@ -61,6 +61,7 @@ Cake.Issues recipes will add the following addins to your build: [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.Frosting.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/ [Cake.Issues.PullRequests.GitHubActions]: https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions/ From e664fbc6ea64d351068baec570e4e6dac8bf9b09 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 15 Apr 2024 10:14:50 +0200 Subject: [PATCH 054/201] Use Cake.Frosting.Issues.Reporting (#418) --- docs/overview.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 695b6d4c2..0333df2e1 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -30,7 +30,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.InspectCode] 4.1.0 | [Cake.Issues.InspectCode] 4.1.0 | | | [Cake.Issues.Markdownlint] 4.1.0 | [Cake.Issues.Markdownlint] 4.1.0 | | | [Cake.Issues.EsLint] 4.1.0 | [Cake.Issues.EsLint] 4.1.0 | | -| [Cake.Issues.Reporting] 4.1.0 | [Cake.Issues.Reporting] 4.1.0 | | +| [Cake.Issues.Reporting] 4.1.0 | [Cake.Frosting.Issues.Reporting] 4.1.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.1.0 | [Cake.Frosting.Issues.PullRequests] 4.1.0 | | @@ -56,6 +56,7 @@ Cake.Issues recipes will add the following addins to your build: [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.Frosting.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/ From 06c5bb5363017a5934884753e1bceb1c782875b0 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 15 Apr 2024 19:28:10 +0200 Subject: [PATCH 055/201] Use Cake.Frosting.Issues.InspectCode (#431) --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 0333df2e1..18ef14151 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -27,7 +27,7 @@ Cake.Issues recipes will add the following addins to your build: | [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.1.0 | [Cake.Issues] 4.1.0 | | | [Cake.Issues.MsBuild] 4.1.0 | [Cake.Frosting.Issues.MsBuild] 4.1.0 | | -| [Cake.Issues.InspectCode] 4.1.0 | [Cake.Issues.InspectCode] 4.1.0 | | +| [Cake.Issues.InspectCode] 4.1.0 | [Cake.Frosting.Issues.InspectCode] 4.1.0 | | | [Cake.Issues.Markdownlint] 4.1.0 | [Cake.Issues.Markdownlint] 4.1.0 | | | [Cake.Issues.EsLint] 4.1.0 | [Cake.Issues.EsLint] 4.1.0 | | | [Cake.Issues.Reporting] 4.1.0 | [Cake.Frosting.Issues.Reporting] 4.1.0 | | From 57dc78c36efa002dd8172bce3603fd354cbd28ba Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 15 Apr 2024 20:48:27 +0200 Subject: [PATCH 056/201] (GH-426) Use Cake.Frosting.Issues.Markdownlint (#432) --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 18ef14151..a84f2b246 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -28,7 +28,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues] 4.1.0 | [Cake.Issues] 4.1.0 | | | [Cake.Issues.MsBuild] 4.1.0 | [Cake.Frosting.Issues.MsBuild] 4.1.0 | | | [Cake.Issues.InspectCode] 4.1.0 | [Cake.Frosting.Issues.InspectCode] 4.1.0 | | -| [Cake.Issues.Markdownlint] 4.1.0 | [Cake.Issues.Markdownlint] 4.1.0 | | +| [Cake.Issues.Markdownlint] 4.1.0 | [Cake.Frosting.Issues.Markdownlint] 4.1.0 | | | [Cake.Issues.EsLint] 4.1.0 | [Cake.Issues.EsLint] 4.1.0 | | | [Cake.Issues.Reporting] 4.1.0 | [Cake.Frosting.Issues.Reporting] 4.1.0 | | | [Cake.Issues.Reporting.Generic] 4.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.0.0 | | From 4fc84ca5bf8f211a355d2f8c2ad7093d989fc28f Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 15 Apr 2024 21:19:10 +0200 Subject: [PATCH 057/201] (GH-427) Use Cake.Frosting.Issues.EsLint (#433) --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index a84f2b246..d64ec70c7 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -29,7 +29,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.MsBuild] 4.1.0 | [Cake.Frosting.Issues.MsBuild] 4.1.0 | | | [Cake.Issues.InspectCode] 4.1.0 | [Cake.Frosting.Issues.InspectCode] 4.1.0 | | | [Cake.Issues.Markdownlint] 4.1.0 | [Cake.Frosting.Issues.Markdownlint] 4.1.0 | | -| [Cake.Issues.EsLint] 4.1.0 | [Cake.Issues.EsLint] 4.1.0 | | +| [Cake.Issues.EsLint] 4.1.0 | [Cake.Frosting.Issues.EsLint] 4.1.0 | | | [Cake.Issues.Reporting] 4.1.0 | [Cake.Frosting.Issues.Reporting] 4.1.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 | | From 033e9f6a38649f7d7a401a3c58db2a8f809385e4 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 15 Apr 2024 21:51:56 +0200 Subject: [PATCH 058/201] (GH-428) Use Cake.Frosting.PullRequests.AppVeyor (#434) --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index d64ec70c7..700ae5aa5 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -34,7 +34,7 @@ Cake.Issues recipes will add the following addins to your build: | [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.1.0 | [Cake.Frosting.Issues.PullRequests] 4.1.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.0.0 | [Cake.Issues.PullRequests.AppVeyor] 4.0.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.0.0 | [Cake.Frosting.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] | | From 7549034ccf650349f7e9255b650261d52cd93caa Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 15 Apr 2024 22:05:27 +0200 Subject: [PATCH 059/201] (GH-430) Use Cake.Frosting.IssuesPullRequests.GitHubActions (#435) --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 700ae5aa5..837ab6c5f 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -36,7 +36,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.PullRequests] 4.1.0 | [Cake.Frosting.Issues.PullRequests] 4.1.0 | | | [Cake.Issues.PullRequests.AppVeyor] 4.0.0 | [Cake.Frosting.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.Issues.PullRequests.GitHubActions] 4.0.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.0.0 | | | [Cake.AzureDevOps] | [Cake.AzureDevOps] | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 750bb56fa5627b29df1b0e92da997f712f9bd18a Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 15 Apr 2024 23:19:55 +0200 Subject: [PATCH 060/201] (GH-429) Use Cake.Frosting.IssuesPullRequests.AzureDevOps (#436) --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 837ab6c5f..de62b28c7 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -35,7 +35,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.Reporting.Sarif] 4.0.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.0.0 | | | [Cake.Issues.PullRequests] 4.1.0 | [Cake.Frosting.Issues.PullRequests] 4.1.0 | | | [Cake.Issues.PullRequests.AppVeyor] 4.0.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.0.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.0.0 | [Cake.Issues.PullRequests.AzureDevOps] 4.0.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.0.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.0.0 | | | [Cake.Issues.PullRequests.GitHubActions] 4.0.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.0.0 | | | [Cake.AzureDevOps] | [Cake.AzureDevOps] | | From 42b04a8bf26a2dc1622ff51e60babfba83d68ed8 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 15 Apr 2024 23:22:16 +0200 Subject: [PATCH 061/201] Update version in documentation --- docs/overview.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index de62b28c7..507a02c9d 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,19 +25,19 @@ Cake.Issues recipes will add the following addins to your build: | 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.1.0 | [Cake.Issues] 4.1.0 | | -| [Cake.Issues.MsBuild] 4.1.0 | [Cake.Frosting.Issues.MsBuild] 4.1.0 | | -| [Cake.Issues.InspectCode] 4.1.0 | [Cake.Frosting.Issues.InspectCode] 4.1.0 | | -| [Cake.Issues.Markdownlint] 4.1.0 | [Cake.Frosting.Issues.Markdownlint] 4.1.0 | | -| [Cake.Issues.EsLint] 4.1.0 | [Cake.Frosting.Issues.EsLint] 4.1.0 | | -| [Cake.Issues.Reporting] 4.1.0 | [Cake.Frosting.Issues.Reporting] 4.1.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.1.0 | [Cake.Frosting.Issues.PullRequests] 4.1.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.0.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.0.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.0.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.0.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.0.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.0.0 | | -| [Cake.AzureDevOps] | [Cake.AzureDevOps] | | +| [Cake.Issues] 4.2.0 | [Cake.Issues] 4.2.0 | | +| [Cake.Issues.MsBuild] 4.2.0 | [Cake.Frosting.Issues.MsBuild] 4.2.0 | | +| [Cake.Issues.InspectCode] 4.2.0 | [Cake.Frosting.Issues.InspectCode] 4.2.0 | | +| [Cake.Issues.Markdownlint] 4.2.0 | [Cake.Frosting.Issues.Markdownlint] 4.2.0 | | +| [Cake.Issues.EsLint] 4.2.0 | [Cake.Frosting.Issues.EsLint] 4.2.0 | | +| [Cake.Issues.Reporting] 4.2.0 | [Cake.Frosting.Issues.Reporting] 4.2.0 | | +| [Cake.Issues.Reporting.Generic] 4.2.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.2.0 | | +| [Cake.Issues.Reporting.Sarif] 4.2.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.2.0 | | +| [Cake.Issues.PullRequests] 4.2.0 | [Cake.Frosting.Issues.PullRequests] 4.2.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.2.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.2.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.2.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.2.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.2.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.2.0 | | +| [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe From f59445f580b8f58debdab8ad4933e21787bfc2ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 20:49:49 +0200 Subject: [PATCH 062/201] Update Cake.Issues to v4.2.1 (#438) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 507a02c9d..a0c5f0292 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.2.0 | [Cake.Issues] 4.2.0 | | -| [Cake.Issues.MsBuild] 4.2.0 | [Cake.Frosting.Issues.MsBuild] 4.2.0 | | -| [Cake.Issues.InspectCode] 4.2.0 | [Cake.Frosting.Issues.InspectCode] 4.2.0 | | -| [Cake.Issues.Markdownlint] 4.2.0 | [Cake.Frosting.Issues.Markdownlint] 4.2.0 | | -| [Cake.Issues.EsLint] 4.2.0 | [Cake.Frosting.Issues.EsLint] 4.2.0 | | -| [Cake.Issues.Reporting] 4.2.0 | [Cake.Frosting.Issues.Reporting] 4.2.0 | | -| [Cake.Issues.Reporting.Generic] 4.2.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.2.0 | | -| [Cake.Issues.Reporting.Sarif] 4.2.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.2.0 | | -| [Cake.Issues.PullRequests] 4.2.0 | [Cake.Frosting.Issues.PullRequests] 4.2.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.2.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.2.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.2.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.2.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.2.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.2.0 | | +| [Cake.Issues] 4.2.1 | [Cake.Issues] 4.2.1 | | +| [Cake.Issues.MsBuild] 4.2.1 | [Cake.Frosting.Issues.MsBuild] 4.2.1 | | +| [Cake.Issues.InspectCode] 4.2.1 | [Cake.Frosting.Issues.InspectCode] 4.2.1 | | +| [Cake.Issues.Markdownlint] 4.2.1 | [Cake.Frosting.Issues.Markdownlint] 4.2.1 | | +| [Cake.Issues.EsLint] 4.2.1 | [Cake.Frosting.Issues.EsLint] 4.2.1 | | +| [Cake.Issues.Reporting] 4.2.1 | [Cake.Frosting.Issues.Reporting] 4.2.1 | | +| [Cake.Issues.Reporting.Generic] 4.2.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.2.1 | | +| [Cake.Issues.Reporting.Sarif] 4.2.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.2.1 | | +| [Cake.Issues.PullRequests] 4.2.1 | [Cake.Frosting.Issues.PullRequests] 4.2.1 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.2.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.2.1 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.2.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.2.1 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.2.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.2.1 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 18e6c250dd0d7cb43bf8317309d5c91847265b5c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 21 Apr 2024 00:03:42 +0200 Subject: [PATCH 063/201] Update Cake.Issues to v4.3.0 (#441) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index a0c5f0292..32c33c18d 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.2.1 | [Cake.Issues] 4.2.1 | | -| [Cake.Issues.MsBuild] 4.2.1 | [Cake.Frosting.Issues.MsBuild] 4.2.1 | | -| [Cake.Issues.InspectCode] 4.2.1 | [Cake.Frosting.Issues.InspectCode] 4.2.1 | | -| [Cake.Issues.Markdownlint] 4.2.1 | [Cake.Frosting.Issues.Markdownlint] 4.2.1 | | -| [Cake.Issues.EsLint] 4.2.1 | [Cake.Frosting.Issues.EsLint] 4.2.1 | | -| [Cake.Issues.Reporting] 4.2.1 | [Cake.Frosting.Issues.Reporting] 4.2.1 | | -| [Cake.Issues.Reporting.Generic] 4.2.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.2.1 | | -| [Cake.Issues.Reporting.Sarif] 4.2.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.2.1 | | -| [Cake.Issues.PullRequests] 4.2.1 | [Cake.Frosting.Issues.PullRequests] 4.2.1 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.2.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.2.1 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.2.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.2.1 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.2.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.2.1 | | +| [Cake.Issues] 4.3.0 | [Cake.Issues] 4.3.0 | | +| [Cake.Issues.MsBuild] 4.3.0 | [Cake.Frosting.Issues.MsBuild] 4.3.0 | | +| [Cake.Issues.InspectCode] 4.3.0 | [Cake.Frosting.Issues.InspectCode] 4.3.0 | | +| [Cake.Issues.Markdownlint] 4.3.0 | [Cake.Frosting.Issues.Markdownlint] 4.3.0 | | +| [Cake.Issues.EsLint] 4.3.0 | [Cake.Frosting.Issues.EsLint] 4.3.0 | | +| [Cake.Issues.Reporting] 4.3.0 | [Cake.Frosting.Issues.Reporting] 4.3.0 | | +| [Cake.Issues.Reporting.Generic] 4.3.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.3.0 | | +| [Cake.Issues.Reporting.Sarif] 4.3.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.3.0 | | +| [Cake.Issues.PullRequests] 4.3.0 | [Cake.Frosting.Issues.PullRequests] 4.3.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.3.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.3.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.3.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.3.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.3.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.3.0 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 9e5e3f428894be852f51495bfcd2aabad09cf339 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:16:59 +0200 Subject: [PATCH 064/201] Update Cake.Issues to v4.3.1 (#446) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 32c33c18d..0f38b9a22 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.3.0 | [Cake.Issues] 4.3.0 | | -| [Cake.Issues.MsBuild] 4.3.0 | [Cake.Frosting.Issues.MsBuild] 4.3.0 | | -| [Cake.Issues.InspectCode] 4.3.0 | [Cake.Frosting.Issues.InspectCode] 4.3.0 | | -| [Cake.Issues.Markdownlint] 4.3.0 | [Cake.Frosting.Issues.Markdownlint] 4.3.0 | | -| [Cake.Issues.EsLint] 4.3.0 | [Cake.Frosting.Issues.EsLint] 4.3.0 | | -| [Cake.Issues.Reporting] 4.3.0 | [Cake.Frosting.Issues.Reporting] 4.3.0 | | -| [Cake.Issues.Reporting.Generic] 4.3.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.3.0 | | -| [Cake.Issues.Reporting.Sarif] 4.3.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.3.0 | | -| [Cake.Issues.PullRequests] 4.3.0 | [Cake.Frosting.Issues.PullRequests] 4.3.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.3.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.3.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.3.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.3.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.3.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.3.0 | | +| [Cake.Issues] 4.3.1 | [Cake.Issues] 4.3.1 | | +| [Cake.Issues.MsBuild] 4.3.1 | [Cake.Frosting.Issues.MsBuild] 4.3.1 | | +| [Cake.Issues.InspectCode] 4.3.1 | [Cake.Frosting.Issues.InspectCode] 4.3.1 | | +| [Cake.Issues.Markdownlint] 4.3.1 | [Cake.Frosting.Issues.Markdownlint] 4.3.1 | | +| [Cake.Issues.EsLint] 4.3.1 | [Cake.Frosting.Issues.EsLint] 4.3.1 | | +| [Cake.Issues.Reporting] 4.3.1 | [Cake.Frosting.Issues.Reporting] 4.3.1 | | +| [Cake.Issues.Reporting.Generic] 4.3.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.3.1 | | +| [Cake.Issues.Reporting.Sarif] 4.3.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.3.1 | | +| [Cake.Issues.PullRequests] 4.3.1 | [Cake.Frosting.Issues.PullRequests] 4.3.1 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.3.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.3.1 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.3.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.3.1 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.3.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.3.1 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From d9e05f279e39699224fadb02208890d86bca9532 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 25 Apr 2024 13:17:30 +0200 Subject: [PATCH 065/201] Fix links to addin documentation (#447) --- docs/overview.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/overview.md b/docs/overview.md index 0f38b9a22..c954d1177 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -53,8 +53,11 @@ Cake.Issues recipes will add the following addins to your build: [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.Frosting.Issues.InspectCode]: https://cakebuild.net/extensions/cake-issues-inspectcode/ [Cake.Issues.Markdownlint]: https://cakebuild.net/extensions/cake-issues-markdownlint/ +[Cake.Frosting.Issues.Markdownlint]: https://cakebuild.net/extensions/cake-issues-markdownlint/ [Cake.Issues.EsLint]: https://cakebuild.net/extensions/cake-issues-eslint/ +[Cake.Frosting.Issues.EsLint]: https://cakebuild.net/extensions/cake-issues-eslint/ [Cake.Issues.Reporting]: https://cakebuild.net/extensions/cake-issues-reporting/ [Cake.Frosting.Issues.Reporting]: https://cakebuild.net/extensions/cake-issues-reporting/ [Cake.Issues.Reporting.Generic]: https://cakebuild.net/extensions/cake-issues-reporting-generic/ @@ -64,6 +67,9 @@ Cake.Issues recipes will add the following addins to your build: [Cake.Issues.PullRequests]: https://cakebuild.net/extensions/cake-issues-pullrequests/ [Cake.Frosting.Issues.PullRequests]: https://cakebuild.net/extensions/cake-issues-pullrequests/ [Cake.Issues.PullRequests.AppVeyor]: https://cakebuild.net/extensions/cake-issues-pullrequests-appveyor/ +[Cake.Frosting.Issues.PullRequests.AppVeyor]: https://cakebuild.net/extensions/cake-issues-pullrequests-appveyor/ [Cake.Issues.PullRequests.AzureDevOps]: https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/ +[Cake.Frosting.Issues.PullRequests.AzureDevOps]: https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/ [Cake.Issues.PullRequests.GitHubActions]: https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions/ +[Cake.Frosting.Issues.PullRequests.GitHubActions]: https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions/ [Cake.AzureDevOps]: https://cakebuild.net/extensions/cake-azuredevops/ From 29711e4349bac7023efed0d2991b13e17e340aec Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 17 May 2024 14:49:34 +0200 Subject: [PATCH 066/201] (GH-450) Add option to configure issue filters for writing comments to pull requests (#452) --- docs/configuration.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/configuration.md b/docs/configuration.md index a6eb21863..c29e91d66 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -72,6 +72,7 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostAcrossRuns` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostAcrossRuns` | `null` | Global number of issues which should be posted at maximum over all issue providers and across multiple runs. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a limit across multiple runs. | | `IssuesParameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `IssuesContext.Parameters.PullRequestSystem.`
    `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. | | `IssuesParameters.PullRequestSystem.`
    `ProviderIssueLimits` | `IssuesContext.Parameters.PullRequestSystem.`
    `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. | +| `IssuesParameters.PullRequestSystem.`
    `IssueFilters` | `IssuesContext.Parameters.PullRequestSystem.`
    `IssueFilters` | Empty | List of filter functions which should be applied before posting issues to pull requests. | | `IssuesParameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set if there are any issues found. | | `IssuesParameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `true` | Indicates whether a separate status should be set for issues of every issue provider and run. | From 1b53014e821afce4106ee7718c4b6079ccb794a5 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 20 May 2024 10:41:58 +0200 Subject: [PATCH 067/201] Update documentation --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index c954d1177..ca631ae7d 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.3.1 | [Cake.Issues] 4.3.1 | | -| [Cake.Issues.MsBuild] 4.3.1 | [Cake.Frosting.Issues.MsBuild] 4.3.1 | | -| [Cake.Issues.InspectCode] 4.3.1 | [Cake.Frosting.Issues.InspectCode] 4.3.1 | | -| [Cake.Issues.Markdownlint] 4.3.1 | [Cake.Frosting.Issues.Markdownlint] 4.3.1 | | -| [Cake.Issues.EsLint] 4.3.1 | [Cake.Frosting.Issues.EsLint] 4.3.1 | | -| [Cake.Issues.Reporting] 4.3.1 | [Cake.Frosting.Issues.Reporting] 4.3.1 | | -| [Cake.Issues.Reporting.Generic] 4.3.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.3.1 | | -| [Cake.Issues.Reporting.Sarif] 4.3.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.3.1 | | -| [Cake.Issues.PullRequests] 4.3.1 | [Cake.Frosting.Issues.PullRequests] 4.3.1 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.3.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.3.1 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.3.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.3.1 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.3.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.3.1 | | +| [Cake.Issues] 4.4.0 | [Cake.Issues] 4.4.0 | | +| [Cake.Issues.MsBuild] 4.4.0 | [Cake.Frosting.Issues.MsBuild] 4.4.0 | | +| [Cake.Issues.InspectCode] 4.4.0 | [Cake.Frosting.Issues.InspectCode] 4.4.0 | | +| [Cake.Issues.Markdownlint] 4.4.0 | [Cake.Frosting.Issues.Markdownlint] 4.4.0 | | +| [Cake.Issues.EsLint] 4.4.0 | [Cake.Frosting.Issues.EsLint] 4.4.0 | | +| [Cake.Issues.Reporting] 4.4.0 | [Cake.Frosting.Issues.Reporting] 4.4.0 | | +| [Cake.Issues.Reporting.Generic] 4.4.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.4.0 | | +| [Cake.Issues.Reporting.Sarif] 4.4.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.4.0 | | +| [Cake.Issues.PullRequests] 4.4.0 | [Cake.Frosting.Issues.PullRequests] 4.4.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.4.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.4.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.4.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.4.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.4.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.4.0 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From a7771bd55a3efc2f7050d43eb059ae172fd64025 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 22 May 2024 23:19:09 +0200 Subject: [PATCH 068/201] (GH-244) Add support for writing issues to console (#458) --- docs/configuration.md | 2 ++ docs/tasks.md | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/configuration.md b/docs/configuration.md index c29e91d66..428a0cbf2 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -51,6 +51,8 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.Reporting.`
    `ShouldCreateFullIssuesReport` | `IssuesContext.Parameters.Reporting.`
    `ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | | `IssuesParameters.Reporting.`
    `FullIssuesReportSettings` | `IssuesContext.Parameters.Reporting.`
    `FullIssuesReportSettings` | `GenericIssueReportTemplate.HtmlDxDataGrid` template with `DevExtremeTheme.MaterialBlueLight` theme. | Settings for creating the full issues report. See [Template Gallery] for possible options. | | `IssuesParameters.Reporting.`
    `ShouldCreateSarifReport` | `IssuesContext.Parameters.Reporting.`
    `ShouldCreateSarifReport` | `true` | Indicates whether a report in SARIF format should be created. | +| `IssuesParameters.Reporting.`
    `ShouldReportIssuesToConsole` | `IssuesContext.Parameters.Reporting.`
    `ShouldReportIssuesToConsole` | `false` | Indicates whether issues should be reported to the console. | +| `IssuesParameters.Reporting.`
    `ReportToConsoleSettings` | `IssuesContext.Parameters.Reporting.`
    `ReportToConsoleSettings` | | Settings for reporting issues to the console. | [Template Gallery]: /docs/report-formats/generic/templates/ diff --git a/docs/tasks.md b/docs/tasks.md index 6b72fb858..1af33410c 100644 --- a/docs/tasks.md +++ b/docs/tasks.md @@ -15,4 +15,5 @@ Cake.Issues recipes provide the following tasks to your build script: | `Report-IssuesToBuildServer` | Report issues to build server. | `IssuesBuildTasks.`
    `ReportIssuesToBuildServerTask` | `Cake.Frosting.Issues.Recipe.`
    `ReportIssuesToBuildServerTask` | | `Create-SummaryIssuesReport` | Creates a summary issue report. | `IssuesBuildTasks.`
    `CreateSummaryIssuesReportTask` | `Cake.Frosting.Issues.Recipe.`
    `CreateSummaryIssuesReportTask` | | `Report-IssuesToPullRequest` | Report issues to pull request. | `IssuesBuildTasks.`
    `ReportIssuesToPullRequestTask` | `Cake.Frosting.Issues.Recipe.`
    `ReportIssuesToPullRequestTask` | -| `Set-PullRequestIssuesState` | Set pull request status. | `IssuesBuildTasks.`
    `SetPullRequestIssuesStateTask` | `Cake.Frosting.Issues.Recipe.`
    `SetPullRequestIssuesStateTask` | \ No newline at end of file +| `Set-PullRequestIssuesState` | Set pull request status. | `IssuesBuildTasks.`
    `SetPullRequestIssuesStateTask` | `Cake.Frosting.Issues.Recipe.`
    `SetPullRequestIssuesStateTask` | +| `Report-IssuesToConsole` | Report issues to console. | `IssuesBuildTasks.`
    `ReportIssuesToConsoleTask` | `Cake.Frosting.Issues.Recipe.`
    `ReportIssuesToConsoleTask` | \ No newline at end of file From afd7f0292ffedddd9b1c4fe1cb08bd574430fc41 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 23 May 2024 15:21:13 +0200 Subject: [PATCH 069/201] Update documentation --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index ca631ae7d..93e8d5a9e 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.4.0 | [Cake.Issues] 4.4.0 | | -| [Cake.Issues.MsBuild] 4.4.0 | [Cake.Frosting.Issues.MsBuild] 4.4.0 | | -| [Cake.Issues.InspectCode] 4.4.0 | [Cake.Frosting.Issues.InspectCode] 4.4.0 | | -| [Cake.Issues.Markdownlint] 4.4.0 | [Cake.Frosting.Issues.Markdownlint] 4.4.0 | | -| [Cake.Issues.EsLint] 4.4.0 | [Cake.Frosting.Issues.EsLint] 4.4.0 | | -| [Cake.Issues.Reporting] 4.4.0 | [Cake.Frosting.Issues.Reporting] 4.4.0 | | -| [Cake.Issues.Reporting.Generic] 4.4.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.4.0 | | -| [Cake.Issues.Reporting.Sarif] 4.4.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.4.0 | | -| [Cake.Issues.PullRequests] 4.4.0 | [Cake.Frosting.Issues.PullRequests] 4.4.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.4.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.4.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.4.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.4.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.4.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.4.0 | | +| [Cake.Issues] 4.5.0 | [Cake.Issues] 4.5.0 | | +| [Cake.Issues.MsBuild] 4.5.0 | [Cake.Frosting.Issues.MsBuild] 4.5.0 | | +| [Cake.Issues.InspectCode] 4.5.0 | [Cake.Frosting.Issues.InspectCode] 4.5.0 | | +| [Cake.Issues.Markdownlint] 4.5.0 | [Cake.Frosting.Issues.Markdownlint] 4.5.0 | | +| [Cake.Issues.EsLint] 4.5.0 | [Cake.Frosting.Issues.EsLint] 4.5.0 | | +| [Cake.Issues.Reporting] 4.5.0 | [Cake.Frosting.Issues.Reporting] 4.5.0 | | +| [Cake.Issues.Reporting.Generic] 4.5.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.5.0 | | +| [Cake.Issues.Reporting.Sarif] 4.5.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.5.0 | | +| [Cake.Issues.PullRequests] 4.5.0 | [Cake.Frosting.Issues.PullRequests] 4.5.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.5.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.5.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.5.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.5.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.5.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.5.0 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 00bbbbda04f983aa671e62e6bea0640be6bd8f0c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 12:47:44 +0200 Subject: [PATCH 070/201] Update Cake.Issues to v4.5.1 (#464) * Update Cake.Issues to v4.5.1 * Update documentation --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 93e8d5a9e..cae4e0ef6 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.5.0 | [Cake.Issues] 4.5.0 | | -| [Cake.Issues.MsBuild] 4.5.0 | [Cake.Frosting.Issues.MsBuild] 4.5.0 | | -| [Cake.Issues.InspectCode] 4.5.0 | [Cake.Frosting.Issues.InspectCode] 4.5.0 | | -| [Cake.Issues.Markdownlint] 4.5.0 | [Cake.Frosting.Issues.Markdownlint] 4.5.0 | | -| [Cake.Issues.EsLint] 4.5.0 | [Cake.Frosting.Issues.EsLint] 4.5.0 | | -| [Cake.Issues.Reporting] 4.5.0 | [Cake.Frosting.Issues.Reporting] 4.5.0 | | -| [Cake.Issues.Reporting.Generic] 4.5.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.5.0 | | -| [Cake.Issues.Reporting.Sarif] 4.5.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.5.0 | | -| [Cake.Issues.PullRequests] 4.5.0 | [Cake.Frosting.Issues.PullRequests] 4.5.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.5.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.5.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.5.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.5.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.5.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.5.0 | | +| [Cake.Issues] 4.5.1 | [Cake.Issues] 4.5.1 | | +| [Cake.Issues.MsBuild] 4.5.1 | [Cake.Frosting.Issues.MsBuild] 4.5.1 | | +| [Cake.Issues.InspectCode] 4.5.1 | [Cake.Frosting.Issues.InspectCode] 4.5.1 | | +| [Cake.Issues.Markdownlint] 4.5.1 | [Cake.Frosting.Issues.Markdownlint] 4.5.1 | | +| [Cake.Issues.EsLint] 4.5.1 | [Cake.Frosting.Issues.EsLint] 4.5.1 | | +| [Cake.Issues.Reporting] 4.5.1 | [Cake.Frosting.Issues.Reporting] 4.5.1 | | +| [Cake.Issues.Reporting.Generic] 4.5.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.5.1 | | +| [Cake.Issues.Reporting.Sarif] 4.5.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.5.1 | | +| [Cake.Issues.PullRequests] 4.5.1 | [Cake.Frosting.Issues.PullRequests] 4.5.1 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.5.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.5.1 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.5.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.5.1 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.5.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.5.1 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From bc4e43ba2e803e59814ef21ba9bf658bd1e2fe3e Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 25 Jun 2024 08:54:59 +0200 Subject: [PATCH 071/201] Update documentation --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index cae4e0ef6..76bed36d2 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.5.1 | [Cake.Issues] 4.5.1 | | -| [Cake.Issues.MsBuild] 4.5.1 | [Cake.Frosting.Issues.MsBuild] 4.5.1 | | -| [Cake.Issues.InspectCode] 4.5.1 | [Cake.Frosting.Issues.InspectCode] 4.5.1 | | -| [Cake.Issues.Markdownlint] 4.5.1 | [Cake.Frosting.Issues.Markdownlint] 4.5.1 | | -| [Cake.Issues.EsLint] 4.5.1 | [Cake.Frosting.Issues.EsLint] 4.5.1 | | -| [Cake.Issues.Reporting] 4.5.1 | [Cake.Frosting.Issues.Reporting] 4.5.1 | | -| [Cake.Issues.Reporting.Generic] 4.5.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.5.1 | | -| [Cake.Issues.Reporting.Sarif] 4.5.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.5.1 | | -| [Cake.Issues.PullRequests] 4.5.1 | [Cake.Frosting.Issues.PullRequests] 4.5.1 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.5.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.5.1 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.5.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.5.1 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.5.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.5.1 | | +| [Cake.Issues] 4.6.0 | [Cake.Issues] 4.6.0 | | +| [Cake.Issues.MsBuild] 4.6.0 | [Cake.Frosting.Issues.MsBuild] 4.6.0 | | +| [Cake.Issues.InspectCode] 4.6.0 | [Cake.Frosting.Issues.InspectCode] 4.6.0 | | +| [Cake.Issues.Markdownlint] 4.6.0 | [Cake.Frosting.Issues.Markdownlint] 4.6.0 | | +| [Cake.Issues.EsLint] 4.6.0 | [Cake.Frosting.Issues.EsLint] 4.6.0 | | +| [Cake.Issues.Reporting] 4.6.0 | [Cake.Frosting.Issues.Reporting] 4.6.0 | | +| [Cake.Issues.Reporting.Generic] 4.6.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.6.0 | | +| [Cake.Issues.Reporting.Sarif] 4.6.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.6.0 | | +| [Cake.Issues.PullRequests] 4.6.0 | [Cake.Frosting.Issues.PullRequests] 4.6.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.6.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.6.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.6.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.6.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.6.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.6.0 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 3ac1895617f5e9d07a5f1fc41205ac8340667428 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:39:33 +0200 Subject: [PATCH 072/201] Update Cake.Issues to v4.7.0 (#472) * Update Cake.Issues to v4.7.0 * Update documentation --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 76bed36d2..633272de2 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.6.0 | [Cake.Issues] 4.6.0 | | -| [Cake.Issues.MsBuild] 4.6.0 | [Cake.Frosting.Issues.MsBuild] 4.6.0 | | -| [Cake.Issues.InspectCode] 4.6.0 | [Cake.Frosting.Issues.InspectCode] 4.6.0 | | -| [Cake.Issues.Markdownlint] 4.6.0 | [Cake.Frosting.Issues.Markdownlint] 4.6.0 | | -| [Cake.Issues.EsLint] 4.6.0 | [Cake.Frosting.Issues.EsLint] 4.6.0 | | -| [Cake.Issues.Reporting] 4.6.0 | [Cake.Frosting.Issues.Reporting] 4.6.0 | | -| [Cake.Issues.Reporting.Generic] 4.6.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.6.0 | | -| [Cake.Issues.Reporting.Sarif] 4.6.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.6.0 | | -| [Cake.Issues.PullRequests] 4.6.0 | [Cake.Frosting.Issues.PullRequests] 4.6.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.6.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.6.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.6.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.6.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.6.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.6.0 | | +| [Cake.Issues] 4.7.0 | [Cake.Issues] 4.7.0 | | +| [Cake.Issues.MsBuild] 4.7.0 | [Cake.Frosting.Issues.MsBuild] 4.7.0 | | +| [Cake.Issues.InspectCode] 4.7.0 | [Cake.Frosting.Issues.InspectCode] 4.7.0 | | +| [Cake.Issues.Markdownlint] 4.7.0 | [Cake.Frosting.Issues.Markdownlint] 4.7.0 | | +| [Cake.Issues.EsLint] 4.7.0 | [Cake.Frosting.Issues.EsLint] 4.7.0 | | +| [Cake.Issues.Reporting] 4.7.0 | [Cake.Frosting.Issues.Reporting] 4.7.0 | | +| [Cake.Issues.Reporting.Generic] 4.7.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.7.0 | | +| [Cake.Issues.Reporting.Sarif] 4.7.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.7.0 | | +| [Cake.Issues.PullRequests] 4.7.0 | [Cake.Frosting.Issues.PullRequests] 4.7.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.7.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.7.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.7.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.7.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.7.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.7.0 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 3bdac4cf4333a7b366c02b9facd4737fe2efe34e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 17 Jul 2024 22:39:07 +0200 Subject: [PATCH 073/201] Update Cake.Issues to v4.7.1 (#473) * Update Cake.Issues to v4.7.1 * Update documentation --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 633272de2..16802d8f3 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.7.0 | [Cake.Issues] 4.7.0 | | -| [Cake.Issues.MsBuild] 4.7.0 | [Cake.Frosting.Issues.MsBuild] 4.7.0 | | -| [Cake.Issues.InspectCode] 4.7.0 | [Cake.Frosting.Issues.InspectCode] 4.7.0 | | -| [Cake.Issues.Markdownlint] 4.7.0 | [Cake.Frosting.Issues.Markdownlint] 4.7.0 | | -| [Cake.Issues.EsLint] 4.7.0 | [Cake.Frosting.Issues.EsLint] 4.7.0 | | -| [Cake.Issues.Reporting] 4.7.0 | [Cake.Frosting.Issues.Reporting] 4.7.0 | | -| [Cake.Issues.Reporting.Generic] 4.7.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.7.0 | | -| [Cake.Issues.Reporting.Sarif] 4.7.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.7.0 | | -| [Cake.Issues.PullRequests] 4.7.0 | [Cake.Frosting.Issues.PullRequests] 4.7.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.7.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.7.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.7.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.7.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.7.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.7.0 | | +| [Cake.Issues] 4.7.1 | [Cake.Issues] 4.7.1 | | +| [Cake.Issues.MsBuild] 4.7.1 | [Cake.Frosting.Issues.MsBuild] 4.7.1 | | +| [Cake.Issues.InspectCode] 4.7.1 | [Cake.Frosting.Issues.InspectCode] 4.7.1 | | +| [Cake.Issues.Markdownlint] 4.7.1 | [Cake.Frosting.Issues.Markdownlint] 4.7.1 | | +| [Cake.Issues.EsLint] 4.7.1 | [Cake.Frosting.Issues.EsLint] 4.7.1 | | +| [Cake.Issues.Reporting] 4.7.1 | [Cake.Frosting.Issues.Reporting] 4.7.1 | | +| [Cake.Issues.Reporting.Generic] 4.7.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.7.1 | | +| [Cake.Issues.Reporting.Sarif] 4.7.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.7.1 | | +| [Cake.Issues.PullRequests] 4.7.1 | [Cake.Frosting.Issues.PullRequests] 4.7.1 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.7.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.7.1 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.7.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.7.1 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.7.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.7.1 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From d1f3258896a1b89222019ec63a9ba316cd095a52 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Jul 2024 07:28:39 +0200 Subject: [PATCH 074/201] Update Cake.Issues to v4.7.2 (#476) * Update Cake.Issues to v4.7.2 * Update documentation --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 16802d8f3..362005018 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.7.1 | [Cake.Issues] 4.7.1 | | -| [Cake.Issues.MsBuild] 4.7.1 | [Cake.Frosting.Issues.MsBuild] 4.7.1 | | -| [Cake.Issues.InspectCode] 4.7.1 | [Cake.Frosting.Issues.InspectCode] 4.7.1 | | -| [Cake.Issues.Markdownlint] 4.7.1 | [Cake.Frosting.Issues.Markdownlint] 4.7.1 | | -| [Cake.Issues.EsLint] 4.7.1 | [Cake.Frosting.Issues.EsLint] 4.7.1 | | -| [Cake.Issues.Reporting] 4.7.1 | [Cake.Frosting.Issues.Reporting] 4.7.1 | | -| [Cake.Issues.Reporting.Generic] 4.7.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.7.1 | | -| [Cake.Issues.Reporting.Sarif] 4.7.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.7.1 | | -| [Cake.Issues.PullRequests] 4.7.1 | [Cake.Frosting.Issues.PullRequests] 4.7.1 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.7.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.7.1 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.7.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.7.1 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.7.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.7.1 | | +| [Cake.Issues] 4.7.2 | [Cake.Issues] 4.7.2 | | +| [Cake.Issues.MsBuild] 4.7.2 | [Cake.Frosting.Issues.MsBuild] 4.7.2 | | +| [Cake.Issues.InspectCode] 4.7.2 | [Cake.Frosting.Issues.InspectCode] 4.7.2 | | +| [Cake.Issues.Markdownlint] 4.7.2 | [Cake.Frosting.Issues.Markdownlint] 4.7.2 | | +| [Cake.Issues.EsLint] 4.7.2 | [Cake.Frosting.Issues.EsLint] 4.7.2 | | +| [Cake.Issues.Reporting] 4.7.2 | [Cake.Frosting.Issues.Reporting] 4.7.2 | | +| [Cake.Issues.Reporting.Generic] 4.7.2 | [Cake.Frosting.Issues.Reporting.Generic] 4.7.2 | | +| [Cake.Issues.Reporting.Sarif] 4.7.2 | [Cake.Frosting.Issues.Reporting.Sarif] 4.7.2 | | +| [Cake.Issues.PullRequests] 4.7.2 | [Cake.Frosting.Issues.PullRequests] 4.7.2 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.7.2 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.7.2 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.7.2 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.7.2 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.7.2 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.7.2 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From f7f49c8657172d41a32e5189400e5fd06f9fec6f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Jul 2024 13:43:13 +0200 Subject: [PATCH 075/201] Update Cake.Issues to v4.8.0 (#478) * Update Cake.Issues to v4.8.0 * Update documentation --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 362005018..96e240bfa 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.7.2 | [Cake.Issues] 4.7.2 | | -| [Cake.Issues.MsBuild] 4.7.2 | [Cake.Frosting.Issues.MsBuild] 4.7.2 | | -| [Cake.Issues.InspectCode] 4.7.2 | [Cake.Frosting.Issues.InspectCode] 4.7.2 | | -| [Cake.Issues.Markdownlint] 4.7.2 | [Cake.Frosting.Issues.Markdownlint] 4.7.2 | | -| [Cake.Issues.EsLint] 4.7.2 | [Cake.Frosting.Issues.EsLint] 4.7.2 | | -| [Cake.Issues.Reporting] 4.7.2 | [Cake.Frosting.Issues.Reporting] 4.7.2 | | -| [Cake.Issues.Reporting.Generic] 4.7.2 | [Cake.Frosting.Issues.Reporting.Generic] 4.7.2 | | -| [Cake.Issues.Reporting.Sarif] 4.7.2 | [Cake.Frosting.Issues.Reporting.Sarif] 4.7.2 | | -| [Cake.Issues.PullRequests] 4.7.2 | [Cake.Frosting.Issues.PullRequests] 4.7.2 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.7.2 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.7.2 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.7.2 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.7.2 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.7.2 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.7.2 | | +| [Cake.Issues] 4.8.0 | [Cake.Issues] 4.8.0 | | +| [Cake.Issues.MsBuild] 4.8.0 | [Cake.Frosting.Issues.MsBuild] 4.8.0 | | +| [Cake.Issues.InspectCode] 4.8.0 | [Cake.Frosting.Issues.InspectCode] 4.8.0 | | +| [Cake.Issues.Markdownlint] 4.8.0 | [Cake.Frosting.Issues.Markdownlint] 4.8.0 | | +| [Cake.Issues.EsLint] 4.8.0 | [Cake.Frosting.Issues.EsLint] 4.8.0 | | +| [Cake.Issues.Reporting] 4.8.0 | [Cake.Frosting.Issues.Reporting] 4.8.0 | | +| [Cake.Issues.Reporting.Generic] 4.8.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.8.0 | | +| [Cake.Issues.Reporting.Sarif] 4.8.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.8.0 | | +| [Cake.Issues.PullRequests] 4.8.0 | [Cake.Frosting.Issues.PullRequests] 4.8.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.8.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.8.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.8.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.8.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.8.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.8.0 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 6c09937a0c5691ff713650b76ccb2db1766c4949 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 19 Jul 2024 16:57:21 +0200 Subject: [PATCH 076/201] Update documentation --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 96e240bfa..c9ce2e6c1 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.8.0 | [Cake.Issues] 4.8.0 | | -| [Cake.Issues.MsBuild] 4.8.0 | [Cake.Frosting.Issues.MsBuild] 4.8.0 | | -| [Cake.Issues.InspectCode] 4.8.0 | [Cake.Frosting.Issues.InspectCode] 4.8.0 | | -| [Cake.Issues.Markdownlint] 4.8.0 | [Cake.Frosting.Issues.Markdownlint] 4.8.0 | | -| [Cake.Issues.EsLint] 4.8.0 | [Cake.Frosting.Issues.EsLint] 4.8.0 | | -| [Cake.Issues.Reporting] 4.8.0 | [Cake.Frosting.Issues.Reporting] 4.8.0 | | -| [Cake.Issues.Reporting.Generic] 4.8.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.8.0 | | -| [Cake.Issues.Reporting.Sarif] 4.8.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.8.0 | | -| [Cake.Issues.PullRequests] 4.8.0 | [Cake.Frosting.Issues.PullRequests] 4.8.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.8.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.8.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.8.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.8.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.8.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.8.0 | | +| [Cake.Issues] 4.8.1 | [Cake.Issues] 4.8.1 | | +| [Cake.Issues.MsBuild] 4.8.1 | [Cake.Frosting.Issues.MsBuild] 4.8.1 | | +| [Cake.Issues.InspectCode] 4.8.1 | [Cake.Frosting.Issues.InspectCode] 4.8.1 | | +| [Cake.Issues.Markdownlint] 4.8.1 | [Cake.Frosting.Issues.Markdownlint] 4.8.1 | | +| [Cake.Issues.EsLint] 4.8.1 | [Cake.Frosting.Issues.EsLint] 4.8.1 | | +| [Cake.Issues.Reporting] 4.8.1 | [Cake.Frosting.Issues.Reporting] 4.8.1 | | +| [Cake.Issues.Reporting.Generic] 4.8.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.8.1 | | +| [Cake.Issues.Reporting.Sarif] 4.8.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.8.1 | | +| [Cake.Issues.PullRequests] 4.8.1 | [Cake.Frosting.Issues.PullRequests] 4.8.1 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.8.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.8.1 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.8.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.8.1 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.8.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.8.1 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 6fccb4a442a7e9a43e43a8cd61af2b58f750ca25 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 13:02:52 +0200 Subject: [PATCH 077/201] Update Cake.Issues to v4.9.0 (#481) * Update Cake.Issues to v4.9.0 * Update documentation --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index c9ce2e6c1..af7a88ff6 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,18 +25,18 @@ Cake.Issues recipes will add the following addins to your build: | 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.8.1 | [Cake.Issues] 4.8.1 | | -| [Cake.Issues.MsBuild] 4.8.1 | [Cake.Frosting.Issues.MsBuild] 4.8.1 | | -| [Cake.Issues.InspectCode] 4.8.1 | [Cake.Frosting.Issues.InspectCode] 4.8.1 | | -| [Cake.Issues.Markdownlint] 4.8.1 | [Cake.Frosting.Issues.Markdownlint] 4.8.1 | | -| [Cake.Issues.EsLint] 4.8.1 | [Cake.Frosting.Issues.EsLint] 4.8.1 | | -| [Cake.Issues.Reporting] 4.8.1 | [Cake.Frosting.Issues.Reporting] 4.8.1 | | -| [Cake.Issues.Reporting.Generic] 4.8.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.8.1 | | -| [Cake.Issues.Reporting.Sarif] 4.8.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.8.1 | | -| [Cake.Issues.PullRequests] 4.8.1 | [Cake.Frosting.Issues.PullRequests] 4.8.1 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.8.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.8.1 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.8.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.8.1 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.8.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.8.1 | | +| [Cake.Issues] 4.9.0 | [Cake.Issues] 4.9.0 | | +| [Cake.Issues.MsBuild] 4.9.0 | [Cake.Frosting.Issues.MsBuild] 4.9.0 | | +| [Cake.Issues.InspectCode] 4.9.0 | [Cake.Frosting.Issues.InspectCode] 4.9.0 | | +| [Cake.Issues.Markdownlint] 4.9.0 | [Cake.Frosting.Issues.Markdownlint] 4.9.0 | | +| [Cake.Issues.EsLint] 4.9.0 | [Cake.Frosting.Issues.EsLint] 4.9.0 | | +| [Cake.Issues.Reporting] 4.9.0 | [Cake.Frosting.Issues.Reporting] 4.9.0 | | +| [Cake.Issues.Reporting.Generic] 4.9.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.9.0 | | +| [Cake.Issues.Reporting.Sarif] 4.9.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.9.0 | | +| [Cake.Issues.PullRequests] 4.9.0 | [Cake.Frosting.Issues.PullRequests] 4.9.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.9.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.9.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.9.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.9.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.9.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.9.0 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 17a3edd5f3d3a7d10c48ae87924954a8f825cac4 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 25 Jul 2024 14:08:59 +0200 Subject: [PATCH 078/201] (GH-480) Add support for reading SARIF files (#482) --- docs/configuration.md | 1 + docs/overview.md | 3 +++ docs/supported-tools.md | 2 ++ 3 files changed, 6 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index 428a0cbf2..6d052dac2 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -41,6 +41,7 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | Adds a path to a markdownlint-cli log file writting with `--json`. | | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | Adds a path to a markdownlint log file in version 1. | | `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFile()` | Adds a path to a ESLint log file generated by the [ESLint json formatter]. | +| `IssuesParameters.InputFiles.`
    `AddSarifLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddSarifLogFile()` | Adds a path to a SARIF log file. | [ESLint json formatter]: https://eslint.org/docs/user-guide/formatters/#json diff --git a/docs/overview.md b/docs/overview.md index af7a88ff6..ad7f88cd1 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -30,6 +30,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.InspectCode] 4.9.0 | [Cake.Frosting.Issues.InspectCode] 4.9.0 | | | [Cake.Issues.Markdownlint] 4.9.0 | [Cake.Frosting.Issues.Markdownlint] 4.9.0 | | | [Cake.Issues.EsLint] 4.9.0 | [Cake.Frosting.Issues.EsLint] 4.9.0 | | +| [Cake.Issues.Sarif] 4.9.0 | [Cake.Frosting.Issues.Sarif] 4.9.0 | | | [Cake.Issues.Reporting] 4.9.0 | [Cake.Frosting.Issues.Reporting] 4.9.0 | | | [Cake.Issues.Reporting.Generic] 4.9.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.9.0 | | | [Cake.Issues.Reporting.Sarif] 4.9.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.9.0 | | @@ -58,6 +59,8 @@ Cake.Issues recipes will add the following addins to your build: [Cake.Frosting.Issues.Markdownlint]: https://cakebuild.net/extensions/cake-issues-markdownlint/ [Cake.Issues.EsLint]: https://cakebuild.net/extensions/cake-issues-eslint/ [Cake.Frosting.Issues.EsLint]: https://cakebuild.net/extensions/cake-issues-eslint/ +[Cake.Issues.Sarif]: https://cakebuild.net/extensions/cake-issues-sarif/ +[Cake.Frosting.Issues.Sarif]: https://cakebuild.net/extensions/cake-issues-sarif/ [Cake.Issues.Reporting]: https://cakebuild.net/extensions/cake-issues-reporting/ [Cake.Frosting.Issues.Reporting]: https://cakebuild.net/extensions/cake-issues-reporting/ [Cake.Issues.Reporting.Generic]: https://cakebuild.net/extensions/cake-issues-reporting-generic/ diff --git a/docs/supported-tools.md b/docs/supported-tools.md index 19fcf0624..d54fb44b7 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -19,12 +19,14 @@ Cake.Issues recipes support reading issues from output of the following tools: | markdownlint | [markdownlint-cli] with `--json` | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | | markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | | [ESLint] | [json formatter] | `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFile()` | +| Any SARIF compatible tool | [SARIF] | `IssuesParameters.InputFiles.`
    `AddSarifLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddSarifLogFile()` | [MSBuild Extension Pack XmlFileLogger]: http://www.msbuildextensionpack.com/help/4.0.5.0/html/242ab4fd-c2e2-f6aa-325b-7588725aed24.htm [markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli [markdownlint]: https://github.com/DavidAnson/markdownlint [ESLint]: https://eslint.org/ [json formatter]: https://eslint.org/docs/user-guide/formatters/#json +[SARIF]: https://sarifweb.azurewebsites.net/ # Build systems From 4d171bfe7e58f349c4c735f891d08a429733c95d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 31 Jul 2024 07:21:59 +0200 Subject: [PATCH 079/201] Update Cake.Issues to v4.10.0 (#485) * Update Cake.Issues to v4.10.0 * Update documentation --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index ad7f88cd1..e8074a019 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,19 +25,19 @@ Cake.Issues recipes will add the following addins to your build: | 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.9.0 | [Cake.Issues] 4.9.0 | | -| [Cake.Issues.MsBuild] 4.9.0 | [Cake.Frosting.Issues.MsBuild] 4.9.0 | | -| [Cake.Issues.InspectCode] 4.9.0 | [Cake.Frosting.Issues.InspectCode] 4.9.0 | | -| [Cake.Issues.Markdownlint] 4.9.0 | [Cake.Frosting.Issues.Markdownlint] 4.9.0 | | -| [Cake.Issues.EsLint] 4.9.0 | [Cake.Frosting.Issues.EsLint] 4.9.0 | | -| [Cake.Issues.Sarif] 4.9.0 | [Cake.Frosting.Issues.Sarif] 4.9.0 | | -| [Cake.Issues.Reporting] 4.9.0 | [Cake.Frosting.Issues.Reporting] 4.9.0 | | -| [Cake.Issues.Reporting.Generic] 4.9.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.9.0 | | -| [Cake.Issues.Reporting.Sarif] 4.9.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.9.0 | | -| [Cake.Issues.PullRequests] 4.9.0 | [Cake.Frosting.Issues.PullRequests] 4.9.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.9.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.9.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.9.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.9.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.9.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.9.0 | | +| [Cake.Issues] 4.10.0 | [Cake.Issues] 4.10.0 | | +| [Cake.Issues.MsBuild] 4.10.0 | [Cake.Frosting.Issues.MsBuild] 4.10.0 | | +| [Cake.Issues.InspectCode] 4.10.0 | [Cake.Frosting.Issues.InspectCode] 4.10.0 | | +| [Cake.Issues.Markdownlint] 4.10.0 | [Cake.Frosting.Issues.Markdownlint] 4.10.0 | | +| [Cake.Issues.EsLint] 4.10.0 | [Cake.Frosting.Issues.EsLint] 4.10.0 | | +| [Cake.Issues.Sarif] 4.10.0 | [Cake.Frosting.Issues.Sarif] 4.10.0 | | +| [Cake.Issues.Reporting] 4.10.0 | [Cake.Frosting.Issues.Reporting] 4.10.0 | | +| [Cake.Issues.Reporting.Generic] 4.10.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.10.0 | | +| [Cake.Issues.Reporting.Sarif] 4.10.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.10.0 | | +| [Cake.Issues.PullRequests] 4.10.0 | [Cake.Frosting.Issues.PullRequests] 4.10.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.10.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.10.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.10.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.10.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.10.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.10.0 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 2b3cdec95457b7ad03a60cdca99865dfe12ff2d6 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 31 Jul 2024 07:28:51 +0200 Subject: [PATCH 080/201] (GH-483) Add option to pass log file content (#484) --- docs/configuration.md | 28 ++++++++++++------- docs/supported-tools.md | 20 ++++++------- .../using-cake-frosting-issues-recipe.md | 2 +- docs/usage/using-cake-issues-recipe.md | 4 +-- 4 files changed, 31 insertions(+), 23 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 6d052dac2..e3df226a2 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -32,16 +32,24 @@ By default [Cake.Git addin] will be used. # Input files -| Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Methods | Description | -|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------| -| `IssuesParameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | Adds a path to a MSBuild log file created by XmlFileLogger. | -| `IssuesParameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | Adds a path to a MSBuild binary log file. | -| `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFile()` | Adds a path to a JetBrains InspectCode log file. | -| `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | Adds a path to a markdownlint-cli log file. | -| `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | Adds a path to a markdownlint-cli log file writting with `--json`. | -| `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | Adds a path to a markdownlint log file in version 1. | -| `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFile()` | Adds a path to a ESLint log file generated by the [ESLint json formatter]. | -| `IssuesParameters.InputFiles.`
    `AddSarifLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddSarifLogFile()` | Adds a path to a SARIF log file. | +| Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Methods | Description | +|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------| +| `IssuesParameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFilePath()` | Adds a path to a MSBuild log file created by XmlFileLogger. | +| `IssuesParameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFileContent()` | Adds content of a MSBuild log file created by XmlFileLogger. | +| `IssuesParameters.InputFiles.`
    `AddMsBuildBinaryLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildBinaryLogFilePath()` | Adds a path to a MSBuild binary log file. | +| `IssuesParameters.InputFiles.`
    `AddMsBuildBinaryLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildBinaryLogFileContent()` | Adds content of a MSBuild binary log file. | +| `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFilePath()` | Adds a path to a JetBrains InspectCode log file. | +| `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFileContent()` | Adds content of a JetBrains InspectCode log file. | +| `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFilePath()` | Adds a path to a markdownlint-cli log file. | +| `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFileContent()` | Adds content of a markdownlint-cli log file. | +| `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFilePath()` | Adds a path to a markdownlint-cli log file writting with `--json`. | +| `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFileContent()` | Adds content of a markdownlint-cli log file writting with `--json`. | +| `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFilePath()` | Adds a path to a markdownlint log file in version 1. | +| `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFileContent()` | Adds content of a markdownlint log file in version 1. | +| `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFilePath()` | Adds a path to a ESLint log file generated by the [ESLint json formatter]. | +| `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFileContent()` | Adds content of a ESLint log file generated by the [ESLint json formatter]. | +| `IssuesParameters.InputFiles.`
    `AddSarifLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddSarifLogFilePath()` | Adds a path to a SARIF log file. | +| `IssuesParameters.InputFiles.`
    `AddSarifLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddSarifLogFileContent()` | Adds content of a SARIF log file. | [ESLint json formatter]: https://eslint.org/docs/user-guide/formatters/#json diff --git a/docs/supported-tools.md b/docs/supported-tools.md index d54fb44b7..e62805806 100644 --- a/docs/supported-tools.md +++ b/docs/supported-tools.md @@ -10,16 +10,16 @@ Cake.Issues recipes support reading issues from different tools and integrates w Cake.Issues recipes support reading issues from output of the following tools: -| Tool | Format | Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Method | -|-----------------------------------|----------------------------------------|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------| -| MsBuild | [MSBuild Extension Pack XmlFileLogger] | `IssuesParameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile()` | -| MsBuild | Binary Log File | `IssuesParameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildBinaryLogFile()` | -| JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFile()` | -| markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFile()` | -| markdownlint | [markdownlint-cli] with `--json` | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile()` | -| markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile()` | -| [ESLint] | [json formatter] | `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFile()` | -| Any SARIF compatible tool | [SARIF] | `IssuesParameters.InputFiles.`
    `AddSarifLogFile()` | `IssuesContext.Parameters.InputFiles.`
    `AddSarifLogFile()` | +| Tool | Format | Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Method | +|-----------------------------------|----------------------------------------|------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------| +| MsBuild | [MSBuild Extension Pack XmlFileLogger] | `IssuesParameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile*()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildXmlFileLoggerLogFile*()` | +| MsBuild | Binary Log File | `IssuesParameters.InputFiles.`
    `AddMsBuildBinaryLogFile*()` | `IssuesContext.Parameters.InputFiles.`
    `AddMsBuildBinaryLogFile*()` | +| JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.`
    `AddInspectCodeLogFile*()` | `IssuesContext.Parameters.InputFiles.`
    `AddInspectCodeLogFile*()` | +| markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliLogFile*()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliLogFile*()` | +| markdownlint | [markdownlint-cli] with `--json` | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile*()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFile*()` | +| markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFile*()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFile*()` | +| [ESLint] | [json formatter] | `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFile*()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFile*()` | +| Any SARIF compatible tool | [SARIF] | `IssuesParameters.InputFiles.`
    `AddSarifLogFile*()` | `IssuesContext.Parameters.InputFiles.`
    `AddSarifLogFile*()` | [MSBuild Extension Pack XmlFileLogger]: http://www.msbuildextensionpack.com/help/4.0.5.0/html/242ab4fd-c2e2-f6aa-325b-7588725aed24.htm [markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli diff --git a/docs/usage/using-cake-frosting-issues-recipe.md b/docs/usage/using-cake-frosting-issues-recipe.md index a52300602..7a3715520 100644 --- a/docs/usage/using-cake-frosting-issues-recipe.md +++ b/docs/usage/using-cake-frosting-issues-recipe.md @@ -97,7 +97,7 @@ public class RunInspectCodeTask : FrostingTask }); // Pass path to InspectCode log file to Cake.Frosting.Issues.Recipe - context.Parameters.InputFiles.AddInspectCodeLogFile(context.InspectCodeLogFilePath); + context.Parameters.InputFiles.AddInspectCodeLogFilePath(context.InspectCodeLogFilePath); } } ``` diff --git a/docs/usage/using-cake-issues-recipe.md b/docs/usage/using-cake-issues-recipe.md index ddb143993..71cbc419a 100644 --- a/docs/usage/using-cake-issues-recipe.md +++ b/docs/usage/using-cake-issues-recipe.md @@ -34,8 +34,8 @@ Task("Configure-CakeIssuesRecipe") .IsDependentOn("Run-InspectCode") .Does(() => { - IssuesParameters.InputFiles.AddMsBuildXmlFileLoggerLogFile(msBuildLogFilePath); - IssuesParameters.InputFiles.AddInspectCodeLogFile(inspectCodeLogFilePath); + IssuesParameters.InputFiles.AddMsBuildXmlFileLoggerLogFilePath(msBuildLogFilePath); + IssuesParameters.InputFiles.AddInspectCodeLogFilePath(inspectCodeLogFilePath); } ``` From 8f6a0998b390a9f261e9d9e9614cba6058ef301a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 23:04:42 +0200 Subject: [PATCH 081/201] Update Cake.Issues to v4.10.1 (#490) * Update Cake.Issues to v4.10.1 * Update documentation --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index e8074a019..fc1c9fee3 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,19 +25,19 @@ Cake.Issues recipes will add the following addins to your build: | 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.10.0 | [Cake.Issues] 4.10.0 | | -| [Cake.Issues.MsBuild] 4.10.0 | [Cake.Frosting.Issues.MsBuild] 4.10.0 | | -| [Cake.Issues.InspectCode] 4.10.0 | [Cake.Frosting.Issues.InspectCode] 4.10.0 | | -| [Cake.Issues.Markdownlint] 4.10.0 | [Cake.Frosting.Issues.Markdownlint] 4.10.0 | | -| [Cake.Issues.EsLint] 4.10.0 | [Cake.Frosting.Issues.EsLint] 4.10.0 | | -| [Cake.Issues.Sarif] 4.10.0 | [Cake.Frosting.Issues.Sarif] 4.10.0 | | -| [Cake.Issues.Reporting] 4.10.0 | [Cake.Frosting.Issues.Reporting] 4.10.0 | | -| [Cake.Issues.Reporting.Generic] 4.10.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.10.0 | | -| [Cake.Issues.Reporting.Sarif] 4.10.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.10.0 | | -| [Cake.Issues.PullRequests] 4.10.0 | [Cake.Frosting.Issues.PullRequests] 4.10.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.10.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.10.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.10.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.10.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.10.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.10.0 | | +| [Cake.Issues] 4.10.1 | [Cake.Issues] 4.10.1 | | +| [Cake.Issues.MsBuild] 4.10.1 | [Cake.Frosting.Issues.MsBuild] 4.10.1 | | +| [Cake.Issues.InspectCode] 4.10.1 | [Cake.Frosting.Issues.InspectCode] 4.10.1 | | +| [Cake.Issues.Markdownlint] 4.10.1 | [Cake.Frosting.Issues.Markdownlint] 4.10.1 | | +| [Cake.Issues.EsLint] 4.10.1 | [Cake.Frosting.Issues.EsLint] 4.10.1 | | +| [Cake.Issues.Sarif] 4.10.1 | [Cake.Frosting.Issues.Sarif] 4.10.1 | | +| [Cake.Issues.Reporting] 4.10.1 | [Cake.Frosting.Issues.Reporting] 4.10.1 | | +| [Cake.Issues.Reporting.Generic] 4.10.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.10.1 | | +| [Cake.Issues.Reporting.Sarif] 4.10.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.10.1 | | +| [Cake.Issues.PullRequests] 4.10.1 | [Cake.Frosting.Issues.PullRequests] 4.10.1 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.10.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.10.1 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.10.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.10.1 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.10.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.10.1 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 6522d34ed3c8582a981587967a965a74f754fa2a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 22:29:50 +0200 Subject: [PATCH 082/201] Update Cake.Issues to 4.11.0 (#496) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index fc1c9fee3..13e42c83d 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,19 +25,19 @@ Cake.Issues recipes will add the following addins to your build: | 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.10.1 | [Cake.Issues] 4.10.1 | | -| [Cake.Issues.MsBuild] 4.10.1 | [Cake.Frosting.Issues.MsBuild] 4.10.1 | | -| [Cake.Issues.InspectCode] 4.10.1 | [Cake.Frosting.Issues.InspectCode] 4.10.1 | | -| [Cake.Issues.Markdownlint] 4.10.1 | [Cake.Frosting.Issues.Markdownlint] 4.10.1 | | -| [Cake.Issues.EsLint] 4.10.1 | [Cake.Frosting.Issues.EsLint] 4.10.1 | | -| [Cake.Issues.Sarif] 4.10.1 | [Cake.Frosting.Issues.Sarif] 4.10.1 | | -| [Cake.Issues.Reporting] 4.10.1 | [Cake.Frosting.Issues.Reporting] 4.10.1 | | -| [Cake.Issues.Reporting.Generic] 4.10.1 | [Cake.Frosting.Issues.Reporting.Generic] 4.10.1 | | -| [Cake.Issues.Reporting.Sarif] 4.10.1 | [Cake.Frosting.Issues.Reporting.Sarif] 4.10.1 | | -| [Cake.Issues.PullRequests] 4.10.1 | [Cake.Frosting.Issues.PullRequests] 4.10.1 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.10.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.10.1 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.10.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.10.1 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.10.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.10.1 | | +| [Cake.Issues] 4.11.0 | [Cake.Issues] 4.11.0 | | +| [Cake.Issues.MsBuild] 4.11.0 | [Cake.Frosting.Issues.MsBuild] 4.11.0 | | +| [Cake.Issues.InspectCode] 4.11.0 | [Cake.Frosting.Issues.InspectCode] 4.11.0 | | +| [Cake.Issues.Markdownlint] 4.11.0 | [Cake.Frosting.Issues.Markdownlint] 4.11.0 | | +| [Cake.Issues.EsLint] 4.11.0 | [Cake.Frosting.Issues.EsLint] 4.11.0 | | +| [Cake.Issues.Sarif] 4.11.0 | [Cake.Frosting.Issues.Sarif] 4.11.0 | | +| [Cake.Issues.Reporting] 4.11.0 | [Cake.Frosting.Issues.Reporting] 4.11.0 | | +| [Cake.Issues.Reporting.Generic] 4.11.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.11.0 | | +| [Cake.Issues.Reporting.Sarif] 4.11.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.11.0 | | +| [Cake.Issues.PullRequests] 4.11.0 | [Cake.Frosting.Issues.PullRequests] 4.11.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.11.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.11.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.11.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.11.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.11.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.11.0 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 9b336955741293bfa4097daebe86b9b8ef093d61 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 08:20:24 +0100 Subject: [PATCH 083/201] Update Cake.Issues to 4.12.0 (#506) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 13e42c83d..5f2ae5cef 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,19 +25,19 @@ Cake.Issues recipes will add the following addins to your build: | 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.11.0 | [Cake.Issues] 4.11.0 | | -| [Cake.Issues.MsBuild] 4.11.0 | [Cake.Frosting.Issues.MsBuild] 4.11.0 | | -| [Cake.Issues.InspectCode] 4.11.0 | [Cake.Frosting.Issues.InspectCode] 4.11.0 | | -| [Cake.Issues.Markdownlint] 4.11.0 | [Cake.Frosting.Issues.Markdownlint] 4.11.0 | | -| [Cake.Issues.EsLint] 4.11.0 | [Cake.Frosting.Issues.EsLint] 4.11.0 | | -| [Cake.Issues.Sarif] 4.11.0 | [Cake.Frosting.Issues.Sarif] 4.11.0 | | -| [Cake.Issues.Reporting] 4.11.0 | [Cake.Frosting.Issues.Reporting] 4.11.0 | | -| [Cake.Issues.Reporting.Generic] 4.11.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.11.0 | | -| [Cake.Issues.Reporting.Sarif] 4.11.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.11.0 | | -| [Cake.Issues.PullRequests] 4.11.0 | [Cake.Frosting.Issues.PullRequests] 4.11.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.11.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.11.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.11.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.11.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.11.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.11.0 | | +| [Cake.Issues] 4.12.0 | [Cake.Issues] 4.12.0 | | +| [Cake.Issues.MsBuild] 4.12.0 | [Cake.Frosting.Issues.MsBuild] 4.12.0 | | +| [Cake.Issues.InspectCode] 4.12.0 | [Cake.Frosting.Issues.InspectCode] 4.12.0 | | +| [Cake.Issues.Markdownlint] 4.12.0 | [Cake.Frosting.Issues.Markdownlint] 4.12.0 | | +| [Cake.Issues.EsLint] 4.12.0 | [Cake.Frosting.Issues.EsLint] 4.12.0 | | +| [Cake.Issues.Sarif] 4.12.0 | [Cake.Frosting.Issues.Sarif] 4.12.0 | | +| [Cake.Issues.Reporting] 4.12.0 | [Cake.Frosting.Issues.Reporting] 4.12.0 | | +| [Cake.Issues.Reporting.Generic] 4.12.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.12.0 | | +| [Cake.Issues.Reporting.Sarif] 4.12.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.12.0 | | +| [Cake.Issues.PullRequests] 4.12.0 | [Cake.Frosting.Issues.PullRequests] 4.12.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 4.12.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.12.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 4.12.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.12.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 4.12.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.12.0 | | | [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 60f89d1dcc2146887a643668d7d0788fe4dec320 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 21 Nov 2024 19:42:27 +0100 Subject: [PATCH 084/201] Update Cake.Issues to 5.0.0-beta0001 (#515) --- docs/overview.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 5f2ae5cef..9d9d5f1c9 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -22,23 +22,23 @@ 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] 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.12.0 | [Cake.Issues] 4.12.0 | | -| [Cake.Issues.MsBuild] 4.12.0 | [Cake.Frosting.Issues.MsBuild] 4.12.0 | | -| [Cake.Issues.InspectCode] 4.12.0 | [Cake.Frosting.Issues.InspectCode] 4.12.0 | | -| [Cake.Issues.Markdownlint] 4.12.0 | [Cake.Frosting.Issues.Markdownlint] 4.12.0 | | -| [Cake.Issues.EsLint] 4.12.0 | [Cake.Frosting.Issues.EsLint] 4.12.0 | | -| [Cake.Issues.Sarif] 4.12.0 | [Cake.Frosting.Issues.Sarif] 4.12.0 | | -| [Cake.Issues.Reporting] 4.12.0 | [Cake.Frosting.Issues.Reporting] 4.12.0 | | -| [Cake.Issues.Reporting.Generic] 4.12.0 | [Cake.Frosting.Issues.Reporting.Generic] 4.12.0 | | -| [Cake.Issues.Reporting.Sarif] 4.12.0 | [Cake.Frosting.Issues.Reporting.Sarif] 4.12.0 | | -| [Cake.Issues.PullRequests] 4.12.0 | [Cake.Frosting.Issues.PullRequests] 4.12.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 4.12.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 4.12.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 4.12.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 4.12.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 4.12.0 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 4.12.0 | | -| [Cake.AzureDevOps] 4.0.0 | [Cake.AzureDevOps] 4.0.0 | | +| 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] 5.0.0-beta0001 | [Cake.Issues] 5.0.0-beta0001 | | +| [Cake.Issues.MsBuild] 5.0.0-beta0001 | [Cake.Frosting.Issues.MsBuild] 5.0.0-beta0001 | | +| [Cake.Issues.InspectCode] 5.0.0-beta0001 | [Cake.Frosting.Issues.InspectCode] 5.0.0-beta0001 | | +| [Cake.Issues.Markdownlint] 5.0.0-beta0001 | [Cake.Frosting.Issues.Markdownlint] 5.0.0-beta0001 | | +| [Cake.Issues.EsLint] 5.0.0-beta0001 | [Cake.Frosting.Issues.EsLint] 5.0.0-beta0001 | | +| [Cake.Issues.Sarif] 5.0.0-beta0001 | [Cake.Frosting.Issues.Sarif] 5.0.0-beta0001 | | +| [Cake.Issues.Reporting] 5.0.0-beta0001 | [Cake.Frosting.Issues.Reporting] 5.0.0-beta0001 | | +| [Cake.Issues.Reporting.Generic] 5.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Generic] 5.0.0-beta0001 | | +| [Cake.Issues.Reporting.Sarif] 5.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Sarif] 5.0.0-beta0001 | | +| [Cake.Issues.PullRequests] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests] 5.0.0-beta0001 | | +| [Cake.Issues.PullRequests.AppVeyor] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 5.0.0-beta0001 | | +| [Cake.Issues.PullRequests.AzureDevOps] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 5.0.0-beta0001 | | +| [Cake.Issues.PullRequests.GitHubActions] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 5.0.0-beta0001 | | +| [Cake.AzureDevOps] 5.0.0-beta0001 | [Cake.AzureDevOps] 5.0.0-beta0001 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe From 81adbc45de2afb85ed84b85e5904d5d35e6a9ae3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 19:03:15 +0000 Subject: [PATCH 085/201] Update dependency Cake.AzureDevOps to 5.0.0 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 9d9d5f1c9..f3825d6f4 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -38,7 +38,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Issues.PullRequests.AppVeyor] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 5.0.0-beta0001 | | | [Cake.Issues.PullRequests.AzureDevOps] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 5.0.0-beta0001 | | | [Cake.Issues.PullRequests.GitHubActions] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 5.0.0-beta0001 | | -| [Cake.AzureDevOps] 5.0.0-beta0001 | [Cake.AzureDevOps] 5.0.0-beta0001 | | +| [Cake.AzureDevOps] 5.0.0 | [Cake.AzureDevOps] 5.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe From db8852110bdbce61f902a1ebaaac0c5a3699645c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 21:56:29 +0000 Subject: [PATCH 086/201] Update Cake.Issues to 5.0.0 --- docs/overview.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index f3825d6f4..063dd59d1 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,19 +25,19 @@ Cake.Issues recipes will add the following addins to your build: | 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] 5.0.0-beta0001 | [Cake.Issues] 5.0.0-beta0001 | | -| [Cake.Issues.MsBuild] 5.0.0-beta0001 | [Cake.Frosting.Issues.MsBuild] 5.0.0-beta0001 | | -| [Cake.Issues.InspectCode] 5.0.0-beta0001 | [Cake.Frosting.Issues.InspectCode] 5.0.0-beta0001 | | -| [Cake.Issues.Markdownlint] 5.0.0-beta0001 | [Cake.Frosting.Issues.Markdownlint] 5.0.0-beta0001 | | -| [Cake.Issues.EsLint] 5.0.0-beta0001 | [Cake.Frosting.Issues.EsLint] 5.0.0-beta0001 | | -| [Cake.Issues.Sarif] 5.0.0-beta0001 | [Cake.Frosting.Issues.Sarif] 5.0.0-beta0001 | | -| [Cake.Issues.Reporting] 5.0.0-beta0001 | [Cake.Frosting.Issues.Reporting] 5.0.0-beta0001 | | -| [Cake.Issues.Reporting.Generic] 5.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Generic] 5.0.0-beta0001 | | -| [Cake.Issues.Reporting.Sarif] 5.0.0-beta0001 | [Cake.Frosting.Issues.Reporting.Sarif] 5.0.0-beta0001 | | -| [Cake.Issues.PullRequests] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests] 5.0.0-beta0001 | | -| [Cake.Issues.PullRequests.AppVeyor] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 5.0.0-beta0001 | | -| [Cake.Issues.PullRequests.AzureDevOps] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 5.0.0-beta0001 | | -| [Cake.Issues.PullRequests.GitHubActions] 5.0.0-beta0001 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 5.0.0-beta0001 | | +| [Cake.Issues] 5.0.0 | [Cake.Issues] 5.0.0 | | +| [Cake.Issues.MsBuild] 5.0.0 | [Cake.Frosting.Issues.MsBuild] 5.0.0 | | +| [Cake.Issues.InspectCode] 5.0.0 | [Cake.Frosting.Issues.InspectCode] 5.0.0 | | +| [Cake.Issues.Markdownlint] 5.0.0 | [Cake.Frosting.Issues.Markdownlint] 5.0.0 | | +| [Cake.Issues.EsLint] 5.0.0 | [Cake.Frosting.Issues.EsLint] 5.0.0 | | +| [Cake.Issues.Sarif] 5.0.0 | [Cake.Frosting.Issues.Sarif] 5.0.0 | | +| [Cake.Issues.Reporting] 5.0.0 | [Cake.Frosting.Issues.Reporting] 5.0.0 | | +| [Cake.Issues.Reporting.Generic] 5.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 5.0.0 | | +| [Cake.Issues.Reporting.Sarif] 5.0.0 | [Cake.Frosting.Issues.Reporting.Sarif] 5.0.0 | | +| [Cake.Issues.PullRequests] 5.0.0 | [Cake.Frosting.Issues.PullRequests] 5.0.0 | | +| [Cake.Issues.PullRequests.AppVeyor] 5.0.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 5.0.0 | | +| [Cake.Issues.PullRequests.AzureDevOps] 5.0.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 5.0.0 | | +| [Cake.Issues.PullRequests.GitHubActions] 5.0. | [Cake.Frosting.Issues.PullRequests.GitHubActions] 5.0.0 | | | [Cake.AzureDevOps] 5.0.0 | [Cake.AzureDevOps] 5.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 54674ee66063c63f3a0ee5daf9ef4cac4dc8c8b1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 14 Dec 2024 09:16:19 +0000 Subject: [PATCH 087/201] Update dependency Cake.Git to v5 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 063dd59d1..c2a790e56 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -24,7 +24,7 @@ Cake.Issues recipes will add the following addins to your build: | 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.Git] 5.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] 5.0.0 | [Cake.Issues] 5.0.0 | | | [Cake.Issues.MsBuild] 5.0.0 | [Cake.Frosting.Issues.MsBuild] 5.0.0 | | | [Cake.Issues.InspectCode] 5.0.0 | [Cake.Frosting.Issues.InspectCode] 5.0.0 | | From 4ececd3a3b6eee83e01e1fc5318c1edb4e4f5e0c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 14 Dec 2024 09:16:13 +0000 Subject: [PATCH 088/201] Update dependency Cake.Frosting.Git to v5 --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index c2a790e56..252fc1f98 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -24,7 +24,7 @@ Cake.Issues recipes will add the following addins to your build: | Addin Cake.Issues.Recipe | Addin.Frosting.Issues.Recipe | Remarks | |---------------------------------------------------------|------------------------------------------------------------------|-| -| [Cake.Git] 5.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.Git] 5.0.0 | [Cake.Frosting.Git] 5.0.0 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | | [Cake.Issues] 5.0.0 | [Cake.Issues] 5.0.0 | | | [Cake.Issues.MsBuild] 5.0.0 | [Cake.Frosting.Issues.MsBuild] 5.0.0 | | | [Cake.Issues.InspectCode] 5.0.0 | [Cake.Frosting.Issues.InspectCode] 5.0.0 | | From bbaab325baade22efbecedf6f1e9d761b1bf54c9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 18 Dec 2024 01:03:49 +0100 Subject: [PATCH 089/201] Update dependency Cake.Git to 5.0.1 (#523) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 252fc1f98..3938f1d80 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -24,7 +24,7 @@ Cake.Issues recipes will add the following addins to your build: | Addin Cake.Issues.Recipe | Addin.Frosting.Issues.Recipe | Remarks | |---------------------------------------------------------|------------------------------------------------------------------|-| -| [Cake.Git] 5.0.0 | [Cake.Frosting.Git] 5.0.0 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | +| [Cake.Git] 5.0.1 | [Cake.Frosting.Git] 5.0.1 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | | [Cake.Issues] 5.0.0 | [Cake.Issues] 5.0.0 | | | [Cake.Issues.MsBuild] 5.0.0 | [Cake.Frosting.Issues.MsBuild] 5.0.0 | | | [Cake.Issues.InspectCode] 5.0.0 | [Cake.Frosting.Issues.InspectCode] 5.0.0 | | From 62073f3a12ad4acbb673a54fb801f94fa661f3d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 18 Dec 2024 10:06:11 +0000 Subject: [PATCH 090/201] Update actions/upload-artifact digest to 6f51ac0 (#818) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/integrationtests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integrationtests.yml b/.github/workflows/integrationtests.yml index 120af7125..890da6622 100644 --- a/.github/workflows/integrationtests.yml +++ b/.github/workflows/integrationtests.yml @@ -31,7 +31,7 @@ jobs: run: ./build.sh --target=Create-NuGet-Packages shell: bash - name: Publish NuGet package as build artifact - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4 + uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4 with: name: NuGet Package path: ./BuildArtifacts/Packages/NuGet/ From 3692ab38413e4714c5c2347d787719de356f1639 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 18 Dec 2024 12:38:57 +0100 Subject: [PATCH 091/201] Update Cake.Issues to 5.0.1 (#520) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Pascal Berger --- docs/overview.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/overview.md b/docs/overview.md index 3938f1d80..b7b44b218 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -25,19 +25,19 @@ Cake.Issues recipes will add the following addins to your build: | Addin Cake.Issues.Recipe | Addin.Frosting.Issues.Recipe | Remarks | |---------------------------------------------------------|------------------------------------------------------------------|-| | [Cake.Git] 5.0.1 | [Cake.Frosting.Git] 5.0.1 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | -| [Cake.Issues] 5.0.0 | [Cake.Issues] 5.0.0 | | -| [Cake.Issues.MsBuild] 5.0.0 | [Cake.Frosting.Issues.MsBuild] 5.0.0 | | -| [Cake.Issues.InspectCode] 5.0.0 | [Cake.Frosting.Issues.InspectCode] 5.0.0 | | -| [Cake.Issues.Markdownlint] 5.0.0 | [Cake.Frosting.Issues.Markdownlint] 5.0.0 | | -| [Cake.Issues.EsLint] 5.0.0 | [Cake.Frosting.Issues.EsLint] 5.0.0 | | -| [Cake.Issues.Sarif] 5.0.0 | [Cake.Frosting.Issues.Sarif] 5.0.0 | | -| [Cake.Issues.Reporting] 5.0.0 | [Cake.Frosting.Issues.Reporting] 5.0.0 | | -| [Cake.Issues.Reporting.Generic] 5.0.0 | [Cake.Frosting.Issues.Reporting.Generic] 5.0.0 | | -| [Cake.Issues.Reporting.Sarif] 5.0.0 | [Cake.Frosting.Issues.Reporting.Sarif] 5.0.0 | | -| [Cake.Issues.PullRequests] 5.0.0 | [Cake.Frosting.Issues.PullRequests] 5.0.0 | | -| [Cake.Issues.PullRequests.AppVeyor] 5.0.0 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 5.0.0 | | -| [Cake.Issues.PullRequests.AzureDevOps] 5.0.0 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 5.0.0 | | -| [Cake.Issues.PullRequests.GitHubActions] 5.0. | [Cake.Frosting.Issues.PullRequests.GitHubActions] 5.0.0 | | +| [Cake.Issues] 5.0.1 | [Cake.Issues] 5.0.1 | | +| [Cake.Issues.MsBuild] 5.0.1 | [Cake.Frosting.Issues.MsBuild] 5.0.1 | | +| [Cake.Issues.InspectCode] 5.0.1 | [Cake.Frosting.Issues.InspectCode] 5.0.1 | | +| [Cake.Issues.Markdownlint] 5.0.1 | [Cake.Frosting.Issues.Markdownlint] 5.0.1 | | +| [Cake.Issues.EsLint] 5.0.1 | [Cake.Frosting.Issues.EsLint] 5.0.1 | | +| [Cake.Issues.Sarif] 5.0.1 | [Cake.Frosting.Issues.Sarif] 5.0.1 | | +| [Cake.Issues.Reporting] 5.0.1 | [Cake.Frosting.Issues.Reporting] 5.0.1 | | +| [Cake.Issues.Reporting.Generic] 5.0.1 | [Cake.Frosting.Issues.Reporting.Generic] 5.0.1 | | +| [Cake.Issues.Reporting.Sarif] 5.0.1 | [Cake.Frosting.Issues.Reporting.Sarif] 5.0.1 | | +| [Cake.Issues.PullRequests] 5.0.1 | [Cake.Frosting.Issues.PullRequests] 5.0.1 | | +| [Cake.Issues.PullRequests.AppVeyor] 5.0.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 5.0.1 | | +| [Cake.Issues.PullRequests.AzureDevOps] 5.0.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 5.0.1 | | +| [Cake.Issues.PullRequests.GitHubActions] 5.0.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 5.0.1 | | | [Cake.AzureDevOps] 5.0.0 | [Cake.AzureDevOps] 5.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe From 14e2e232f6b8e4aa19b06861f1b0594588a3ec5f Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 18 Dec 2024 19:26:58 +0100 Subject: [PATCH 092/201] Move to new folder --- docs/{ => input/docs/recipe}/configuration.md | 0 docs/{ => input/docs/recipe}/demos.md | 0 docs/{ => input/docs/recipe}/index.cshtml | 0 docs/{ => input/docs/recipe}/overview.md | 0 docs/{ => input/docs/recipe}/supported-tools.md | 0 docs/{ => input/docs/recipe}/tasks.md | 0 docs/{ => input/docs/recipe}/usage/index.cshtml | 0 .../docs/recipe}/usage/using-cake-frosting-issues-recipe.md | 0 docs/{ => input/docs/recipe}/usage/using-cake-issues-recipe.md | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename docs/{ => input/docs/recipe}/configuration.md (100%) rename docs/{ => input/docs/recipe}/demos.md (100%) rename docs/{ => input/docs/recipe}/index.cshtml (100%) rename docs/{ => input/docs/recipe}/overview.md (100%) rename docs/{ => input/docs/recipe}/supported-tools.md (100%) rename docs/{ => input/docs/recipe}/tasks.md (100%) rename docs/{ => input/docs/recipe}/usage/index.cshtml (100%) rename docs/{ => input/docs/recipe}/usage/using-cake-frosting-issues-recipe.md (100%) rename docs/{ => input/docs/recipe}/usage/using-cake-issues-recipe.md (100%) diff --git a/docs/configuration.md b/docs/input/docs/recipe/configuration.md similarity index 100% rename from docs/configuration.md rename to docs/input/docs/recipe/configuration.md diff --git a/docs/demos.md b/docs/input/docs/recipe/demos.md similarity index 100% rename from docs/demos.md rename to docs/input/docs/recipe/demos.md diff --git a/docs/index.cshtml b/docs/input/docs/recipe/index.cshtml similarity index 100% rename from docs/index.cshtml rename to docs/input/docs/recipe/index.cshtml diff --git a/docs/overview.md b/docs/input/docs/recipe/overview.md similarity index 100% rename from docs/overview.md rename to docs/input/docs/recipe/overview.md diff --git a/docs/supported-tools.md b/docs/input/docs/recipe/supported-tools.md similarity index 100% rename from docs/supported-tools.md rename to docs/input/docs/recipe/supported-tools.md diff --git a/docs/tasks.md b/docs/input/docs/recipe/tasks.md similarity index 100% rename from docs/tasks.md rename to docs/input/docs/recipe/tasks.md diff --git a/docs/usage/index.cshtml b/docs/input/docs/recipe/usage/index.cshtml similarity index 100% rename from docs/usage/index.cshtml rename to docs/input/docs/recipe/usage/index.cshtml diff --git a/docs/usage/using-cake-frosting-issues-recipe.md b/docs/input/docs/recipe/usage/using-cake-frosting-issues-recipe.md similarity index 100% rename from docs/usage/using-cake-frosting-issues-recipe.md rename to docs/input/docs/recipe/usage/using-cake-frosting-issues-recipe.md diff --git a/docs/usage/using-cake-issues-recipe.md b/docs/input/docs/recipe/usage/using-cake-issues-recipe.md similarity index 100% rename from docs/usage/using-cake-issues-recipe.md rename to docs/input/docs/recipe/usage/using-cake-issues-recipe.md From e11db96cb27b48ed67de3ff061c9dbddaacd3a06 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 19 Dec 2024 13:33:22 +0000 Subject: [PATCH 093/201] Update dependency Verify.Xunit to 28.6.1 (#821) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .../packages.lock.json | 24 +++++++++---------- src/Directory.Packages.props | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/Cake.Issues.PullRequests.Tests/packages.lock.json b/src/Cake.Issues.PullRequests.Tests/packages.lock.json index 9bbe6a71a..63d192735 100644 --- a/src/Cake.Issues.PullRequests.Tests/packages.lock.json +++ b/src/Cake.Issues.PullRequests.Tests/packages.lock.json @@ -62,15 +62,15 @@ }, "Verify.Xunit": { "type": "Direct", - "requested": "[28.6.0, )", - "resolved": "28.6.0", - "contentHash": "zZwslZ58taOOlDPA+8t5PgL26dKqfPN48yZ4I+aBRn+ohpxCC//cbrT26Wm5XpL1g0N2IUZWf4EkLsLf/VTDEQ==", + "requested": "[28.6.1, )", + "resolved": "28.6.1", + "contentHash": "eWnA699UxHjL1KUikEOiiOAU+6aynTHpZ5dByDPRHzvleGzqvfmMX4kyNIUED4nWkOzk9Qe9xxNKNCmae+w1qw==", "dependencies": { "Argon": "0.26.0", "DiffEngine": "15.6.0", "SimpleInfoName": "3.1.0", "System.IO.Hashing": "9.0.0", - "Verify": "28.6.0", + "Verify": "28.6.1", "xunit.abstractions": "2.0.3", "xunit.extensibility.execution": "2.9.2" } @@ -224,8 +224,8 @@ }, "Verify": { "type": "Transitive", - "resolved": "28.6.0", - "contentHash": "8iWWokFQaHp9R/pEJqK8EoEU0XPLHXncluEpvVMRUMzsrGYBneYvxEcr2qe31XW/LMhWYzITjrhvx5Ec2qO7kQ==", + "resolved": "28.6.1", + "contentHash": "XvwxRwquFTh4DD8Y2BUuvewIoQh+TT0gwIu9VUBXo5vssYgN748T5x5gwFWG9w4ScLZW1lo4WyqXMq2FQdJeBg==", "dependencies": { "Argon": "0.26.0", "DiffEngine": "15.6.0", @@ -390,15 +390,15 @@ }, "Verify.Xunit": { "type": "Direct", - "requested": "[28.6.0, )", - "resolved": "28.6.0", - "contentHash": "zZwslZ58taOOlDPA+8t5PgL26dKqfPN48yZ4I+aBRn+ohpxCC//cbrT26Wm5XpL1g0N2IUZWf4EkLsLf/VTDEQ==", + "requested": "[28.6.1, )", + "resolved": "28.6.1", + "contentHash": "eWnA699UxHjL1KUikEOiiOAU+6aynTHpZ5dByDPRHzvleGzqvfmMX4kyNIUED4nWkOzk9Qe9xxNKNCmae+w1qw==", "dependencies": { "Argon": "0.26.0", "DiffEngine": "15.6.0", "SimpleInfoName": "3.1.0", "System.IO.Hashing": "9.0.0", - "Verify": "28.6.0", + "Verify": "28.6.1", "xunit.abstractions": "2.0.3", "xunit.extensibility.execution": "2.9.2" } @@ -552,8 +552,8 @@ }, "Verify": { "type": "Transitive", - "resolved": "28.6.0", - "contentHash": "8iWWokFQaHp9R/pEJqK8EoEU0XPLHXncluEpvVMRUMzsrGYBneYvxEcr2qe31XW/LMhWYzITjrhvx5Ec2qO7kQ==", + "resolved": "28.6.1", + "contentHash": "XvwxRwquFTh4DD8Y2BUuvewIoQh+TT0gwIu9VUBXo5vssYgN748T5x5gwFWG9w4ScLZW1lo4WyqXMq2FQdJeBg==", "dependencies": { "Argon": "0.26.0", "DiffEngine": "15.6.0", diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 004789605..9c057471a 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -20,7 +20,7 @@ - + From 9882831595f276b2980f2952fb2818013a41938b Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 19 Dec 2024 23:35:52 +0100 Subject: [PATCH 094/201] Move website to Material for MkDocs (#804) --- .../integration-tests-reporting-generic.yml | 4 +- .gitignore | 11 +- .vscode/settings.json | 14 +- docs/docs/blog/index.md | 2 + .../2020-08-22-cake-issues-v0.9.0-released.md | 71 +- .../2020-09-19-cake-issues-v0.9.1-released.md | 16 +- .../blog/posts}/2020-09-24-annotations.png | Bin ...9-24-cake-issues-recipe-v0.4.2-released.md | 17 +- .../blog/posts}/2020-09-24-log-output.png | Bin .../2020-09-24-pullrequest-integration.png | Bin .../posts}/2020-09-27-github-actions-addin.md | 14 +- ...ake-issues-pullrequests-v0.9.1-released.md | 12 +- ...-20-cake-issues-msbuild-v0.9.1-released.md | 19 +- ...2-01-cake-issues-recipe-v0.4.4-released.md | 14 +- .../blog/posts}/2021-07-27-terraform-addin.md | 8 +- .../2021-07-28-cake-issues-v1.0.0-released.md | 59 +- ...7-30-cake-issues-eslint-v1.0.1-released.md | 12 +- ...8-04-cake-issues-recipe-v1.0.0-released.md | 18 +- ...8-11-cake-issues-recipe-v1.1.0-released.md | 8 +- ...8-19-cake-issues-recipe-v1.2.0-released.md | 10 +- .../blog/posts}/2021-08-29-console-addin.md | 11 +- .../blog/posts}/2021-08-29-diagnostics.png | Bin .../posts}/2021-08-29-summary-by-provider.png | Bin .../2021-08-29-summary-of-priorities.png | Bin ...1-08-31-cake-issues-markdownlint-v1.1.0.md | 14 +- ...05-cake-issues-reporting-0-3-0-released.md | 12 +- .../posts}/2021-09-05-summary-by-provider.png | Bin .../2022-12-10-cake-issues-v2.0.0-released.md | 16 +- .../2023-07-22-cake-issues-v3.0.0-released.md | 12 +- ...8-16-cake-issues-recipe-v3.1.0-released.md | 10 +- .../contributing/how-to-build.md | 9 +- .../contributing/how-to-contribute.md | 8 +- .../contributing/how-to-release.md | 8 +- .../documentation/extending/fundamentals.md | 10 + docs/docs/documentation/extending/index.md | 4 + .../extending/issue-provider/categories.md | 21 + .../extending/issue-provider/helper.md | 19 +- .../extending/issue-provider/overview.md | 21 + .../tutorials/logfile-format.md | 36 +- .../tutorials/rule-url-resolving.md | 39 +- .../issue-provider/tutorials/settings.md | 23 +- .../issue-provider/tutorials/simple.md | 20 +- .../pull-request-system/categories.md | 14 +- .../extending/pull-request-system/overview.md | 22 + .../extending/report-format/categories.md | 21 + .../extending/report-format/overview.md | 8 + docs/docs/documentation/extending/testing.md | 7 + .../fundamentals/architecture.md | 10 +- .../fundamentals/issue-provider.md | 9 +- .../documentation}/fundamentals/overview.png | Bin .../fundamentals/pull-request-system.md | 9 +- .../documentation}/fundamentals/recipe.md | 7 +- .../fundamentals/report-format.md | 9 +- .../documentation}/fundamentals/versioning.md | 21 +- .../issue-providers/docfx/examples.md | 26 +- .../issue-providers/docfx/features.md | 39 + .../issue-providers/docfx/index.md | 7 + .../issue-providers/eslint/features.md | 42 + .../issue-providers/eslint/index.md | 7 + .../issue-providers/gitrepository/examples.md | 26 +- .../issue-providers/gitrepository/features.md | 39 + .../issue-providers/gitrepository/index.md | 7 + .../rules/BinaryFileNotTrackedByLfs.md | 28 + .../gitrepository/rules/FilePathTooLong.md | 16 +- .../documentation/issue-providers/index.md | 4 + .../issue-providers/inspectcode/examples.md | 15 +- .../issue-providers/inspectcode/features.md | 38 + .../issue-providers/inspectcode/index.md | 7 + .../issue-providers/markdownlint/examples.md | 15 +- .../issue-providers/markdownlint/features.md | 54 + .../issue-providers/markdownlint/index.md | 7 + .../issue-providers/msbuild/examples.md | 15 +- .../issue-providers/msbuild/features.md | 42 + .../issue-providers/msbuild/index.md | 7 + .../issue-providers/terraform/features.md | 37 + .../issue-providers/terraform/index.md | 7 + .../documentation}/overview/features.md | 54 +- .../documentation}/overview/introduction.md | 31 +- .../documentation/overview/requirements.md | 8 + .../appveyor/appveyor-messages.png | Bin .../github-pullrequest-integration.md | 8 +- .../github-pullrequest-integration.png | Bin .../appveyor/examples/index.md | 8 + .../appveyor/examples/write-messages.md | 20 +- .../pull-request-systems/appveyor/features.md | 31 + .../pull-request-systems/appveyor/index.md | 7 + .../cake.issues.pullrequests.azuredevops.png | Bin .../azure-devops/examples/azure-pipelines.md | 34 +- .../azure-devops/examples/index.md | 8 + .../azure-devops/examples/pullrequest-id.md | 24 +- .../examples/repository-information.md | 25 +- .../azure-devops/features.md | 47 + .../azure-devops/index.md | 7 + .../azure-devops/setup.md | 40 +- .../examples/write-annotations.md | 20 +- .../github-actions/features.md | 25 + .../githubactions-annotations.png | Bin .../githubactions-log-output.png | Bin .../githubactions-pullrequest-integration.png | Bin .../github-actions/index.md | 7 + .../pull-request-systems/index.md | 4 + .../documentation}/recipe/configuration.md | 31 +- .../documentation}/recipe/demos.md | 5 +- .../documentation}/recipe/overview.md | 14 +- .../documentation}/recipe/supported-tools.md | 29 +- .../documentation}/recipe/tasks.md | 5 +- docs/docs/documentation/recipe/usage/index.md | 4 + .../using-cake-frosting-issues-recipe.md | 32 +- .../recipe/usage/using-cake-issues-recipe.md | 27 +- .../report-formats/console/examples.md | 15 +- .../report-formats/console/features.md | 14 +- .../report-formats/console/index.md | 7 + .../generic/examples/custom-template.md | 40 +- .../generic/examples/default-template.md | 17 +- .../generic/examples/index.cshtml | 0 .../report-formats/generic/features.md | 16 + .../report-formats/generic/index.md | 7 + .../templates/htmldatatable-demo-default.html | 0 .../generic/templates/htmldatatable.md | 53 + .../generic/templates/htmldatatable01.png | Bin .../htmldiagnostic-demo-default.html | 0 .../generic/templates/htmldiagnostic.md | 48 + .../generic/templates/htmldiagnostic01.png | Bin ...htmldxdatagrid-demo-additionalcolumns.html | 0 .../htmldxdatagrid-demo-changetitle.html | 0 .../htmldxdatagrid-demo-columnhiding.html | 0 ...ldxdatagrid-demo-customexportfilename.html | 0 ...ldxdatagrid-demo-customscriptlocation.html | 0 .../htmldxdatagrid-demo-default.html | 0 .../htmldxdatagrid-demo-disablefiltering.html | 0 .../htmldxdatagrid-demo-disablegrouping.html | 0 .../htmldxdatagrid-demo-disableheader.html | 0 .../htmldxdatagrid-demo-disablesearching.html | 0 .../htmldxdatagrid-demo-enableexporting.html | 0 .../htmldxdatagrid-demo-exportformat-pdf.html | 0 ...htmldxdatagrid-demo-exportformat-xlsx.html | 0 .../htmldxdatagrid-demo-grouping.html | 0 .../htmldxdatagrid-demo-sorting.html | 0 .../htmldxdatagrid-demo-theme-carmine.html | 0 .../htmldxdatagrid-demo-theme-contrast.html | 0 ...dxdatagrid-demo-theme-contrastcompact.html | 0 .../htmldxdatagrid-demo-theme-dark.html | 0 ...htmldxdatagrid-demo-theme-darkcompact.html | 0 .../htmldxdatagrid-demo-theme-darkmoon.html | 0 .../htmldxdatagrid-demo-theme-darkviolet.html | 0 .../htmldxdatagrid-demo-theme-greenmist.html | 0 .../htmldxdatagrid-demo-theme-light.html | 0 ...tmldxdatagrid-demo-theme-lightcompact.html | 0 ...xdatagrid-demo-theme-materialbluedark.html | 0 ...id-demo-theme-materialbluedarkcompact.html | 0 ...datagrid-demo-theme-materialbluelight.html | 0 ...d-demo-theme-materialbluelightcompact.html | 0 ...xdatagrid-demo-theme-materiallimedark.html | 0 ...id-demo-theme-materiallimedarkcompact.html | 0 ...datagrid-demo-theme-materiallimelight.html | 0 ...d-demo-theme-materiallimelightcompact.html | 0 ...atagrid-demo-theme-materialorangedark.html | 0 ...-demo-theme-materialorangedarkcompact.html | 0 ...tagrid-demo-theme-materialorangelight.html | 0 ...demo-theme-materialorangelightcompact.html | 0 ...atagrid-demo-theme-materialpurpledark.html | 0 ...-demo-theme-materialpurpledarkcompact.html | 0 ...tagrid-demo-theme-materialpurplelight.html | 0 ...demo-theme-materialpurplelightcompact.html | 0 ...xdatagrid-demo-theme-materialtealdark.html | 0 ...id-demo-theme-materialtealdarkcompact.html | 0 ...datagrid-demo-theme-materialteallight.html | 0 ...d-demo-theme-materialteallightcompact.html | 0 .../htmldxdatagrid-demo-theme-softblue.html | 0 .../generic/templates/htmldxdatagrid.md | 239 ++++ .../generic/templates/htmldxdatagrid01.png | Bin .../report-formats/generic/templates/index.md | 4 + .../documentation/report-formats/index.md | 4 + .../report-formats/sarif/examples.md | 17 +- .../report-formats/sarif/features.md | 19 + .../report-formats/sarif/index.md | 7 + .../documentation}/resources/blog-posts.md | 16 +- .../documentation}/resources/presentations.md | 16 +- .../usage/creating-issues/creating-issues.md | 17 +- .../creating-reports/creating-reports.md | 17 +- .../usage/creating-reports/index.md | 6 + docs/docs/documentation/usage/index.md | 6 + .../usage/reading-issues/file-linking.md | 6 +- .../usage/reading-issues/index.md | 6 + .../usage/reading-issues/reading-issues.md | 19 +- .../usage/reading-issues/run-information.md | 6 +- docs/docs/documentation/usage/recipe/index.md | 8 + .../custom-issue-filter.md | 28 +- .../index.md | 6 + .../report-issues-to-pull-requests.md | 17 +- docs/docs/index.md | 75 ++ docs/input/_AddinsLayout.cshtml | 20 - docs/input/_AddinsList.cshtml | 57 - docs/input/_AddinsSidebar.cshtml | 6 - docs/input/_BlogPost.cshtml | 21 - docs/input/_Bottom.cshtml | 66 -- docs/input/_Footer.cshtml | 5 - docs/input/_Head.cshtml | 1 - docs/input/_Navbar.cshtml | 19 - docs/input/addins/index.cshtml | 12 - .../fonts/glyphicons-halflings-regular.eot | Bin 20127 -> 0 bytes .../fonts/glyphicons-halflings-regular.svg | 288 ----- .../fonts/glyphicons-halflings-regular.ttf | Bin 45404 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23424 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 18028 -> 0 bytes docs/input/assets/css/override.less | 174 --- docs/input/assets/images/clippy.svg | 3 - docs/input/assets/images/envelope.svg | 1 - docs/input/assets/images/facebook.svg | 1 - docs/input/assets/images/linkedin.svg | 1 - docs/input/assets/images/reddit.svg | 1 - docs/input/assets/images/twitter.svg | 1 - docs/input/assets/js/anchor.min.js | 6 - docs/input/assets/js/clipboard.min.js | 7 - docs/input/docs/contributing/index.cshtml | 6 - docs/input/docs/contributing/issues.cshtml | 19 - docs/input/docs/extending/fundamentals.md | 11 - docs/input/docs/extending/index.cshtml | 6 - .../extending/issue-provider/categories.md | 23 - .../extending/issue-provider/index.cshtml | 6 - .../docs/extending/issue-provider/overview.md | 24 - .../issue-provider/tutorials/index.cshtml | 6 - .../pull-request-system/index.cshtml | 6 - .../extending/pull-request-system/overview.md | 26 - .../extending/report-format/categories.md | 23 - .../docs/extending/report-format/index.cshtml | 6 - .../docs/extending/report-format/overview.md | 10 - docs/input/docs/extending/testing.md | 11 - docs/input/docs/fundamentals/index.cshtml | 6 - docs/input/docs/index.cshtml | 20 - .../docs/issue-providers/docfx/features.md | 43 - .../docs/issue-providers/docfx/index.cshtml | 12 - .../issue-providers/docfx/requirements.md | 9 - .../docs/issue-providers/eslint/features.md | 44 - .../docs/issue-providers/eslint/index.cshtml | 12 - .../issue-providers/eslint/requirements.md | 9 - .../issue-providers/gitrepository/features.md | 39 - .../gitrepository/index.cshtml | 11 - .../gitrepository/requirements.md | 9 - .../rules/BinaryFileNotTrackedByLfs.md | 33 - .../gitrepository/rules/index.cshtml | 7 - docs/input/docs/issue-providers/index.cshtml | 7 - .../issue-providers/inspectcode/features.md | 38 - .../issue-providers/inspectcode/index.cshtml | 12 - .../inspectcode/requirements.md | 9 - .../issue-providers/markdownlint/features.md | 56 - .../issue-providers/markdownlint/index.cshtml | 12 - .../markdownlint/requirements.md | 9 - .../docs/issue-providers/msbuild/features.md | 48 - .../docs/issue-providers/msbuild/index.cshtml | 12 - .../issue-providers/msbuild/requirements.md | 9 - .../issue-providers/terraform/features.md | 37 - .../issue-providers/terraform/index.cshtml | 12 - .../issue-providers/terraform/requirements.md | 9 - docs/input/docs/overview/index.cshtml | 6 - .../release-notes/Cake.Issues.PullRequests.md | 930 --------------- .../release-notes/Cake.Issues.Reporting.md | 1036 ----------------- .../docs/overview/release-notes/index.cshtml | 11 - docs/input/docs/overview/requirements.md | 18 - .../appveyor/examples/index.cshtml | 12 - .../pull-request-systems/appveyor/features.md | 32 - .../appveyor/index.cshtml | 10 - .../appveyor/requirements.md | 9 - .../azure-devops/examples/index.cshtml | 12 - .../azure-devops/features.md | 48 - .../azure-devops/index.cshtml | 10 - .../azure-devops/requirements.md | 9 - .../github-actions/examples/index.cshtml | 7 - .../github-actions/features.md | 25 - .../github-actions/index.cshtml | 10 - .../github-actions/requirements.md | 9 - .../docs/pull-request-systems/index.cshtml | 7 - docs/input/docs/recipe/index.cshtml | 7 - docs/input/docs/recipe/usage/index.cshtml | 7 - .../docs/report-formats/console/index.cshtml | 12 - .../report-formats/console/requirements.md | 9 - .../docs/report-formats/generic/features.md | 20 - .../docs/report-formats/generic/index.cshtml | 12 - .../report-formats/generic/requirements.md | 9 - .../generic/templates/.artifactignore | 2 - .../generic/templates/htmldatatable.md | 54 - .../generic/templates/htmldiagnostic.md | 50 - .../generic/templates/htmldxdatagrid.md | 240 ---- .../generic/templates/index.cshtml | 7 - docs/input/docs/report-formats/index.cshtml | 7 - .../docs/report-formats/sarif/features.md | 17 - .../docs/report-formats/sarif/index.cshtml | 12 - .../docs/report-formats/sarif/requirements.md | 9 - docs/input/docs/resources/index.cshtml | 7 - docs/input/docs/thanks.cshtml | 127 -- .../docs/usage/creating-issues/index.cshtml | 7 - .../docs/usage/creating-reports/index.cshtml | 11 - docs/input/docs/usage/index.cshtml | 7 - .../docs/usage/reading-issues/index.cshtml | 11 - docs/input/docs/usage/recipe/index.md | 8 - .../index.cshtml | 11 - docs/input/dsl/index.cshtml | 74 -- docs/input/index.cshtml | 82 -- docs/mkdocs.yml | 231 ++++ .../frosting/build/BuildContext.cs | 2 +- .../script-runner/build.cake | 2 +- 301 files changed, 2067 insertions(+), 5120 deletions(-) create mode 100644 docs/docs/blog/index.md rename docs/{input/news => docs/blog/posts}/2020-08-22-cake-issues-v0.9.0-released.md (81%) rename docs/{input/news => docs/blog/posts}/2020-09-19-cake-issues-v0.9.1-released.md (82%) rename docs/{input/news => docs/blog/posts}/2020-09-24-annotations.png (100%) rename docs/{input/news => docs/blog/posts}/2020-09-24-cake-issues-recipe-v0.4.2-released.md (75%) rename docs/{input/news => docs/blog/posts}/2020-09-24-log-output.png (100%) rename docs/{input/news => docs/blog/posts}/2020-09-24-pullrequest-integration.png (100%) rename docs/{input/news => docs/blog/posts}/2020-09-27-github-actions-addin.md (53%) rename docs/{input/news => docs/blog/posts}/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md (78%) rename docs/{input/news => docs/blog/posts}/2020-10-20-cake-issues-msbuild-v0.9.1-released.md (69%) rename docs/{input/news => docs/blog/posts}/2020-12-01-cake-issues-recipe-v0.4.4-released.md (73%) rename docs/{input/news => docs/blog/posts}/2021-07-27-terraform-addin.md (82%) rename docs/{input/news => docs/blog/posts}/2021-07-28-cake-issues-v1.0.0-released.md (76%) rename docs/{input/news => docs/blog/posts}/2021-07-30-cake-issues-eslint-v1.0.1-released.md (79%) rename docs/{input/news => docs/blog/posts}/2021-08-04-cake-issues-recipe-v1.0.0-released.md (84%) rename docs/{input/news => docs/blog/posts}/2021-08-11-cake-issues-recipe-v1.1.0-released.md (92%) rename docs/{input/news => docs/blog/posts}/2021-08-19-cake-issues-recipe-v1.2.0-released.md (85%) rename docs/{input/news => docs/blog/posts}/2021-08-29-console-addin.md (78%) rename docs/{input/news => docs/blog/posts}/2021-08-29-diagnostics.png (100%) rename docs/{input/news => docs/blog/posts}/2021-08-29-summary-by-provider.png (100%) rename docs/{input/news => docs/blog/posts}/2021-08-29-summary-of-priorities.png (100%) rename docs/{input/news => docs/blog/posts}/2021-08-31-cake-issues-markdownlint-v1.1.0.md (75%) rename docs/{input/news => docs/blog/posts}/2021-09-05-cake-issues-reporting-0-3-0-released.md (82%) rename docs/{input/news => docs/blog/posts}/2021-09-05-summary-by-provider.png (100%) rename docs/{input/news => docs/blog/posts}/2022-12-10-cake-issues-v2.0.0-released.md (90%) rename docs/{input/news => docs/blog/posts}/2023-07-22-cake-issues-v3.0.0-released.md (94%) rename docs/{input/news => docs/blog/posts}/2023-08-16-cake-issues-recipe-v3.1.0-released.md (86%) rename docs/{input/docs => docs/documentation}/contributing/how-to-build.md (55%) rename docs/{input/docs => docs/documentation}/contributing/how-to-contribute.md (69%) rename docs/{input/docs => docs/documentation}/contributing/how-to-release.md (53%) create mode 100644 docs/docs/documentation/extending/fundamentals.md create mode 100644 docs/docs/documentation/extending/index.md create mode 100644 docs/docs/documentation/extending/issue-provider/categories.md rename docs/{input/docs => docs/documentation}/extending/issue-provider/helper.md (56%) create mode 100644 docs/docs/documentation/extending/issue-provider/overview.md rename docs/{input/docs => docs/documentation}/extending/issue-provider/tutorials/logfile-format.md (87%) rename docs/{input/docs => docs/documentation}/extending/issue-provider/tutorials/rule-url-resolving.md (70%) rename docs/{input/docs => docs/documentation}/extending/issue-provider/tutorials/settings.md (89%) rename docs/{input/docs => docs/documentation}/extending/issue-provider/tutorials/simple.md (84%) rename docs/{input/docs => docs/documentation}/extending/pull-request-system/categories.md (51%) create mode 100644 docs/docs/documentation/extending/pull-request-system/overview.md create mode 100644 docs/docs/documentation/extending/report-format/categories.md create mode 100644 docs/docs/documentation/extending/report-format/overview.md create mode 100644 docs/docs/documentation/extending/testing.md rename docs/{input/docs => docs/documentation}/fundamentals/architecture.md (89%) rename docs/{input/docs => docs/documentation}/fundamentals/issue-provider.md (75%) rename docs/{input/docs => docs/documentation}/fundamentals/overview.png (100%) rename docs/{input/docs => docs/documentation}/fundamentals/pull-request-system.md (71%) rename docs/{input/docs => docs/documentation}/fundamentals/recipe.md (71%) rename docs/{input/docs => docs/documentation}/fundamentals/report-format.md (61%) rename docs/{input/docs => docs/documentation}/fundamentals/versioning.md (55%) rename docs/{input/docs => docs/documentation}/issue-providers/docfx/examples.md (52%) create mode 100644 docs/docs/documentation/issue-providers/docfx/features.md create mode 100644 docs/docs/documentation/issue-providers/docfx/index.md create mode 100644 docs/docs/documentation/issue-providers/eslint/features.md create mode 100644 docs/docs/documentation/issue-providers/eslint/index.md rename docs/{input/docs => docs/documentation}/issue-providers/gitrepository/examples.md (53%) create mode 100644 docs/docs/documentation/issue-providers/gitrepository/features.md create mode 100644 docs/docs/documentation/issue-providers/gitrepository/index.md create mode 100644 docs/docs/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md rename docs/{input/docs => docs/documentation}/issue-providers/gitrepository/rules/FilePathTooLong.md (58%) create mode 100644 docs/docs/documentation/issue-providers/index.md rename docs/{input/docs => docs/documentation}/issue-providers/inspectcode/examples.md (76%) create mode 100644 docs/docs/documentation/issue-providers/inspectcode/features.md create mode 100644 docs/docs/documentation/issue-providers/inspectcode/index.md rename docs/{input/docs => docs/documentation}/issue-providers/markdownlint/examples.md (79%) create mode 100644 docs/docs/documentation/issue-providers/markdownlint/features.md create mode 100644 docs/docs/documentation/issue-providers/markdownlint/index.md rename docs/{input/docs => docs/documentation}/issue-providers/msbuild/examples.md (81%) create mode 100644 docs/docs/documentation/issue-providers/msbuild/features.md create mode 100644 docs/docs/documentation/issue-providers/msbuild/index.md create mode 100644 docs/docs/documentation/issue-providers/terraform/features.md create mode 100644 docs/docs/documentation/issue-providers/terraform/index.md rename docs/{input/docs => docs/documentation}/overview/features.md (63%) rename docs/{input/docs => docs/documentation}/overview/introduction.md (62%) create mode 100644 docs/docs/documentation/overview/requirements.md rename docs/{input/docs => docs/documentation}/pull-request-systems/appveyor/appveyor-messages.png (100%) rename docs/{input/docs => docs/documentation}/pull-request-systems/appveyor/examples/github-pullrequest-integration.md (87%) rename docs/{input/docs => docs/documentation}/pull-request-systems/appveyor/examples/github-pullrequest-integration.png (100%) create mode 100644 docs/docs/documentation/pull-request-systems/appveyor/examples/index.md rename docs/{input/docs => docs/documentation}/pull-request-systems/appveyor/examples/write-messages.md (64%) create mode 100644 docs/docs/documentation/pull-request-systems/appveyor/features.md create mode 100644 docs/docs/documentation/pull-request-systems/appveyor/index.md rename docs/{input/docs => docs/documentation}/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png (100%) rename docs/{input/docs => docs/documentation}/pull-request-systems/azure-devops/examples/azure-pipelines.md (67%) create mode 100644 docs/docs/documentation/pull-request-systems/azure-devops/examples/index.md rename docs/{input/docs => docs/documentation}/pull-request-systems/azure-devops/examples/pullrequest-id.md (59%) rename docs/{input/docs => docs/documentation}/pull-request-systems/azure-devops/examples/repository-information.md (64%) create mode 100644 docs/docs/documentation/pull-request-systems/azure-devops/features.md create mode 100644 docs/docs/documentation/pull-request-systems/azure-devops/index.md rename docs/{input/docs => docs/documentation}/pull-request-systems/azure-devops/setup.md (80%) rename docs/{input/docs => docs/documentation}/pull-request-systems/github-actions/examples/write-annotations.md (70%) create mode 100644 docs/docs/documentation/pull-request-systems/github-actions/features.md rename docs/{input/docs => docs/documentation}/pull-request-systems/github-actions/githubactions-annotations.png (100%) rename docs/{input/docs => docs/documentation}/pull-request-systems/github-actions/githubactions-log-output.png (100%) rename docs/{input/docs => docs/documentation}/pull-request-systems/github-actions/githubactions-pullrequest-integration.png (100%) create mode 100644 docs/docs/documentation/pull-request-systems/github-actions/index.md create mode 100644 docs/docs/documentation/pull-request-systems/index.md rename docs/{input/docs => docs/documentation}/recipe/configuration.md (95%) rename docs/{input/docs => docs/documentation}/recipe/demos.md (91%) rename docs/{input/docs => docs/documentation}/recipe/overview.md (96%) rename docs/{input/docs => docs/documentation}/recipe/supported-tools.md (66%) rename docs/{input/docs => docs/documentation}/recipe/tasks.md (97%) create mode 100644 docs/docs/documentation/recipe/usage/index.md rename docs/{input/docs => docs/documentation}/recipe/usage/using-cake-frosting-issues-recipe.md (84%) rename docs/{input/docs => docs/documentation}/recipe/usage/using-cake-issues-recipe.md (72%) rename docs/{input/docs => docs/documentation}/report-formats/console/examples.md (77%) rename docs/{input/docs => docs/documentation}/report-formats/console/features.md (57%) create mode 100644 docs/docs/documentation/report-formats/console/index.md rename docs/{input/docs => docs/documentation}/report-formats/generic/examples/custom-template.md (75%) rename docs/{input/docs => docs/documentation}/report-formats/generic/examples/default-template.md (75%) rename docs/{input/docs => docs/documentation}/report-formats/generic/examples/index.cshtml (100%) create mode 100644 docs/docs/documentation/report-formats/generic/features.md create mode 100644 docs/docs/documentation/report-formats/generic/index.md rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldatatable-demo-default.html (100%) create mode 100644 docs/docs/documentation/report-formats/generic/templates/htmldatatable.md rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldatatable01.png (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldiagnostic-demo-default.html (100%) create mode 100644 docs/docs/documentation/report-formats/generic/templates/htmldiagnostic.md rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldiagnostic01.png (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-default.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html (100%) rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html (100%) create mode 100644 docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid.md rename docs/{input/docs => docs/documentation}/report-formats/generic/templates/htmldxdatagrid01.png (100%) create mode 100644 docs/docs/documentation/report-formats/generic/templates/index.md create mode 100644 docs/docs/documentation/report-formats/index.md rename docs/{input/docs => docs/documentation}/report-formats/sarif/examples.md (75%) create mode 100644 docs/docs/documentation/report-formats/sarif/features.md create mode 100644 docs/docs/documentation/report-formats/sarif/index.md rename docs/{input/docs => docs/documentation}/resources/blog-posts.md (57%) rename docs/{input/docs => docs/documentation}/resources/presentations.md (55%) rename docs/{input/docs => docs/documentation}/usage/creating-issues/creating-issues.md (66%) rename docs/{input/docs => docs/documentation}/usage/creating-reports/creating-reports.md (69%) create mode 100644 docs/docs/documentation/usage/creating-reports/index.md create mode 100644 docs/docs/documentation/usage/index.md rename docs/{input/docs => docs/documentation}/usage/reading-issues/file-linking.md (90%) create mode 100644 docs/docs/documentation/usage/reading-issues/index.md rename docs/{input/docs => docs/documentation}/usage/reading-issues/reading-issues.md (68%) rename docs/{input/docs => docs/documentation}/usage/reading-issues/run-information.md (92%) create mode 100644 docs/docs/documentation/usage/recipe/index.md rename docs/{input/docs => docs/documentation}/usage/reporting-issues-to-pull-requests/custom-issue-filter.md (56%) create mode 100644 docs/docs/documentation/usage/reporting-issues-to-pull-requests/index.md rename docs/{input/docs => docs/documentation}/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md (71%) create mode 100644 docs/docs/index.md delete mode 100644 docs/input/_AddinsLayout.cshtml delete mode 100644 docs/input/_AddinsList.cshtml delete mode 100644 docs/input/_AddinsSidebar.cshtml delete mode 100644 docs/input/_BlogPost.cshtml delete mode 100644 docs/input/_Bottom.cshtml delete mode 100644 docs/input/_Footer.cshtml delete mode 100644 docs/input/_Head.cshtml delete mode 100644 docs/input/_Navbar.cshtml delete mode 100644 docs/input/addins/index.cshtml delete mode 100644 docs/input/assets/css/fonts/glyphicons-halflings-regular.eot delete mode 100644 docs/input/assets/css/fonts/glyphicons-halflings-regular.svg delete mode 100644 docs/input/assets/css/fonts/glyphicons-halflings-regular.ttf delete mode 100644 docs/input/assets/css/fonts/glyphicons-halflings-regular.woff delete mode 100644 docs/input/assets/css/fonts/glyphicons-halflings-regular.woff2 delete mode 100644 docs/input/assets/css/override.less delete mode 100644 docs/input/assets/images/clippy.svg delete mode 100644 docs/input/assets/images/envelope.svg delete mode 100644 docs/input/assets/images/facebook.svg delete mode 100644 docs/input/assets/images/linkedin.svg delete mode 100644 docs/input/assets/images/reddit.svg delete mode 100644 docs/input/assets/images/twitter.svg delete mode 100644 docs/input/assets/js/anchor.min.js delete mode 100644 docs/input/assets/js/clipboard.min.js delete mode 100644 docs/input/docs/contributing/index.cshtml delete mode 100644 docs/input/docs/contributing/issues.cshtml delete mode 100644 docs/input/docs/extending/fundamentals.md delete mode 100644 docs/input/docs/extending/index.cshtml delete mode 100644 docs/input/docs/extending/issue-provider/categories.md delete mode 100644 docs/input/docs/extending/issue-provider/index.cshtml delete mode 100644 docs/input/docs/extending/issue-provider/overview.md delete mode 100644 docs/input/docs/extending/issue-provider/tutorials/index.cshtml delete mode 100644 docs/input/docs/extending/pull-request-system/index.cshtml delete mode 100644 docs/input/docs/extending/pull-request-system/overview.md delete mode 100644 docs/input/docs/extending/report-format/categories.md delete mode 100644 docs/input/docs/extending/report-format/index.cshtml delete mode 100644 docs/input/docs/extending/report-format/overview.md delete mode 100644 docs/input/docs/extending/testing.md delete mode 100644 docs/input/docs/fundamentals/index.cshtml delete mode 100644 docs/input/docs/index.cshtml delete mode 100644 docs/input/docs/issue-providers/docfx/features.md delete mode 100644 docs/input/docs/issue-providers/docfx/index.cshtml delete mode 100644 docs/input/docs/issue-providers/docfx/requirements.md delete mode 100644 docs/input/docs/issue-providers/eslint/features.md delete mode 100644 docs/input/docs/issue-providers/eslint/index.cshtml delete mode 100644 docs/input/docs/issue-providers/eslint/requirements.md delete mode 100644 docs/input/docs/issue-providers/gitrepository/features.md delete mode 100644 docs/input/docs/issue-providers/gitrepository/index.cshtml delete mode 100644 docs/input/docs/issue-providers/gitrepository/requirements.md delete mode 100644 docs/input/docs/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md delete mode 100644 docs/input/docs/issue-providers/gitrepository/rules/index.cshtml delete mode 100644 docs/input/docs/issue-providers/index.cshtml delete mode 100644 docs/input/docs/issue-providers/inspectcode/features.md delete mode 100644 docs/input/docs/issue-providers/inspectcode/index.cshtml delete mode 100644 docs/input/docs/issue-providers/inspectcode/requirements.md delete mode 100644 docs/input/docs/issue-providers/markdownlint/features.md delete mode 100644 docs/input/docs/issue-providers/markdownlint/index.cshtml delete mode 100644 docs/input/docs/issue-providers/markdownlint/requirements.md delete mode 100644 docs/input/docs/issue-providers/msbuild/features.md delete mode 100644 docs/input/docs/issue-providers/msbuild/index.cshtml delete mode 100644 docs/input/docs/issue-providers/msbuild/requirements.md delete mode 100644 docs/input/docs/issue-providers/terraform/features.md delete mode 100644 docs/input/docs/issue-providers/terraform/index.cshtml delete mode 100644 docs/input/docs/issue-providers/terraform/requirements.md delete mode 100644 docs/input/docs/overview/index.cshtml delete mode 100644 docs/input/docs/overview/release-notes/Cake.Issues.PullRequests.md delete mode 100644 docs/input/docs/overview/release-notes/Cake.Issues.Reporting.md delete mode 100644 docs/input/docs/overview/release-notes/index.cshtml delete mode 100644 docs/input/docs/overview/requirements.md delete mode 100644 docs/input/docs/pull-request-systems/appveyor/examples/index.cshtml delete mode 100644 docs/input/docs/pull-request-systems/appveyor/features.md delete mode 100644 docs/input/docs/pull-request-systems/appveyor/index.cshtml delete mode 100644 docs/input/docs/pull-request-systems/appveyor/requirements.md delete mode 100644 docs/input/docs/pull-request-systems/azure-devops/examples/index.cshtml delete mode 100644 docs/input/docs/pull-request-systems/azure-devops/features.md delete mode 100644 docs/input/docs/pull-request-systems/azure-devops/index.cshtml delete mode 100644 docs/input/docs/pull-request-systems/azure-devops/requirements.md delete mode 100644 docs/input/docs/pull-request-systems/github-actions/examples/index.cshtml delete mode 100644 docs/input/docs/pull-request-systems/github-actions/features.md delete mode 100644 docs/input/docs/pull-request-systems/github-actions/index.cshtml delete mode 100644 docs/input/docs/pull-request-systems/github-actions/requirements.md delete mode 100644 docs/input/docs/pull-request-systems/index.cshtml delete mode 100644 docs/input/docs/recipe/index.cshtml delete mode 100644 docs/input/docs/recipe/usage/index.cshtml delete mode 100644 docs/input/docs/report-formats/console/index.cshtml delete mode 100644 docs/input/docs/report-formats/console/requirements.md delete mode 100644 docs/input/docs/report-formats/generic/features.md delete mode 100644 docs/input/docs/report-formats/generic/index.cshtml delete mode 100644 docs/input/docs/report-formats/generic/requirements.md delete mode 100644 docs/input/docs/report-formats/generic/templates/.artifactignore delete mode 100644 docs/input/docs/report-formats/generic/templates/htmldatatable.md delete mode 100644 docs/input/docs/report-formats/generic/templates/htmldiagnostic.md delete mode 100644 docs/input/docs/report-formats/generic/templates/htmldxdatagrid.md delete mode 100644 docs/input/docs/report-formats/generic/templates/index.cshtml delete mode 100644 docs/input/docs/report-formats/index.cshtml delete mode 100644 docs/input/docs/report-formats/sarif/features.md delete mode 100644 docs/input/docs/report-formats/sarif/index.cshtml delete mode 100644 docs/input/docs/report-formats/sarif/requirements.md delete mode 100644 docs/input/docs/resources/index.cshtml delete mode 100644 docs/input/docs/thanks.cshtml delete mode 100644 docs/input/docs/usage/creating-issues/index.cshtml delete mode 100644 docs/input/docs/usage/creating-reports/index.cshtml delete mode 100644 docs/input/docs/usage/index.cshtml delete mode 100644 docs/input/docs/usage/reading-issues/index.cshtml delete mode 100644 docs/input/docs/usage/recipe/index.md delete mode 100644 docs/input/docs/usage/reporting-issues-to-pull-requests/index.cshtml delete mode 100644 docs/input/dsl/index.cshtml delete mode 100644 docs/input/index.cshtml create mode 100644 docs/mkdocs.yml diff --git a/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml b/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml index 4a87f7b91..bf68c851b 100644 --- a/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml +++ b/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml @@ -31,7 +31,7 @@ stages: - powershell: ./build.ps1 --verbosity=diagnostic workingDirectory: ./tests/Cake.Issues.Reporting.Generic/script-runner displayName: 'Run integration tests' - - publish: $(Build.SourcesDirectory)/docs/input/docs/report-formats/generic/templates + - publish: $(Build.SourcesDirectory)/docs/docs/documentation/report-formats/generic/templates artifact: Integration Tests Cake.Issues.Reporting.Generic Cake Scripting $(System.JobName) displayName: 'Publish generated reports as build artifact' - job: TestReportingGenericFrostingNet8Job @@ -60,6 +60,6 @@ stages: - powershell: ./build.ps1 --verbosity=diagnostic workingDirectory: ./tests/Cake.Issues.Reporting.Generic/frosting displayName: 'Run integration tests' - - publish: $(Build.SourcesDirectory)/docs/input/docs/report-formats/generic/templates + - publish: $(Build.SourcesDirectory)/docs/docs/documentation/report-formats/generic/templates artifact: Integration Tests Cake.Issues.Reporting.Generic Cake Frosting .NET 8 $(System.JobName) displayName: 'Publish generated reports as build artifact' diff --git a/.gitignore b/.gitignore index ba4e60c6b..3068af6bf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,3 @@ -# Project specific - -BuildArtifacts/ - # Created by https://www.gitignore.io/api/cake,visualstudio ### Cake ### @@ -304,4 +300,9 @@ __pycache__/ # By default, sensitive information, such as encrypted password # should be stored in the .pubxml.user file. -# End of https://www.gitignore.io/api/cake,visualstudio \ No newline at end of file +# End of https://www.gitignore.io/api/cake,visualstudio + +# Project specific + +BuildArtifacts/ +docs/.cache/ \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index ff1570829..be2f7b909 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,15 @@ { - "dotnet.defaultSolution": "src\\Cake.Issues.sln" + "dotnet.defaultSolution": "src\\Cake.Issues.sln", + "yaml.schemas": { + "https://squidfunk.github.io/mkdocs-material/schema.json": "mkdocs.yml" + }, + "yaml.customTags": [ + "!ENV scalar", + "!ENV sequence", + "!relative scalar", + "tag:yaml.org,2002:python/name:material.extensions.emoji.to_svg", + "tag:yaml.org,2002:python/name:material.extensions.emoji.twemoji", + "tag:yaml.org,2002:python/name:pymdownx.superfences.fence_code_format", + "tag:yaml.org,2002:python/object/apply:pymdownx.slugs.slugify mapping" + ] } \ No newline at end of file diff --git a/docs/docs/blog/index.md b/docs/docs/blog/index.md new file mode 100644 index 000000000..0e6302856 --- /dev/null +++ b/docs/docs/blog/index.md @@ -0,0 +1,2 @@ +# News + diff --git a/docs/input/news/2020-08-22-cake-issues-v0.9.0-released.md b/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md similarity index 81% rename from docs/input/news/2020-08-22-cake-issues-v0.9.0-released.md rename to docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md index 086df590d..5f6390b54 100644 --- a/docs/input/news/2020-08-22-cake-issues-v0.9.0-released.md +++ b/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md @@ -1,11 +1,13 @@ --- title: Cake Issues v0.9.0 Released -category: Release Notes +date: 2020-08-22 +categories: + - Release Notes --- Cake Issues version 0.9.0 has been released. This is a major release bringing a lot of new features across all addins. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -14,15 +16,15 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [AdmiringWorm](https://github.com/AdmiringWorm) -* [christianbumann](https://github.com/christianbumann) -* [eoehen](https://github.com/eoehen) -* [gep13](https://github.com/gep13) -* [janniksam](https://github.com/janniksam) -* [mholo65](https://github.com/mholo65) -* [pascalberger](https://github.com/pascalberger) -* [Speeedy01](https://github.com/Speeedy01) -* [jokay](https://github.com/jokay) +* [AdmiringWorm](https://github.com/AdmiringWorm){target="_blank"} +* [christianbumann](https://github.com/christianbumann){target="_blank"} +* [eoehen](https://github.com/eoehen){target="_blank"} +* [gep13](https://github.com/gep13){target="_blank"} +* [janniksam](https://github.com/janniksam){target="_blank"} +* [mholo65](https://github.com/mholo65){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [Speeedy01](https://github.com/Speeedy01){target="_blank"} +* [jokay](https://github.com/jokay){target="_blank"} ## Full cross-platform support @@ -31,10 +33,11 @@ While in previous versions most parts of Cake Issues was already targeting .NET .NET Core. With this release `Cake.Issues.Reporting.Generic` was ported to also run on .NET Core. -The migration was done by [gep13](https://github.com/gep13) on his [Twitch stream](https://www.twitch.tv/gep13) and you -can watch work done in [Stream 90 - Working on Cake.Issues.Recipe](https://www.youtube.com/watch?v=7roa5Q6KcrQ), -[Stream 91 - Working on Cake.Issues.Reporting.Generic and Gazorator](https://www.youtube.com/watch?v=ocacOz3CxME) and -[Stream 92 - Working on Cake.Issues.Reporting.Generic and Gazorator - Part 2](https://www.youtube.com/watch?v=P0IpkL9gUAE). +The migration was done by [gep13](https://github.com/gep13){target="_blank"} on his +[Twitch stream](https://www.twitch.tv/gep13){target="_blank"} and you +can watch work done in [Stream 90 - Working on Cake.Issues.Recipe](https://www.youtube.com/watch?v=7roa5Q6KcrQ){target="_blank"}, +[Stream 91 - Working on Cake.Issues.Reporting.Generic and Gazorator](https://www.youtube.com/watch?v=ocacOz3CxME){target="_blank"} and +[Stream 92 - Working on Cake.Issues.Reporting.Generic and Gazorator - Part 2](https://www.youtube.com/watch?v=P0IpkL9gUAE){target="_blank"}. ## Enhanced issue information @@ -137,7 +140,7 @@ across all runs. [Cake.Issues.Recipe], the Cake Recipe script which you can integrate into your build script for easy integration of full feature issue management, has been updated to version 0.4.0, bringing all the new features of Cake.Issues 0.9.0. -[Cake.Issues.Recipe]: ../docs/recipe/overview +[Cake.Issues.Recipe]: ../../documentation/recipe/overview.md ## Updating from previous versions @@ -149,7 +152,7 @@ This section documents the most common changes which might be required: Older version are still supported for deserialization. * Cake.Issues.Markdownlint * `MarkdownlintLogFileFormat` alias has been renamed to `MarkdownlintV1LogFileFormat` - ([#116](https://github.com/cake-contrib/Cake.Issues.Markdownlint/issues/116)). + ([#116](https://github.com/cake-contrib/Cake.Issues.Markdownlint/issues/116){target="_blank"}). * Cake.Issues.PullRequest * `ReportIssuesToPullRequest` alias which accepts an issue provider, or a list of issue providers, and settings requires now settings of type `IReportIssuesToPullRequestFromIssueProviderSettings` instead of `ReportIssuesToPullRequestSettings` to @@ -165,30 +168,30 @@ This section documents the most common changes which might be required: * `HtmlDxDataGridOption.FileLinkSettings` has been removed. File link settings can now be defined while reading the issues. For details see [File linking]. - ([#265](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/issues/265)). + ([#265](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/issues/265){target="_blank"}). * `HtmlDxDataGridOption.JSZipLocation` has been split into `HtmlDxDataGridOption.JsZipLocation` and `HtmlDxDataGridOption.JsZipVersion` - ([#320](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/issues/320)). + ([#320](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/issues/320){target="_blank"}). * Cake.Issues.Recipe * Cake.Issues.Recipe requires at least Cake 0.38.0 For details see release notes of the individual addins: -* [Cake.Issues 0.9.0](https://github.com/cake-contrib/Cake.Issues/releases/tag/0.9.0) -* [Cake.Issues.MsBuild 0.9.0](https://github.com/cake-contrib/Cake.Issues.MsBuild/releases/tag/0.9.0) -* [Cake.Issues.InspectCode 0.9.0](https://github.com/cake-contrib/Cake.Issues.InspectCode/releases/tag/0.9.0) -* [Cake.Issues.DupFinder 0.9.0](https://github.com/cake-contrib/Cake.Issues.DupFinder/releases/tag/0.9.0) -* [Cake.Issues.GitRepository 0.9.0](https://github.com/cake-contrib/Cake.Issues.GitRepository/releases/tag/0.9.0) -* [Cake.Issues.Markdownlint 0.9.0](https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/0.9.0) -* [Cake.Issues.EsLint 0.9.0](https://github.com/cake-contrib/Cake.Issues.EsLint/releases/tag/0.9.0) -* [Cake.Issues.DocFx 0.9.0](https://github.com/cake-contrib/Cake.Issues.DocFx/releases/tag/0.9.0) -* [Cake.Issues.PullRequests 0.9.0](https://github.com/cake-contrib/Cake.Issues.PullRequests/releases/tag/0.9.0) -* [Cake.Issues.PullRequests.AzureDevOps 0.9.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AzureDevOps/releases/tag/0.9.0) -* [Cake.Issues.PullRequests.AppVeyor 0.9.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AppVeyor/releases/tag/0.9.0) -* [Cake.Issues.Reporting 0.9.0](https://github.com/cake-contrib/Cake.Issues.Reporting/releases/tag/0.9.0) -* [Cake.Issues.Reporting.Generic 0.9.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/releases/tag/0.9.0) -* [Cake.Issues.Reporting.Sarif 0.9.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Sarif/releases/tag/0.9.0) -* [Cake.Issues.Recipe 0.4.0](https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/0.4.0) +* [Cake.Issues 0.9.0](https://github.com/cake-contrib/Cake.Issues/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.MsBuild 0.9.0](https://github.com/cake-contrib/Cake.Issues.MsBuild/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.InspectCode 0.9.0](https://github.com/cake-contrib/Cake.Issues.InspectCode/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.DupFinder 0.9.0](https://github.com/cake-contrib/Cake.Issues.DupFinder/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.GitRepository 0.9.0](https://github.com/cake-contrib/Cake.Issues.GitRepository/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.Markdownlint 0.9.0](https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.EsLint 0.9.0](https://github.com/cake-contrib/Cake.Issues.EsLint/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.DocFx 0.9.0](https://github.com/cake-contrib/Cake.Issues.DocFx/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.PullRequests 0.9.0](https://github.com/cake-contrib/Cake.Issues.PullRequests/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.PullRequests.AzureDevOps 0.9.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AzureDevOps/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.PullRequests.AppVeyor 0.9.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AppVeyor/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.Reporting 0.9.0](https://github.com/cake-contrib/Cake.Issues.Reporting/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.Reporting.Generic 0.9.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.Reporting.Sarif 0.9.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Sarif/releases/tag/0.9.0){target="_blank"} +* [Cake.Issues.Recipe 0.4.0](https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/0.4.0){target="_blank"} [File linking]: #file-linking [Support for passing additional run information]: #support-for-passing-additional-run-information diff --git a/docs/input/news/2020-09-19-cake-issues-v0.9.1-released.md b/docs/docs/blog/posts/2020-09-19-cake-issues-v0.9.1-released.md similarity index 82% rename from docs/input/news/2020-09-19-cake-issues-v0.9.1-released.md rename to docs/docs/blog/posts/2020-09-19-cake-issues-v0.9.1-released.md index f1c3a2458..c906d3160 100644 --- a/docs/input/news/2020-09-19-cake-issues-v0.9.1-released.md +++ b/docs/docs/blog/posts/2020-09-19-cake-issues-v0.9.1-released.md @@ -1,12 +1,14 @@ --- title: Cake Issues v0.9.1 Released -category: Release Notes +date: 2020-09-19 +categories: + - Release Notes --- Version 0.9.1 of Cake Issues and Cake.Issues.PullRequests.AzureDevOps have been released. These are minor releases containing improvements and bug fixes. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -15,10 +17,10 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [christianbumann](https://github.com/christianbumann) -* [janniksam](https://github.com/janniksam) -* [pascalberger](https://github.com/pascalberger) -* [jokay](https://github.com/jokay) +* [christianbumann](https://github.com/christianbumann){target="_blank"} +* [janniksam](https://github.com/janniksam){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [jokay](https://github.com/jokay){target="_blank"} ## Easier file linking for manually created issues @@ -31,7 +33,7 @@ it become much more complicated for issues created using the `NewIssue` alias, w Cake.Issues 0.9.1 adds an `WithFileLinkSettings` method to `IIssueBuilder` where a file link setting object can be passed which does resolve the URL. -[file link infrastructure was moved to Cake.Issues]: cake-issues-v0.9.0-released#file-linking +[file link infrastructure was moved to Cake.Issues]: 2020-08-22-cake-issues-v0.9.0-released.md#file-linking ## Line range and column support in Azure DevOps pull request integration diff --git a/docs/input/news/2020-09-24-annotations.png b/docs/docs/blog/posts/2020-09-24-annotations.png similarity index 100% rename from docs/input/news/2020-09-24-annotations.png rename to docs/docs/blog/posts/2020-09-24-annotations.png diff --git a/docs/input/news/2020-09-24-cake-issues-recipe-v0.4.2-released.md b/docs/docs/blog/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md similarity index 75% rename from docs/input/news/2020-09-24-cake-issues-recipe-v0.4.2-released.md rename to docs/docs/blog/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md index 53a1730ba..088d2b4e0 100644 --- a/docs/input/news/2020-09-24-cake-issues-recipe-v0.4.2-released.md +++ b/docs/docs/blog/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md @@ -1,11 +1,13 @@ --- title: Cake Issues Recipe v0.4.2 released, bringing support for GitHub Actions -category: Release Notes +date: 2020-09-24 +categories: + - Release Notes --- Version 0.4.2 of Cake Issues Recipe has been released bringing support for GitHub Actions. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -14,8 +16,8 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [admiringworm](https://github.com/admiringworm) -* [pascalberger](https://github.com/pascalberger) +* [admiringworm](https://github.com/admiringworm){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} ## Support for GitHub Actions @@ -34,10 +36,9 @@ Having issues available as annotations also means that they will be shown in pul It's planned to support remaining features like providing full issue report as artifact in a future release. -:::{.alert .alert-info} -Support for GitHub Actions integration is currently only available in Cake.Issues.Recipe, but not as a standalone addin. -It's planned to additionally provide a standalone addin which can be used outside of Cake.Issues.Recipe in the future. -::: +!!! info + Support for GitHub Actions integration is currently only available in Cake.Issues.Recipe, but not as a standalone addin. + It's planned to additionally provide a standalone addin which can be used outside of Cake.Issues.Recipe in the future. ## Updating from previous versions diff --git a/docs/input/news/2020-09-24-log-output.png b/docs/docs/blog/posts/2020-09-24-log-output.png similarity index 100% rename from docs/input/news/2020-09-24-log-output.png rename to docs/docs/blog/posts/2020-09-24-log-output.png diff --git a/docs/input/news/2020-09-24-pullrequest-integration.png b/docs/docs/blog/posts/2020-09-24-pullrequest-integration.png similarity index 100% rename from docs/input/news/2020-09-24-pullrequest-integration.png rename to docs/docs/blog/posts/2020-09-24-pullrequest-integration.png diff --git a/docs/input/news/2020-09-27-github-actions-addin.md b/docs/docs/blog/posts/2020-09-27-github-actions-addin.md similarity index 53% rename from docs/input/news/2020-09-27-github-actions-addin.md rename to docs/docs/blog/posts/2020-09-27-github-actions-addin.md index 3efe52714..936d495c2 100644 --- a/docs/input/news/2020-09-27-github-actions-addin.md +++ b/docs/docs/blog/posts/2020-09-27-github-actions-addin.md @@ -1,23 +1,25 @@ --- title: New GitHub Actions addin -category: Release Notes +date: 2020-09-27 +categories: + - Release Notes --- A new [Cake.Issues.PullRequest.GitHubActions addin] has been released which brings integration with GitHub Actions and GitHub pull requests. - + [Cake.Issues.PullRequest.GitHubActions addin] creates annotations from issues when running on GitHub Actions: -![Annotations](../docs/pull-request-systems/github-actions/githubactions-annotations.png "Annotations") +![Annotations](../../documentation/pull-request-systems/github-actions/githubactions-annotations.png "Annotations") These annotations will also be shown in pull requests on the related file / position, bringing first class integration for GitHub pull requests to Cake.Issues: -![Pull request integration](../docs/pull-request-systems/github-actions/githubactions-pullrequest-integration.png "Pull request integration") +![Pull request integration](../../documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png "Pull request integration") This integration was [first released in Cake.Issues.Recipe 0.4.2] and has now been moved to its own addin, which can also be used outside of Cake.Issues.Recipe. -[Cake.Issues.PullRequest.GitHubActions addin]: ../docs/pull-request-systems/github-actions/ -[first released in Cake.Issues.Recipe 0.4.2]: cake-issues-recipe-v0.4.2-released +[Cake.Issues.PullRequest.GitHubActions addin]: ../../documentation/pull-request-systems/github-actions/index.md +[first released in Cake.Issues.Recipe 0.4.2]: 2020-09-24-cake-issues-recipe-v0.4.2-released.md diff --git a/docs/input/news/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md b/docs/docs/blog/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md similarity index 78% rename from docs/input/news/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md rename to docs/docs/blog/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md index b28c70819..4555b3a48 100644 --- a/docs/input/news/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md +++ b/docs/docs/blog/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md @@ -1,12 +1,14 @@ --- title: Cake Issues PullRequests v0.9.1 Released -category: Release Notes +date: 2020-10-09 +categories: + - Release Notes --- Version 0.9.1 of Cake.Issues.PullRequests has been released. This is a minor releases containing bug fixes. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -15,9 +17,9 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [janniksam](https://github.com/janniksam) -* [pascalberger](https://github.com/pascalberger) -* [phlorian](https://github.com/phlorian) +* [janniksam](https://github.com/janniksam){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [phlorian](https://github.com/phlorian){target="_blank"} ## Don't post issues if a provider limit is set to 0 diff --git a/docs/input/news/2020-10-20-cake-issues-msbuild-v0.9.1-released.md b/docs/docs/blog/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md similarity index 69% rename from docs/input/news/2020-10-20-cake-issues-msbuild-v0.9.1-released.md rename to docs/docs/blog/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md index 051b2c9c6..a7a4bfabb 100644 --- a/docs/input/news/2020-10-20-cake-issues-msbuild-v0.9.1-released.md +++ b/docs/docs/blog/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md @@ -1,12 +1,14 @@ --- title: Cake Issues MsBuild v0.9.1 Released -category: Release Notes +date: 2020-10-20 +categories: + - Release Notes --- Version 0.9.1 of MsBuild support for Cake.Issues has been released. This is a minor release containing improvements. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -15,10 +17,10 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [cho-trackman](https://github.com/cho-trackman) -* [eoehen](https://github.com/eoehen) -* [pascalberger](https://github.com/pascalberger) -* [jokay](https://github.com/jokay) +* [cho-trackman](https://github.com/cho-trackman){target="_blank"} +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [jokay](https://github.com/jokay){target="_blank"} ## Support for reading of errors @@ -27,9 +29,8 @@ Starting with version 0.9.1 it will also return errors. Reading of errors has been implemented for `MsBuildBinaryLogFileFormat` and `MsBuildXmlFileLoggerFormat`. For errors `IIssue.Priority` will be set to `IssuePriority.Error`. -:::{.alert .alert-info} -To keep previous behavior result after reading the issues can be filtered for `IIssue.Priority == IIssuePriority.Warning`. -::: +!!! info + To keep previous behavior result after reading the issues can be filtered for `IIssue.Priority == IIssuePriority.Warning`. ## Updating from previous versions diff --git a/docs/input/news/2020-12-01-cake-issues-recipe-v0.4.4-released.md b/docs/docs/blog/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md similarity index 73% rename from docs/input/news/2020-12-01-cake-issues-recipe-v0.4.4-released.md rename to docs/docs/blog/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md index c85db7238..89fc88980 100644 --- a/docs/input/news/2020-12-01-cake-issues-recipe-v0.4.4-released.md +++ b/docs/docs/blog/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md @@ -1,26 +1,28 @@ --- title: Cake Issues Recipe v0.4.4 released, bringing support for ESLint -category: Release Notes +date: 2020-12-01 +categories: + - Release Notes --- Version 0.4.4 of Cake Issues Recipe has been released bringing support for ESLint. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). -For details see [full release notes](https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/0.4.4). +For details see [full release notes](https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/0.4.4){target="_blank"}. ❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ People working on this release: -* [pascalberger](https://github.com/pascalberger) +* [pascalberger](https://github.com/pascalberger){target="_blank"} ## Support for ESLint -This version of Cake.Issues.Recipe brings support for issues reported by [ESLint](https://eslint.org/). -Currently supported are files generated using the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json) +This version of Cake.Issues.Recipe brings support for issues reported by [ESLint](https://eslint.org/){target="_blank"}. +Currently supported are files generated using the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"} ## Updating from previous versions diff --git a/docs/input/news/2021-07-27-terraform-addin.md b/docs/docs/blog/posts/2021-07-27-terraform-addin.md similarity index 82% rename from docs/input/news/2021-07-27-terraform-addin.md rename to docs/docs/blog/posts/2021-07-27-terraform-addin.md index 114329390..0f561888f 100644 --- a/docs/input/news/2021-07-27-terraform-addin.md +++ b/docs/docs/blog/posts/2021-07-27-terraform-addin.md @@ -1,11 +1,13 @@ --- title: New addin for Terraform support -category: Release Notes +date: 2021-07-27 +categories: + - Release Notes --- A new [Cake.Issues.Terraform addin] has been released which adds support for reading issues from Terraform `validate` command.. - + [Cake.Issues.Terraform addin] brings support for Terraform to the Cake.Issues ecosystem. It allows to read the output of the Terraform `validate` command. @@ -14,4 +16,4 @@ ensure quality standards by validating Terraform files before merging or deployi When using a pull requests workflow it is also possible to have the issues reported by Terraform validate automatically reported as comments to pull request. -[Cake.Issues.Terraform addin]: ../docs/issue-providers/terraform/ +[Cake.Issues.Terraform addin]: ../../documentation/issue-providers/terraform/index.md diff --git a/docs/input/news/2021-07-28-cake-issues-v1.0.0-released.md b/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md similarity index 76% rename from docs/input/news/2021-07-28-cake-issues-v1.0.0-released.md rename to docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md index 8c0931525..ad658977b 100644 --- a/docs/input/news/2021-07-28-cake-issues-v1.0.0-released.md +++ b/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md @@ -1,13 +1,15 @@ --- title: Cake Issues v1.0.0 Released -category: Release Notes +date: 2021-07-28 +categories: + - Release Notes --- -More than 4 years after the [first commit for Cake.Prca](https://github.com/cake-contrib/Cake.Prca/commit/438b3a1a609e5b9cc9e6f8f489a73988f9ed1f4d), +More than 4 years after the [first commit for Cake.Prca](https://github.com/cake-contrib/Cake.Prca/commit/438b3a1a609e5b9cc9e6f8f489a73988f9ed1f4d){target="_blank"}, the predecessor of Cake Issues, we're happy to announce that Cake Issues version 1.0.0 has been released. This is a major release bringing a lot of new features across all addins. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -16,11 +18,11 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [eoehen](https://github.com/eoehen) -* [janniksam](https://github.com/janniksam) -* [pascalberger](https://github.com/pascalberger) -* [phlorian](https://github.com/phlorian) -* [jokay](https://github.com/jokay) +* [eoehen](https://github.com/eoehen){target="_blank"} +* [janniksam](https://github.com/janniksam){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [phlorian](https://github.com/phlorian){target="_blank"} +* [jokay](https://github.com/jokay){target="_blank"} ## Support for Cake 1.0 @@ -44,8 +46,8 @@ of what exact version of dependencies should be used. In the future more Cake Issues addins might be released in Frosting specific packages. [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting -[Cake.Issues.Reporting.Generic addin]: /docs/report-formats/generic/ -[Cake.Issues.Reporting.Generic]: https://www.nuget.org/packages/Cake.Issues.Reporting.Generic/ +[Cake.Issues.Reporting.Generic addin]: ../../documentation/report-formats/generic/index.md +[Cake.Issues.Reporting.Generic]: https://cakebuild.net/extensions/cake-issues-reporting-generic/ [Cake.Frosting.Issues.Reporting.Generic]: https://www.nuget.org/packages/Cake.Frosting.Issues.Reporting.Generic/ ## Support for arbitrary values in an issue @@ -59,7 +61,7 @@ While there are aliases to get provider type name (e.g. [MsBuildIssuesProviderTy not available through the `IIssueProvider` interface. There is a new `IIssueProvider.ProviderType` property which can be used to retrieve the provider type. -[MsBuildIssuesProviderTypeName]: /api/Cake.Issues.MsBuild/MsBuildIssuesAliases/0A221402 +[MsBuildIssuesProviderTypeName]: https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/0A221402 ## PDF export @@ -87,24 +89,23 @@ This section documents the most common changes which might be required: For issue providers inheriting from `BaseIssueProvider` no action is required to keep the same behavior as with previous versions, with the type name used as provider type. -:::{.alert .alert-info} -Cake.Recipe has not been updated to 1.0 yet. -::: +!!! info + Cake.Recipe has not been updated to 1.0 yet. For details see release notes of the individual addins: -* [Cake.Issues 1.0.0](https://github.com/cake-contrib/Cake.Issues/releases/tag/1.0.0) -* [Cake.Issues.MsBuild 1.0.0](https://github.com/cake-contrib/Cake.Issues.MsBuild/releases/tag/1.0.0) -* [Cake.Issues.InspectCode 1.0.0](https://github.com/cake-contrib/Cake.Issues.InspectCode/releases/tag/1.0.0) -* [Cake.Issues.DupFinder 1.0.0](https://github.com/cake-contrib/Cake.Issues.DupFinder/releases/tag/1.0.0) -* [Cake.Issues.GitRepository 1.0.0](https://github.com/cake-contrib/Cake.Issues.GitRepository/releases/tag/1.0.0) -* [Cake.Issues.Markdownlint 1.0.0](https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/1.0.0) -* [Cake.Issues.EsLint 1.0.0](https://github.com/cake-contrib/Cake.Issues.EsLint/releases/tag/1.0.0) -* [Cake.Issues.DocFx 1.0.0](https://github.com/cake-contrib/Cake.Issues.DocFx/releases/tag/1.0.0) -* [Cake.Issues.Terraform 1.0.0](https://github.com/cake-contrib/Cake.Issues.Terraform/releases/tag/1.0.0) -* [Cake.Issues.PullRequests 1.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests/releases/tag/1.0.0) -* [Cake.Issues.PullRequests.AzureDevOps 1.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AzureDevOps/releases/tag/1.0.0) -* [Cake.Issues.PullRequests.AppVeyor 1.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AppVeyor/releases/tag/1.0.0) -* [Cake.Issues.Reporting 1.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting/releases/tag/1.0.0) -* [Cake.Issues.Reporting.Generic 1.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/releases/tag/1.0.0) -* [Cake.Issues.Reporting.Sarif 1.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Sarif/releases/tag/1.0.0) +* [Cake.Issues 1.0.0](https://github.com/cake-contrib/Cake.Issues/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.MsBuild 1.0.0](https://github.com/cake-contrib/Cake.Issues.MsBuild/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.InspectCode 1.0.0](https://github.com/cake-contrib/Cake.Issues.InspectCode/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.DupFinder 1.0.0](https://github.com/cake-contrib/Cake.Issues.DupFinder/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.GitRepository 1.0.0](https://github.com/cake-contrib/Cake.Issues.GitRepository/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.Markdownlint 1.0.0](https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.EsLint 1.0.0](https://github.com/cake-contrib/Cake.Issues.EsLint/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.DocFx 1.0.0](https://github.com/cake-contrib/Cake.Issues.DocFx/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.Terraform 1.0.0](https://github.com/cake-contrib/Cake.Issues.Terraform/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.PullRequests 1.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.PullRequests.AzureDevOps 1.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AzureDevOps/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.PullRequests.AppVeyor 1.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AppVeyor/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.Reporting 1.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.Reporting.Generic 1.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/releases/tag/1.0.0){target="_blank"} +* [Cake.Issues.Reporting.Sarif 1.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Sarif/releases/tag/1.0.0){target="_blank"} diff --git a/docs/input/news/2021-07-30-cake-issues-eslint-v1.0.1-released.md b/docs/docs/blog/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md similarity index 79% rename from docs/input/news/2021-07-30-cake-issues-eslint-v1.0.1-released.md rename to docs/docs/blog/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md index 8413a1d15..056935dbf 100644 --- a/docs/input/news/2021-07-30-cake-issues-eslint-v1.0.1-released.md +++ b/docs/docs/blog/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md @@ -1,12 +1,14 @@ --- title: Cake Issues ESLint v1.0.1 Released -category: Release Notes +date: 2021-07-30 +categories: + - Release Notes --- Version 1.0.1 of ESLint support for Cake.Issues has been released. This is a minor release containing bug fixes. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -15,9 +17,9 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [eoehen](https://github.com/eoehen) -* [pascalberger](https://github.com/pascalberger) -* [Speeedy01](https://github.com/Speeedy01) +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [Speeedy01](https://github.com/Speeedy01){target="_blank"} ## Bug fix for issues with line, column or rule diff --git a/docs/input/news/2021-08-04-cake-issues-recipe-v1.0.0-released.md b/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md similarity index 84% rename from docs/input/news/2021-08-04-cake-issues-recipe-v1.0.0-released.md rename to docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md index f7bd27c13..12841c9e3 100644 --- a/docs/input/news/2021-08-04-cake-issues-recipe-v1.0.0-released.md +++ b/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md @@ -1,6 +1,8 @@ --- title: Cake Issues Recipe v1.0.0 Released, bringing support for Cake Frosting -category: Release Notes +date: 2021-08-04 +categories: + - Release Notes --- Hard on the heels of the [announcement for release 1.0 of Cake.Issues addins], @@ -8,9 +10,9 @@ we're happy to announce release 1.0 of the recipe script for Cake.Issues. This is a major release bringing support for Cake Frosting and other new features. -[announcement for release 1.0 of Cake.Issues addins]: /news/cake-issues-v1.0.0-released +[announcement for release 1.0 of Cake.Issues addins]: 2021-07-28-cake-issues-v1.0.0-released.md - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -19,7 +21,7 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [pascalberger](https://github.com/pascalberger) +* [pascalberger](https://github.com/pascalberger){target="_blank"} ## Support for Cake 1.0 @@ -37,7 +39,7 @@ See [Using Cake.Frosting.Issues.Recipe] for an example. [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe/ [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe/ -[Using Cake.Frosting.Issues.Recipe]: /docs/recipe/usage/using-cake-frosting-issues-recipe +[Using Cake.Frosting.Issues.Recipe]: ../../documentation/recipe/usage/using-cake-frosting-issues-recipe.md ## Support for environments not compatible with Cake.Git addin @@ -46,7 +48,7 @@ While this works in most cases, there are some environments where [Cake.Git addi Starting with this version it is now possible to define if [Cake.Git addin] or Git CLI should be used. -See [Git repository information configuration](/docs/recipe/configuration#git-repository-information) for details. +See [Git repository information configuration](../../documentation/recipe/configuration.md#git-repository-information) for details. [Cake.Git addin]: https://cakebuild.net/extensions/cake-git/ @@ -81,6 +83,4 @@ This section documents the most common changes which might be required: IssuesParameters.InputFiles.AddMsBuildXmlFileLoggerLogFile(@"c:\build\msbuild.log"); ``` -For details see [full release notes]. - -[full release notes]: https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/1.0.0 +For details see [full release notes](https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/1.0.0){target="_blank"} diff --git a/docs/input/news/2021-08-11-cake-issues-recipe-v1.1.0-released.md b/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md similarity index 92% rename from docs/input/news/2021-08-11-cake-issues-recipe-v1.1.0-released.md rename to docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md index 152faa0d8..a2ce616db 100644 --- a/docs/input/news/2021-08-11-cake-issues-recipe-v1.1.0-released.md +++ b/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md @@ -1,11 +1,13 @@ --- title: Cake Issues Recipes v1.1.0 released -category: Release Notes +date: 2021-08-11 +categories: + - Release Notes --- Version 1.1.0 of Cake Issues recipes have been released adding support to customize report generation. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -14,7 +16,7 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [pascalberger](https://github.com/pascalberger) +* [pascalberger](https://github.com/pascalberger){target="_blank"} ## Report customization diff --git a/docs/input/news/2021-08-19-cake-issues-recipe-v1.2.0-released.md b/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md similarity index 85% rename from docs/input/news/2021-08-19-cake-issues-recipe-v1.2.0-released.md rename to docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md index 2c270090e..1e7736dea 100644 --- a/docs/input/news/2021-08-19-cake-issues-recipe-v1.2.0-released.md +++ b/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md @@ -1,11 +1,13 @@ --- title: Cake Issues Recipes v1.2.0 released -category: Release Notes +date: 2021-08-19 +categories: + - Release Notes --- Version 1.2.0 of Cake Issues recipes have been released adding support to customize issue reporting to pull requests. - + This post shows the highlights included in this release. For details see [full release notes]. @@ -15,7 +17,7 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [pascalberger](https://github.com/pascalberger) +* [pascalberger](https://github.com/pascalberger){target="_blank"} ## Customization of pull request integration @@ -40,5 +42,5 @@ context.Parameters.PullRequestSystem.MaxIssuesToPost = 20; Cake Issues recipes 1.2.0 are compatible with version 1.x without any breaking changes. To update to the new version bump the version in your build. -[Pull request integration parameters]: /docs/recipe/configuration#pull-request-integration +[Pull request integration parameters]: ../../documentation/recipe/configuration.md#pull-request-integration [full release notes]: https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/1.2.0 diff --git a/docs/input/news/2021-08-29-console-addin.md b/docs/docs/blog/posts/2021-08-29-console-addin.md similarity index 78% rename from docs/input/news/2021-08-29-console-addin.md rename to docs/docs/blog/posts/2021-08-29-console-addin.md index 5398da538..7f20ce3c8 100644 --- a/docs/input/news/2021-08-29-console-addin.md +++ b/docs/docs/blog/posts/2021-08-29-console-addin.md @@ -1,14 +1,16 @@ --- title: New addin for printing issues to console -category: Release Notes +date: 2021-08-29 +categories: + - Release Notes --- A new [Cake.Issues.Reporting.Console addin] has been released which allows to output issues to the console. - + [Cake.Issues.Reporting.Console addin] can be used to print issues to the console and is built on top -of the excellent [Errata library] by Patrik Svensson. +of the excellent [Errata library](https://github.com/spectreconsole/errata){target="_blank"} by Patrik Svensson. Its main focus is to annotate source code with issues: @@ -27,5 +29,4 @@ Another summary shows the number of issues by priority for every provider and ru ![Summary of priorities](2021-08-29-summary-of-priorities.png "Summary of priorities") -[Cake.Issues.Reporting.Console addin]: /docs/report-formats/console/ -[Errata library]: https://github.com/spectreconsole/errata +[Cake.Issues.Reporting.Console addin]: ../../documentation/report-formats/console/index.md diff --git a/docs/input/news/2021-08-29-diagnostics.png b/docs/docs/blog/posts/2021-08-29-diagnostics.png similarity index 100% rename from docs/input/news/2021-08-29-diagnostics.png rename to docs/docs/blog/posts/2021-08-29-diagnostics.png diff --git a/docs/input/news/2021-08-29-summary-by-provider.png b/docs/docs/blog/posts/2021-08-29-summary-by-provider.png similarity index 100% rename from docs/input/news/2021-08-29-summary-by-provider.png rename to docs/docs/blog/posts/2021-08-29-summary-by-provider.png diff --git a/docs/input/news/2021-08-29-summary-of-priorities.png b/docs/docs/blog/posts/2021-08-29-summary-of-priorities.png similarity index 100% rename from docs/input/news/2021-08-29-summary-of-priorities.png rename to docs/docs/blog/posts/2021-08-29-summary-of-priorities.png diff --git a/docs/input/news/2021-08-31-cake-issues-markdownlint-v1.1.0.md b/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md similarity index 75% rename from docs/input/news/2021-08-31-cake-issues-markdownlint-v1.1.0.md rename to docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md index 3853e97e9..a63d6b2dc 100644 --- a/docs/input/news/2021-08-31-cake-issues-markdownlint-v1.1.0.md +++ b/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md @@ -1,12 +1,14 @@ --- title: Cake Issues Markdownlint v1.1.0 Released -category: Release Notes +date: 2021-08-31 +categories: + - Release Notes --- Version 1.1.0 of Markdownlint support for Cake.Issues has been released. This is a minor release adding features and improvements. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -15,7 +17,7 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [pascalberger](https://github.com/pascalberger) +* [pascalberger](https://github.com/pascalberger){target="_blank"} ## Support for markdownlint-cli JSON format @@ -37,6 +39,6 @@ adding support for markdownlint-cli JSON files. Cake.Issues.Markdownlint 1.1.0 is compatible with version 1.0.0 without any breaking changes. To update to the new version bump the version of the addin. -[MarkdownlintCliJsonLogFileFormat]: /api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F -[MarkdownlintCliLogFileFormat]: /api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E -[Cake Issues recipes]: /docs/recipe/overview \ No newline at end of file +[MarkdownlintCliJsonLogFileFormat]: https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F +[MarkdownlintCliLogFileFormat]: https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E +[Cake Issues recipes]: ../../documentation/recipe/overview.md \ No newline at end of file diff --git a/docs/input/news/2021-09-05-cake-issues-reporting-0-3-0-released.md b/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md similarity index 82% rename from docs/input/news/2021-09-05-cake-issues-reporting-0-3-0-released.md rename to docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md index ed8d34599..f075a75eb 100644 --- a/docs/input/news/2021-09-05-cake-issues-reporting-0-3-0-released.md +++ b/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md @@ -1,12 +1,14 @@ --- title: Cake Issues Reporting Console v0.3.0 released, adding support for all Cake runners -category: Release Notes +date: 2021-09-05 +categories: + - Release Notes --- Version 0.3.0 of [Cake.Issues.Reporting.Console] has been released. This is a minor release adding features and improvements. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -15,8 +17,8 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [pascalberger](https://github.com/pascalberger) -* [patriksvensson](https://github.com/patriksvensson) +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [patriksvensson](https://github.com/patriksvensson){target="_blank"} ## Support for all Cake runners @@ -38,5 +40,5 @@ Underlying [Errata] library has been updated to 0.6.0, containing additional bug [Cake.Issues.Reporting.Console] 0.3.0 is compatible with previous versions without any breaking changes. To update to the new version bump the version of the addin. -[Cake.Issues.Reporting.Console]: /docs/report-formats/console/ +[Cake.Issues.Reporting.Console]: ../../documentation/report-formats/console/index.md [Errata]: https://github.com/spectreconsole/errata diff --git a/docs/input/news/2021-09-05-summary-by-provider.png b/docs/docs/blog/posts/2021-09-05-summary-by-provider.png similarity index 100% rename from docs/input/news/2021-09-05-summary-by-provider.png rename to docs/docs/blog/posts/2021-09-05-summary-by-provider.png diff --git a/docs/input/news/2022-12-10-cake-issues-v2.0.0-released.md b/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md similarity index 90% rename from docs/input/news/2022-12-10-cake-issues-v2.0.0-released.md rename to docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md index e14fc32ab..7f22b5f27 100644 --- a/docs/input/news/2022-12-10-cake-issues-v2.0.0-released.md +++ b/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md @@ -1,12 +1,14 @@ --- title: Cake Issues v2.0.0 Released -category: Release Notes +date: 2022-12-10 +categories: + - Release Notes --- After several months with beta releases Cake Issues version 2.0.0 has been released. This is a major release, containing breaking changes beside bringing new features and bug fixes across all addins. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -15,11 +17,11 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [eoehen](https://github.com/eoehen) -* [KirillOsenkov](https://github.com/KirillOsenkov) -* [pascalberger](https://github.com/pascalberger) -* [twenzel](https://github.com/twenzel) -* [yansklyarenko](https://github.com/yansklyarenko) +* [eoehen](https://github.com/eoehen){target="_blank"} +* [KirillOsenkov](https://github.com/KirillOsenkov){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [twenzel](https://github.com/twenzel){target="_blank"} +* [yansklyarenko](https://github.com/yansklyarenko){target="_blank"} ## Support for Cake 2.0 diff --git a/docs/input/news/2023-07-22-cake-issues-v3.0.0-released.md b/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md similarity index 94% rename from docs/input/news/2023-07-22-cake-issues-v3.0.0-released.md rename to docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md index 59670d003..0e8218054 100644 --- a/docs/input/news/2023-07-22-cake-issues-v3.0.0-released.md +++ b/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md @@ -1,12 +1,14 @@ --- title: Cake Issues v3.0.0 Released -category: Release Notes +date: 2023-07-22 +categories: + - Release Notes --- Cake Issues version 3.0.0 has been released. This is a major release, containing breaking changes beside bringing new features and bug fixes across all addins. - + This post shows the highlights included in this release. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). @@ -15,9 +17,9 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [DiDoHH](https://github.com/DiDoHH) -* [eoehen](https://github.com/eoehen) -* [pascalberger](https://github.com/pascalberger) +* [DiDoHH](https://github.com/DiDoHH){target="_blank"} +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} ## Support for Cake 3.0 diff --git a/docs/input/news/2023-08-16-cake-issues-recipe-v3.1.0-released.md b/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md similarity index 86% rename from docs/input/news/2023-08-16-cake-issues-recipe-v3.1.0-released.md rename to docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md index 29b2e760f..2a9458668 100644 --- a/docs/input/news/2023-08-16-cake-issues-recipe-v3.1.0-released.md +++ b/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md @@ -1,11 +1,13 @@ --- title: Cake Issues Recipes v3.1.0 released -category: Release Notes +date: 2023-08-16 +categories: + - Release Notes --- Version 3.1.0 of Cake Issues recipes have been released adding support for creating of reports in SARIF format. - + This post shows the highlights included in this release. For details see [full release notes]. @@ -15,7 +17,7 @@ For update instructions skip to [Updating from previous versions](#updating-from People working on this release: -* [pascalberger](https://github.com/pascalberger) +* [pascalberger](https://github.com/pascalberger){target="_blank"} ## Reports in SARIF format @@ -32,6 +34,6 @@ Cake Issues recipes 3.1.0 are compatible with version 3.x without any breaking c To update to the new version bump the version in your build. [full release notes]: https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/3.1.0 -[Report parameters]: /docs/recipe/configuration#report-creation +[Report parameters]: ../../documentation/recipe/configuration.md#report-creation [SARIF format]: https://sarifweb.azurewebsites.net/ [SARIF SAST Scans Tab extension]: https://marketplace.visualstudio.com/items?itemName=sariftools.scans diff --git a/docs/input/docs/contributing/how-to-build.md b/docs/docs/documentation/contributing/how-to-build.md similarity index 55% rename from docs/input/docs/contributing/how-to-build.md rename to docs/docs/documentation/contributing/how-to-build.md index 0e256a7e2..a9100d7b2 100644 --- a/docs/input/docs/contributing/how-to-build.md +++ b/docs/docs/documentation/contributing/how-to-build.md @@ -1,8 +1,8 @@ --- -Order: 30 -Title: How to build addins -Description: Instructions how to build individual Cake Issues addins. +title: How to build addins +description: Instructions how to build individual Cake Issues addins. --- + To build this a package we are using Cake. On Windows PowerShell run: @@ -14,4 +14,5 @@ On Windows PowerShell run: On OSX/Linux run: ```bash -./build.sh \ No newline at end of file +./build.sh +``` diff --git a/docs/input/docs/contributing/how-to-contribute.md b/docs/docs/documentation/contributing/how-to-contribute.md similarity index 69% rename from docs/input/docs/contributing/how-to-contribute.md rename to docs/docs/documentation/contributing/how-to-contribute.md index 8004ea3dd..52db0222f 100644 --- a/docs/input/docs/contributing/how-to-contribute.md +++ b/docs/docs/documentation/contributing/how-to-contribute.md @@ -1,8 +1,8 @@ --- -Order: 10 -Title: How to contribute -Description: Instructions how to contribute to Cake Issues addins. +title: How to contribute +description: Instructions how to contribute to Cake Issues addins. --- + The repositories are using [GitFlow] with default configuration. Development is happening on `develop` branch. @@ -16,4 +16,4 @@ To contribute: For getting started see issues marked with `Up-for-grabs` in the individual repositories. -[GitFlow]: (http://nvie.com/posts/a-successful-git-branching-model/) \ No newline at end of file +[GitFlow]: https://nvie.com/posts/a-successful-git-branching-model/ diff --git a/docs/input/docs/contributing/how-to-release.md b/docs/docs/documentation/contributing/how-to-release.md similarity index 53% rename from docs/input/docs/contributing/how-to-release.md rename to docs/docs/documentation/contributing/how-to-release.md index fd8031546..6ff7b63a7 100644 --- a/docs/input/docs/contributing/how-to-release.md +++ b/docs/docs/documentation/contributing/how-to-release.md @@ -1,8 +1,8 @@ --- -Order: 40 -Title: How to release addins -Description: Instructions how to release individual Cake Issues addins. +title: How to release addins +description: Instructions how to release individual Cake Issues addins. --- + See [Cake.Recipe documentation] how to create a new release of this addin. -[Cake.Recipe documentation]: https://cake-contrib.github.io/Cake.Recipe/docs/usage/creating-release \ No newline at end of file +[Cake.Recipe documentation]: https://cake-contrib.github.io/Cake.Recipe/docs/usage/creating-release diff --git a/docs/docs/documentation/extending/fundamentals.md b/docs/docs/documentation/extending/fundamentals.md new file mode 100644 index 000000000..ccc3a991a --- /dev/null +++ b/docs/docs/documentation/extending/fundamentals.md @@ -0,0 +1,10 @@ +--- +title: Fundamentals +description: Fundamentals to extend Cake Issues ecosystem. +--- + +You can easily extend Cake Issues with additional [Issue Provider], [Report Formats] and [Pull Request System integrations]. + +[Issue Provider]: issue-provider/overview.md +[Report Formats]: report-format/overview.md +[Pull Request System integrations]: pull-request-system/overview.md \ No newline at end of file diff --git a/docs/docs/documentation/extending/index.md b/docs/docs/documentation/extending/index.md new file mode 100644 index 000000000..d8d0c3b46 --- /dev/null +++ b/docs/docs/documentation/extending/index.md @@ -0,0 +1,4 @@ +--- +title: Extending +description: Instructions how to add support for additional analyzers, report formats and pull request system to the Cake Issues Addin. +--- diff --git a/docs/docs/documentation/extending/issue-provider/categories.md b/docs/docs/documentation/extending/issue-provider/categories.md new file mode 100644 index 000000000..828617af6 --- /dev/null +++ b/docs/docs/documentation/extending/issue-provider/categories.md @@ -0,0 +1,21 @@ +--- +title: Alias categories +description: Instructions how to set the alias category. +--- + +Issue provider aliases should use the [IssuesAliasConstants.MainCakeAliasCategory](https://cakebuild.net/api/Cake.Issues/IssuesAliasConstants/41CCADF8){target="_blank"} +and [IssuesAliasConstants.IssueProviderCakeAliasCategory](https://cakebuild.net/api/Cake.Issues/IssuesAliasConstants/D265B28D){target="_blank"} +constants for defining their category: + +```csharp +[CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)] +public static class MyIssueProviderAliases +{ + [CakeMethodAlias] + [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)] + public static IIssueProvider MyIssueProvider( + this ICakeContext context) + { + } +} +``` diff --git a/docs/input/docs/extending/issue-provider/helper.md b/docs/docs/documentation/extending/issue-provider/helper.md similarity index 56% rename from docs/input/docs/extending/issue-provider/helper.md rename to docs/docs/documentation/extending/issue-provider/helper.md index e2c4e3b1c..6e444efe3 100644 --- a/docs/input/docs/extending/issue-provider/helper.md +++ b/docs/docs/documentation/extending/issue-provider/helper.md @@ -1,16 +1,16 @@ --- -Order: 50 -Title: Helper -Description: Overview of different helper classes for implementing issue providers. +title: Helper +description: Overview of different helper classes for implementing issue providers. --- + The following helpers are provider by `Cake.Issues` for simplifying implementation of issue providers: -| Helper | Description | -|--------------------------|--------------------------------------------------------------------------------| -| [StringPathExtensions] | Extensions for string for handling paths. | -| [ByteArrayExtensions] | Extensions for converting between strings an byte arrays. | +| Helper | Description | +|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------| +| [StringPathExtensions](https://cakebuild.net/api/Cake.Issues/StringPathExtensions/){target="_blank"} | Extensions for string for handling paths. | +| [ByteArrayExtensions](https://cakebuild.net/api/Cake.Issues/ByteArrayExtensions/){target="_blank"} | Extensions for converting between strings an byte arrays. | -# File linking +## File linking Cake.Issues provides infrastructure to get links to files on source code hosts like GitHub or Azure Repos. This infrastructure can be used inside issue providers to generate file links which can be used inside the issue messages: @@ -44,6 +44,3 @@ protected override IEnumerable InternalReadIssues() return result; } ``` - -[StringPathExtensions]: ../../../api/Cake.Issues/StringPathExtensions/ -[ByteArrayExtensions]: ../../../api/Cake.Issues/ByteArrayExtensions/ \ No newline at end of file diff --git a/docs/docs/documentation/extending/issue-provider/overview.md b/docs/docs/documentation/extending/issue-provider/overview.md new file mode 100644 index 000000000..3a9925425 --- /dev/null +++ b/docs/docs/documentation/extending/issue-provider/overview.md @@ -0,0 +1,21 @@ +--- +title: Overview +description: Overview how to implement support for an analyzer or linter. +--- + +Issue providers need to implement the [IIssueProvider](https://cakebuild.net/api/Cake.Issues/IIssueProvider/){target="_blank"} +interface. + +## Base classes + +For simplifying implementation there exists base classes from which concrete implementation can be inherited. + +| Base Class | Use case | Tutorial | +|--------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|-------------------------------------| +| [BaseIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseIssueProvider/){target="_blank"} | Base class for a simple issue provider implementation. | [Simple provider] | +| [BaseConfigurableIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseConfigurableIssueProvider_1/){target="_blank"} | Base class for a issue provider with issue provider specific settings. | [Provider settings] | +| [BaseMultiFormatIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseMultiFormatIssueProvider_2/){target="_blank"} | Base class for issue providers supporting multiple log formats. | [Multiple log file formats support] | + +[Simple provider]: tutorials/simple.md +[Provider settings]: tutorials/settings.md +[Multiple log file formats support]: tutorials/logfile-format.md diff --git a/docs/input/docs/extending/issue-provider/tutorials/logfile-format.md b/docs/docs/documentation/extending/issue-provider/tutorials/logfile-format.md similarity index 87% rename from docs/input/docs/extending/issue-provider/tutorials/logfile-format.md rename to docs/docs/documentation/extending/issue-provider/tutorials/logfile-format.md index 2bbd0d283..b9f671672 100644 --- a/docs/input/docs/extending/issue-provider/tutorials/logfile-format.md +++ b/docs/docs/documentation/extending/issue-provider/tutorials/logfile-format.md @@ -1,16 +1,18 @@ --- -Order: 30 -Title: Multiple log file formats -Description: Instructions how to implement an issue provider with support for multiple log file formats. +title: Multiple log file formats +description: Instructions how to implement an issue provider with support for multiple log file formats. --- + A single issue provider might support reading issues from multiple different log file formats. -For these cases the `Cake.Issue` addin provides the [BaseMultiFormatIssueProvider], [BaseMultiFormatIssueProviderSettings] -and [BaseLogFileFormat] classes for simplifying implementation in the issue provider addin. +For these cases the `Cake.Issue` addin provides the [BaseMultiFormatIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseMultiFormatIssueProvider_2/){target="_blank"}, +[BaseMultiFormatIssueProviderSettings](https://cakebuild.net/api/Cake.Issues/BaseMultiFormatIssueProviderSettings_2/){target="_blank"} +and [BaseLogFileFormat](https://cakebuild.net/api/Cake.Issues/BaseLogFileFormat_2/){target="_blank"} +classes for simplifying implementation in the issue provider addin. -# Implementing issue provider +## Implementing issue provider -A concrete class inheriting from [BaseMultiFormatIssueProvider] needs to be implemented defining the -concrete types. +A concrete class inheriting from [BaseMultiFormatIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseMultiFormatIssueProvider_2/){target="_blank"} +needs to be implemented defining the concrete types. ```csharp /// @@ -33,8 +35,8 @@ public class MyIssuesProvider : BaseMultiFormatIssueProvider @@ -92,7 +94,7 @@ public abstract class MyLogFileFormat : BaseLogFileFormat @@ -51,7 +55,8 @@ internal class MyRuleUrlResolver : BaseUrlResolver } ``` -To use the URL resolver the [ResolveRuleUrl] method needs to be called: +To use the URL resolver the [ResolveRuleUrl](https://cakebuild.net/api/Cake.Issues/BaseRuleUrlResolver_1/6B23EC74){target="_blank"} +method needs to be called: ```csharp var resolver = new MyRuleUrlResolver(); @@ -84,10 +89,10 @@ internal class MyRuleUrlResolver : BaseUrlResolver } ``` -# Support custom URL resolvers +## Support custom URL resolvers -The [AddUrlResolver] method can also be called from an Cake alias to allow users of the addin to -register custom resolvers. +The [AddUrlResolver](https://cakebuild.net/api/Cake.Issues/BaseRuleUrlResolver_1/AAA4FB20){target="_blank"} +method can also be called from an Cake alias to allow users of the addin to register custom resolvers. For this the URL resolver class needs to be implemented as a singleton: ```csharp @@ -126,9 +131,3 @@ public static class MyIssueProviderAliases MyRuleUrlResolver.Instance.AddUrlResolver(resolver); } ``` - -[BaseRuleDescription]: ../../../../api/Cake.Issues/BaseRuleDescription/ -[BaseRuleUrlResolver]: ../../../../api/Cake.Issues/BaseRuleUrlResolver_1/ -[TryGetRuleDescription]: ../../../../api/Cake.Issues/BaseRuleUrlResolver_1/D9DB5D44 -[AddUrlResolver]: ../../../../api/Cake.Issues/BaseRuleUrlResolver_1/AAA4FB20 -[ResolveRuleUrl]: ../../../../api/Cake.Issues/BaseRuleUrlResolver_1/6B23EC74 \ No newline at end of file diff --git a/docs/input/docs/extending/issue-provider/tutorials/settings.md b/docs/docs/documentation/extending/issue-provider/tutorials/settings.md similarity index 89% rename from docs/input/docs/extending/issue-provider/tutorials/settings.md rename to docs/docs/documentation/extending/issue-provider/tutorials/settings.md index bafba5633..b94f5de62 100644 --- a/docs/input/docs/extending/issue-provider/tutorials/settings.md +++ b/docs/docs/documentation/extending/issue-provider/tutorials/settings.md @@ -1,16 +1,17 @@ --- -Order: 20 -Title: Provider settings -Description: Instructions how to implement an issue provider with specific settings. +title: Provider settings +description: Instructions how to implement an issue provider with specific settings. --- + Often issue providers require specific settings. -For these cases the `Cake.Issue` addin provides the [BaseConfigurableIssueProvider] and [IssueProviderSettings] classes +For these cases the `Cake.Issue` addin provides the [BaseConfigurableIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseConfigurableIssueProvider_1/){target="_blank"} +and [IssueProviderSettings](https://cakebuild.net/api/Cake.Issues/IssueProviderSettings/){target="_blank"} classes for simplifying implementation in the issue provider addin. -# Implementing issue provider +## Implementing issue provider -A concrete class inheriting from [BaseConfigurableIssueProvider] needs to be implemented defining the -concrete settings class to use: +A concrete class inheriting from [BaseConfigurableIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseConfigurableIssueProvider_1/){target="_blank"} +needs to be implemented defining the concrete settings class to use: ```csharp /// @@ -49,7 +50,8 @@ public class MyIssuesProvider : BaseConfigurableIssueProvider } ``` -Also a concrete class inheriting from [IssueProviderSettings] needs to be implemented. +Also a concrete class inheriting from [IssueProviderSettings](https://cakebuild.net/api/Cake.Issues/IssueProviderSettings/){target="_blank"} +needs to be implemented. Based on the capabilities of the issue provider the appropriate constructors for reading from the file system or memory can be made public: @@ -83,7 +85,7 @@ public class MyIssuesSettings : IssueProviderSettings } ``` -# Aliases +## Aliases An alias for reading issues with the provider should be provided: @@ -200,6 +202,3 @@ public static string MyIssuesProviderTypeName( return typeof(MyIssuesProvider).FullName; } ``` - -[BaseConfigurableIssueProvider]: ../../../../api/Cake.Issues/BaseConfigurableIssueProvider_1/ -[IssueProviderSettings ]: ../../../../api/Cake.Issues/IssueProviderSettings/ \ No newline at end of file diff --git a/docs/input/docs/extending/issue-provider/tutorials/simple.md b/docs/docs/documentation/extending/issue-provider/tutorials/simple.md similarity index 84% rename from docs/input/docs/extending/issue-provider/tutorials/simple.md rename to docs/docs/documentation/extending/issue-provider/tutorials/simple.md index b84d429df..d6b2b156b 100644 --- a/docs/input/docs/extending/issue-provider/tutorials/simple.md +++ b/docs/docs/documentation/extending/issue-provider/tutorials/simple.md @@ -1,14 +1,16 @@ --- -Order: 10 -Title: Simple issue provider -Description: Instructions how to implement a simple issue provider. +title: Simple issue provider +description: Instructions how to implement a simple issue provider. --- -This tutorial explains how to implement a simple issue provider using the [BaseIssueProvider] class -from the `Cake.Issue` addin. -# Implementing issue provider +This tutorial explains how to implement a simple issue provider using the +[BaseIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseIssueProvider/){target="_blank"} +class from the `Cake.Issue` addin. -A concrete class inheriting from [BaseIssueProvider] needs to be implemented: +## Implementing issue provider + +A concrete class inheriting from [BaseIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseIssueProvider/){target="_blank"} +needs to be implemented: ```csharp /// @@ -46,7 +48,7 @@ public class MyIssuesProvider : BaseIssueProvider } ``` -# Aliases +## Aliases An alias for reading issues with the provider should be provided: @@ -96,5 +98,3 @@ public static string MyIssuesProviderTypeName( return typeof(MyIssuesProvider).FullName; } ``` - -[BaseIssueProvider]: ../../../../api/Cake.Issues/BaseIssueProvider/ \ No newline at end of file diff --git a/docs/input/docs/extending/pull-request-system/categories.md b/docs/docs/documentation/extending/pull-request-system/categories.md similarity index 51% rename from docs/input/docs/extending/pull-request-system/categories.md rename to docs/docs/documentation/extending/pull-request-system/categories.md index c375b8316..d303fc3c8 100644 --- a/docs/input/docs/extending/pull-request-system/categories.md +++ b/docs/docs/documentation/extending/pull-request-system/categories.md @@ -1,10 +1,11 @@ --- -Order: 30 -Title: Alias categories -Description: Instructions how to set the alias category. +title: Alias categories +description: Instructions how to set the alias category. --- -Pull request system aliases should use the [IssuesAliasConstants.MainCakeAliasCategory] and -[PullRequestsAliasConstants.PullRequestSystemCakeAliasCategory] constants for defining their category: + +Pull request system aliases should use the [IssuesAliasConstants.MainCakeAliasCategory](https://cakebuild.net/api/Cake.Issues/IssuesAliasConstants/41CCADF8){target="_blank"} +and [PullRequestsAliasConstants.PullRequestSystemCakeAliasCategory](https://cakebuild.net/api/Cake.Issues.PullRequests/PullRequestsAliasConstants/B4C013A1){target="_blank"} +constants for defining their category: ```csharp [CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)] @@ -18,6 +19,3 @@ public static class MyPullRequestSystemAliases } } ``` - -[IssuesAliasConstants.MainCakeAliasCategory]: ../../../api/Cake.Issues/IssuesAliasConstants/41CCADF8 -[PullRequestsAliasConstants.PullRequestSystemCakeAliasCategory]: ../../../api/Cake.Issues.PullRequests/PullRequestsAliasConstants/B4C013A1 \ No newline at end of file diff --git a/docs/docs/documentation/extending/pull-request-system/overview.md b/docs/docs/documentation/extending/pull-request-system/overview.md new file mode 100644 index 000000000..94f5f48bf --- /dev/null +++ b/docs/docs/documentation/extending/pull-request-system/overview.md @@ -0,0 +1,22 @@ +--- +title: Overview +description: Overview how to implement support for a pull request system. +--- + +Pull Request Systems need to implement the [IPullRequestSystem](https://cakebuild.net/api/Cake.Issues.PullRequests/IPullRequestSystem/){target="_blank"} +interface. + +## BaseClasses + +For simplifying implementation there exists base classes from which concrete implementation can be inherited. +[BasePullRequestSystem](https://cakebuild.net/api/Cake.Issues.PullRequests/BasePullRequestSystem/){target="_blank"} +is the main base class with the required functionality for a pull request system implementation. +Additionally there exists several classes which can be implemented to support additional optional capabilities +in a pull request system implementation. + +| Base Class | Use case | Tutorial | +|---------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|-------------------------------------| +| [BasePullRequestSystem](https://cakebuild.net/api/Cake.Issues.PullRequests/BasePullRequestSystem/){target="_blank"} | Base class for all pull request system implementations. | | +| [BaseCheckingCommitIdCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseCheckingCommitIdCapability_1/){target="_blank"} | Base class for capability to post issues only if pull request is for a specific commit. | | +| [BaseDiscussionThreadsCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseDiscussionThreadsCapability_1/){target="_blank"} | Base class for capability to read, resolve and reopen discussion threads. | | +| [BaseFilteringByModifiedFilesCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseFilteringByModifiedFilesCapability_1/){target="_blank"} | Base class for capability to filter issues to only those affecting files modified in the pull request. | | diff --git a/docs/docs/documentation/extending/report-format/categories.md b/docs/docs/documentation/extending/report-format/categories.md new file mode 100644 index 000000000..dc45d8ff7 --- /dev/null +++ b/docs/docs/documentation/extending/report-format/categories.md @@ -0,0 +1,21 @@ +--- +title: Alias categories +description: Instructions how to set the alias category. +--- + +Report format aliases should use the [IssuesAliasConstants.MainCakeAliasCategory](https://cakebuild.net/api/Cake.Issues/IssuesAliasConstants/41CCADF8){target="_blank"} +and [ReportingAliasConstants.ReportingFormatCakeAliasCategory](https://cakebuild.net/api/Cake.Issues.Reporting/ReportingAliasConstants/979CDCAF){target="_blank"} +constants for defining their category: + +```csharp +[CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)] +public static class MyReportFormatAliases +{ + [CakeMethodAlias] + [CakeAliasCategory(ReportingAliasConstants.ReportingFormatCakeAliasCategory)] + public static IIssueReportFormat MyReportFormat( + this ICakeContext context) + { + } +} +``` diff --git a/docs/docs/documentation/extending/report-format/overview.md b/docs/docs/documentation/extending/report-format/overview.md new file mode 100644 index 000000000..752ae4f5b --- /dev/null +++ b/docs/docs/documentation/extending/report-format/overview.md @@ -0,0 +1,8 @@ +--- +title: Overview +description: Overview how to implement support for a report output format. +--- + +Report formats need to implement the [IIssueReportFormat](https://cakebuild.net/api/Cake.Issues.Reporting/IIssueReportFormat/){target="_blank"} interface. +For simplifying implementation there exists an abstract [IssueReportFormat](https://cakebuild.net/api/Cake.Issues.Reporting/IssueReportFormat/){target="_blank"} +base class from which concrete implementation can be inherited. diff --git a/docs/docs/documentation/extending/testing.md b/docs/docs/documentation/extending/testing.md new file mode 100644 index 000000000..3b6b60018 --- /dev/null +++ b/docs/docs/documentation/extending/testing.md @@ -0,0 +1,7 @@ +--- +title: Testing +description: Instructions how to write test cases for Cake Issues addins. +--- + +The `Cake.Issues.Testing` packages provides different helper classes for writing test cases +for issue provider, report format or pull request system addins. diff --git a/docs/input/docs/fundamentals/architecture.md b/docs/docs/documentation/fundamentals/architecture.md similarity index 89% rename from docs/input/docs/fundamentals/architecture.md rename to docs/docs/documentation/fundamentals/architecture.md index 3e8641927..8ea4d8258 100644 --- a/docs/input/docs/fundamentals/architecture.md +++ b/docs/docs/documentation/fundamentals/architecture.md @@ -1,6 +1,6 @@ --- -Order: 10 -Description: Architecture overview. +title: Architecture +description: Architecture overview. --- The Cake Issues addins are built in a modular architecture, allowing to easily @@ -16,6 +16,6 @@ The core consists of the following addins: | Cake.Issues.Reporting | Provides aliases for creating reports for issues. Support for different report formats can be provided through additional [report format] addins. | | Cake.Issues.PullRequests | Provides aliases for reporting issues as comments to pull requests. Support for different pull request systems can be provided through additional [pull request system] addins. | -[issue provider]: issue-provider -[report format]: report-format -[pull request system]: pull-request-system +[issue provider]: issue-provider.md +[report format]: report-format.md +[pull request system]: pull-request-system.md diff --git a/docs/input/docs/fundamentals/issue-provider.md b/docs/docs/documentation/fundamentals/issue-provider.md similarity index 75% rename from docs/input/docs/fundamentals/issue-provider.md rename to docs/docs/documentation/fundamentals/issue-provider.md index 170e2cc60..9f9032f25 100644 --- a/docs/input/docs/fundamentals/issue-provider.md +++ b/docs/docs/documentation/fundamentals/issue-provider.md @@ -1,12 +1,13 @@ --- -Order: 40 -Description: Overview about issue providers. +title: Issue Provider +description: Overview about issue providers. --- + Issue provider addins are responsible for providing the output of an analyzer or linter to the Cake Issues addin. See [Issue Provider] for a list of currently supported analyzers and linters. See [How to implement issue providers] for instruction on how to implement support for additional issue providers. -[Issue Provider]: ../../addins/issue-provider/ -[How to implement issue providers]: ../extending/issue-provider/ \ No newline at end of file +[Issue Provider]: ../issue-providers/index.md +[How to implement issue providers]: ../extending/issue-provider/overview.md diff --git a/docs/input/docs/fundamentals/overview.png b/docs/docs/documentation/fundamentals/overview.png similarity index 100% rename from docs/input/docs/fundamentals/overview.png rename to docs/docs/documentation/fundamentals/overview.png diff --git a/docs/input/docs/fundamentals/pull-request-system.md b/docs/docs/documentation/fundamentals/pull-request-system.md similarity index 71% rename from docs/input/docs/fundamentals/pull-request-system.md rename to docs/docs/documentation/fundamentals/pull-request-system.md index 2615a4bfb..e9f473e0e 100644 --- a/docs/input/docs/fundamentals/pull-request-system.md +++ b/docs/docs/documentation/fundamentals/pull-request-system.md @@ -1,7 +1,8 @@ --- -Order: 60 -Description: Overview about pull request system implementations. +title: Pull Request System +description: Overview about pull request system implementations. --- + Pull request addins implement specific Pull Request Systems and allow the Cake Issues addin to write found issues as comments to pull requests. @@ -10,5 +11,5 @@ See [Pull Request Systems] for a list of currently supported pull request system See [How to implement pull request systems] for instruction on how to implement support for additional pull request systems. -[Pull Request Systems]: ../../addins/pull-request-system/ -[How to implement pull request systems]: ../extending/pull-request-system/ +[Pull Request Systems]: ../pull-request-systems/index.md +[How to implement pull request systems]: ../extending/pull-request-system/overview.md diff --git a/docs/input/docs/fundamentals/recipe.md b/docs/docs/documentation/fundamentals/recipe.md similarity index 71% rename from docs/input/docs/fundamentals/recipe.md rename to docs/docs/documentation/fundamentals/recipe.md index 635cc08ac..414306743 100644 --- a/docs/input/docs/fundamentals/recipe.md +++ b/docs/docs/documentation/fundamentals/recipe.md @@ -1,9 +1,10 @@ --- -Order: 30 -Description: Pre-made recipe script. +title: Recipe +description: Pre-made recipe script. --- + Recipes are pre-made Cake scripts which you can use in your project specific Cake script to get you quickly up and running. See [Recipe] for detailed documentation of the available recipe for Cake.Issues. -[Recipe]: ../recipe/ \ No newline at end of file +[Recipe]: ../recipe/overview.md diff --git a/docs/input/docs/fundamentals/report-format.md b/docs/docs/documentation/fundamentals/report-format.md similarity index 61% rename from docs/input/docs/fundamentals/report-format.md rename to docs/docs/documentation/fundamentals/report-format.md index a5f0e806a..20d0b38b3 100644 --- a/docs/input/docs/fundamentals/report-format.md +++ b/docs/docs/documentation/fundamentals/report-format.md @@ -1,7 +1,8 @@ --- -Order: 50 -Description: Overview about report format implementations. +title: Report Format +description: Overview about report format implementations. --- + Report format addins implement specific report formats and allow the Cake Issues addin to create reports in the specific format. @@ -10,5 +11,5 @@ See [Report Formats] for a list of currently supported report formats. See [How to implement report format] for instruction on how to implement support for additional report formats. -[Report Formats]: ../../addins/report-format/ -[How to implement report format]: ../extending/report-format/ +[Report Formats]: ../report-formats/index.md +[How to implement report format]: ../extending/report-format/overview.md diff --git a/docs/input/docs/fundamentals/versioning.md b/docs/docs/documentation/fundamentals/versioning.md similarity index 55% rename from docs/input/docs/fundamentals/versioning.md rename to docs/docs/documentation/fundamentals/versioning.md index 23111623f..0e119588f 100644 --- a/docs/input/docs/fundamentals/versioning.md +++ b/docs/docs/documentation/fundamentals/versioning.md @@ -1,24 +1,21 @@ --- -Order: 20 -Description: Compatible versions. +title: Versioning +description: Compatible versions. --- + The core addins and all issue providers and pull request systems need to be build against a compatible core API. You can check the required dependencies in the release notes of the addin. This means that it's not possible to use a version of an issue provider build against `Cake.Issues` 1.0.0 together with a version of a pull request system build against `Cake.Issues` 2.0.0. -We use strict [semantic versioning]. +We use strict [semantic versioning](http://semver.org/){target="_blank"}. Therefore it's possible to use issue provider and pull request system built against `Cake.Issues` 1.0.0 together with `Cake.Issues` 1.1.0. -:::{.alert .alert-info} -Please note that versions below 1.0.0 are not considered stable and their API will break regularly. -Expect breaking changes in each minor version. - -Therefore we strongly advise to pin to specific versions of the addins to avoid breaking builds -once we update the addin. -::: - +!!! info + Please note that versions below 1.0.0 are not considered stable and their API will break regularly. + Expect breaking changes in each minor version. -[semantic versioning]: http://semver.org/ \ No newline at end of file + Therefore we strongly advise to pin to specific versions of the addins to avoid breaking builds + once we update the addin. diff --git a/docs/input/docs/issue-providers/docfx/examples.md b/docs/docs/documentation/issue-providers/docfx/examples.md similarity index 52% rename from docs/input/docs/issue-providers/docfx/examples.md rename to docs/docs/documentation/issue-providers/docfx/examples.md index bd2225cfb..00f2d7ee7 100644 --- a/docs/input/docs/issue-providers/docfx/examples.md +++ b/docs/docs/documentation/issue-providers/docfx/examples.md @@ -1,11 +1,13 @@ --- -Order: 30 -Title: Examples -Description: Examples for using the Cake.Issues.DocFx addin. +title: Examples +description: Examples for using the Cake.Issues.DocFx addin. --- -The following example will call [DocFx] to generate the documentation and outputs the number of warnings. -To call [DocFx] from a Cake script you can use the [Cake.DocFx] addin. +The following example will call [DocFx](https://dotnet.github.io/docfx/){target="_blank"} to +generate the documentation and outputs the number of warnings. + +To call [DocFx](https://dotnet.github.io/docfx/){target="_blank"} from a Cake script you can +use the [Cake.DocFx](https://cakebuild.net/extensions/cake-docfx/){target="_blank"} addin. ```csharp #addin "Cake.DocFx" @@ -18,12 +20,11 @@ To read issues from DocFx log files you need to import the core addin and the Do #addin "Cake.Issues.DocFx" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. We need some global variables: @@ -33,7 +34,7 @@ var repoRootPath = @"c:\repo"; var docRootPath = @"docs"; ``` -The following task will build the [DocFx] project and write a log file: +The following task will build the [DocFx](https://dotnet.github.io/docfx/){target="_blank"} project and write a log file: ```csharp Task("Build-Documentation").Does(() => @@ -62,6 +63,3 @@ Task("Read-Issues") Information("{0} issues are found.", issues.Count()); }); ``` - -[DocFx]: https://dotnet.github.io/docfx/ -[Cake.DocFx]: https://www.nuget.org/packages/Cake.DocFx/ diff --git a/docs/docs/documentation/issue-providers/docfx/features.md b/docs/docs/documentation/issue-providers/docfx/features.md new file mode 100644 index 000000000..4de379006 --- /dev/null +++ b/docs/docs/documentation/issue-providers/docfx/features.md @@ -0,0 +1,39 @@ +--- +title: Features +description: Features of the Cake.Issues.DocFx addin. +--- + +The [Cake.Issues.DocFx addin](https://cakebuild.net/extensions/cake-issues-docfx/){target="_blank"} +provides the following features. + +## Basic features + +* Reads warnings from [DocFx](https://dotnet.github.io/docfx/){target="_blank"} log files. + +!!! info + [DocFx](https://dotnet.github.io/docfx/){target="_blank"} can be run with + [Cake.DocFx](https://cakebuild.net/extensions/cake-docfx/){target="_blank"} addin. + +## Supported IIssue properties + +| | Property | Remarks | +|------------------|-----------------------------------|---------------------------------| +| :material-check: | `IIssue.ProviderType` | | +| :material-check: | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| :material-check: | `IIssue.AffectedFileRelativePath` | | +| :material-check: | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| | `IIssue.Column` | | +| | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| :material-check: | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| :material-check: | `IIssue.Priority` | | +| :material-check: | `IIssue.PriorityName` | | +| :material-check: | `IIssue.Rule` | | +| :material-check: | `IIssue.RuleUrl` | | diff --git a/docs/docs/documentation/issue-providers/docfx/index.md b/docs/docs/documentation/issue-providers/docfx/index.md new file mode 100644 index 000000000..764fc8fbd --- /dev/null +++ b/docs/docs/documentation/issue-providers/docfx/index.md @@ -0,0 +1,7 @@ +--- +title: DocFx +description: Issue provider which allows you to read warnings logged by DocFx. +--- + +Support for reading warnings reported by [DocFx](https://dotnet.github.io/docfx/){target="_blank"} is implemented in the +[Cake.Issues.DocFx addin](https://cakebuild.net/extensions/cake-issues-docfx/){target="_blank"}. diff --git a/docs/docs/documentation/issue-providers/eslint/features.md b/docs/docs/documentation/issue-providers/eslint/features.md new file mode 100644 index 000000000..6718c1038 --- /dev/null +++ b/docs/docs/documentation/issue-providers/eslint/features.md @@ -0,0 +1,42 @@ +--- +title: Features +description: Features of the Cake.Issues.EsLint addin. +--- + +The [Cake.Issues.EsLint addin](https://cakebuild.net/extensions/cake-issues-eslint/){target="_blank"} provides the following features. + +## Basic features + +* Reads issues reported by ESLint. +* Provides URLs for all issues. +* Support for custom URL resolving using the [EsLintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/0F6CCE21){target="_blank"} + alias. + +## Supported log file formats + +* [EsLintJsonFormat](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/230C6E27){target="_blank"} + alias for reading issues from log files created by + [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. + +## Supported IIssue properties + +| | Property | Remarks | +|------------------|-----------------------------------|---------------------------------| +| :material-check: | `IIssue.ProviderType` | | +| :material-check: | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| :material-check: | `IIssue.AffectedFileRelativePath` | | +| :material-check: | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| :material-check: | `IIssue.Column` | | +| | `IIssue.EndColumn` | | +| :material-check: | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| :material-check: | `IIssue.Priority` | | +| :material-check: | `IIssue.PriorityName` | | +| :material-check: | `IIssue.Rule` | | +| :material-check: | `IIssue.RuleUrl` | Support for custom rules can be added through a custom [EsLintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/0F6CCE21){target="_blank"} | diff --git a/docs/docs/documentation/issue-providers/eslint/index.md b/docs/docs/documentation/issue-providers/eslint/index.md new file mode 100644 index 000000000..a233ea84a --- /dev/null +++ b/docs/docs/documentation/issue-providers/eslint/index.md @@ -0,0 +1,7 @@ +--- +title: ESLint +description: Issue provider which allows you to read issues logged by ESLint. +--- + +Support for reading issues reported by [ESLint](https://eslint.org/){target="_blank"} +is implemented in the [Cake.Issues.EsLint addin](https://cakebuild.net/extensions/cake-issues-eslint/){target="_blank"}. diff --git a/docs/input/docs/issue-providers/gitrepository/examples.md b/docs/docs/documentation/issue-providers/gitrepository/examples.md similarity index 53% rename from docs/input/docs/issue-providers/gitrepository/examples.md rename to docs/docs/documentation/issue-providers/gitrepository/examples.md index 28c116f38..d055e4159 100644 --- a/docs/input/docs/issue-providers/gitrepository/examples.md +++ b/docs/docs/documentation/issue-providers/gitrepository/examples.md @@ -1,13 +1,14 @@ --- -Order: 30 -Title: Examples -Description: Examples for using the Cake.Issues.GitRepository addin. +title: Examples +description: Examples for using the Cake.Issues.GitRepository addin. --- -The following example prints the number of binary files which are not tracked by [Git Large File Storage] in a repository. -:::{.alert .alert-warning} -Checking binary files requires Git and [Git Large File Storage] available on the local machine. -::: +The following example prints the number of binary files which are not tracked by +[Git Large File Storage](https://git-lfs.github.com/){target="_blank"} in a repository. + +!!! warning + Checking binary files requires Git and [Git Large File Storage](https://git-lfs.github.com/){target="_blank"} + available on the local machine. To analyze Git repositories you need to import the core addin and the Git repository support: @@ -16,12 +17,11 @@ To analyze Git repositories you need to import the core addin and the Git reposi #addin "Cake.Issues.GitRepository" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. We need some global variables: @@ -50,5 +50,3 @@ Task("Analyze-Repo") Information("{0} issues are found.", issues.Count()); }); ``` - -[Git Large File Storage]: https://git-lfs.github.com/ \ No newline at end of file diff --git a/docs/docs/documentation/issue-providers/gitrepository/features.md b/docs/docs/documentation/issue-providers/gitrepository/features.md new file mode 100644 index 000000000..a108b8f41 --- /dev/null +++ b/docs/docs/documentation/issue-providers/gitrepository/features.md @@ -0,0 +1,39 @@ +--- +title: Features +description: Features of the Cake.Issues.GitRepository addin. +--- + +The [Cake.Issues.GitRepository addin](https://cakebuild.net/extensions/cake-issues-gitrepository/){target="_blank"} +provides the following features. + +## Basic features + +* Checks path length of files. See [FilePathTooLong] for details. +* Checks if binary files are tracked by Git LFS. See [BinaryFileNotTrackedByLfs] for details. + +## Supported IIssue properties + +| | Property | Remarks | +|------------------|-----------------------------------|---------------------------------| +| :material-check: | `IIssue.ProviderType` | | +| :material-check: | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| :material-check: | `IIssue.AffectedFileRelativePath` | | +| | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| | `IIssue.Column` | | +| | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| :material-check: | `IIssue.MessageText` | | +| :material-check: | `IIssue.MessageHtml` | | +| :material-check: | `IIssue.MessageMarkdown` | | +| :material-check: | `IIssue.Priority` | | +| :material-check: | `IIssue.PriorityName` | | +| :material-check: | `IIssue.Rule` | | +| :material-check: | `IIssue.RuleUrl` | | + +[FilePathTooLong]: rules/FilePathTooLong.md +[BinaryFileNotTrackedByLfs]: rules/BinaryFileNotTrackedByLfs.md diff --git a/docs/docs/documentation/issue-providers/gitrepository/index.md b/docs/docs/documentation/issue-providers/gitrepository/index.md new file mode 100644 index 000000000..897680de1 --- /dev/null +++ b/docs/docs/documentation/issue-providers/gitrepository/index.md @@ -0,0 +1,7 @@ +--- +title: Git Repository +description: Issue provider which allows you to analyzing Git repositories and create issues resulting from it. +--- + +Support for analyzing Git repositories is implemented in the +[Cake.Issues.GitRepository addin](https://cakebuild.net/extensions/cake-issues-gitrepository/){target="_blank"}. diff --git a/docs/docs/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md b/docs/docs/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md new file mode 100644 index 000000000..acafd93a5 --- /dev/null +++ b/docs/docs/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md @@ -0,0 +1,28 @@ +--- +title: BinaryFileNotTrackedByLfs +description: A binary file is not tracked by Git LFS. +--- + +| Metadata | | +|--------------|---------------------------| +| Rule Id | BinaryFileNotTrackedByLfs | +| Priority | Warning | +| Available in | 0.7.0 or higher | + +## Cause + +A binary file in the repository is not tracked by [Git Large File Storage](https://git-lfs.github.com/){target="_blank"}. + +## Rule description + +By its nature Git repositories cannot handle binary files well and will keep a full copy of that file in the repository every time a change to that file is committed. +Considering that you always clone the full history of a repository, and not only the latest version, using binary files in a repository considerably slow downs the operation. +[Git Large File Storage](https://git-lfs.github.com/){target="_blank"} replaces large files with small text pointers inside the Git repository, while storing the file contents on a remote server. + +!!! info + The rule assumes that all files, which are not text files are binary files. + This also includes for example empty files. + +## How to fix violations + +Track the file with [Git Large File Storage](https://git-lfs.github.com/){target="_blank"}. diff --git a/docs/input/docs/issue-providers/gitrepository/rules/FilePathTooLong.md b/docs/docs/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md similarity index 58% rename from docs/input/docs/issue-providers/gitrepository/rules/FilePathTooLong.md rename to docs/docs/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md index e3eb20e67..ac7dfb3db 100644 --- a/docs/input/docs/issue-providers/gitrepository/rules/FilePathTooLong.md +++ b/docs/docs/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md @@ -1,15 +1,13 @@ --- -Title: FilePathTooLong -Description: The path of a file is too long. +title: FilePathTooLong +description: The path of a file is too long. --- - - - +| Metadata | | +|--------------|-----------------| +| Rule Id | FilePathTooLong | +| Priority | Warning | +| Available in | 0.7.3 or higher | ## Cause diff --git a/docs/docs/documentation/issue-providers/index.md b/docs/docs/documentation/issue-providers/index.md new file mode 100644 index 000000000..66eff4003 --- /dev/null +++ b/docs/docs/documentation/issue-providers/index.md @@ -0,0 +1,4 @@ +--- +title: Issue Providers +description: Documentation of the different issue provider addins. +--- diff --git a/docs/input/docs/issue-providers/inspectcode/examples.md b/docs/docs/documentation/issue-providers/inspectcode/examples.md similarity index 76% rename from docs/input/docs/issue-providers/inspectcode/examples.md rename to docs/docs/documentation/issue-providers/inspectcode/examples.md index 5d9dbaf9e..2e535381e 100644 --- a/docs/input/docs/issue-providers/inspectcode/examples.md +++ b/docs/docs/documentation/issue-providers/inspectcode/examples.md @@ -1,8 +1,8 @@ --- -Order: 30 -Title: Examples -Description: Examples for using the Cake.Issues.InspectCode addin. +title: Examples +description: Examples for using the Cake.Issues.InspectCode addin. --- + The following example will call [JetBrains InspectCode] and output the number of warnings. To call [JetBrains InspectCode] from a Cake script you need to add the `JetBrains.ReSharper.CommandLineTools`: @@ -18,12 +18,11 @@ To read issues from InspectCode log files you need to import the core addin and #addin "Cake.Issues.InspectCode" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the packages. +!!! warning + Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the packages. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. We need some global variables: diff --git a/docs/docs/documentation/issue-providers/inspectcode/features.md b/docs/docs/documentation/issue-providers/inspectcode/features.md new file mode 100644 index 000000000..d04c5170e --- /dev/null +++ b/docs/docs/documentation/issue-providers/inspectcode/features.md @@ -0,0 +1,38 @@ +--- +title: Features +description: Features of the Cake.Issues.InspectCode addin. +--- + +The [Cake.Issues.InspectCode addin] provides the following features: + +## Basic features + +* Reads warnings from [JetBrains InsepectCode] log files. +* Provides URLs for issues containing a Wiki URL. + +## Supported IIssue properties + +| | Property | Remarks | +|------------------|-----------------------------------|----------------------------------| +| :material-check: | `IIssue.ProviderType` | | +| :material-check: | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| :material-check: | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| :material-check: | `IIssue.AffectedFileRelativePath` | | +| :material-check: | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| | `IIssue.Column` | | +| | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| :material-check: | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| :material-check: | `IIssue.Priority` | | +| :material-check: | `IIssue.PriorityName` | | +| :material-check: | `IIssue.Rule` | | +| :material-check: | `IIssue.RuleUrl` | For issues containing a Wiki Url | + +[JetBrains InsepectCode]: https://www.jetbrains.com/help/resharper/2017.1/InspectCode.html +[Cake.Issues.InspectCode addin]: https://www.nuget.org/packages/Cake.Issues.InspectCode diff --git a/docs/docs/documentation/issue-providers/inspectcode/index.md b/docs/docs/documentation/issue-providers/inspectcode/index.md new file mode 100644 index 000000000..41d8d068e --- /dev/null +++ b/docs/docs/documentation/issue-providers/inspectcode/index.md @@ -0,0 +1,7 @@ +--- +title: InspectCode +description: Issue provider which allows you to read issues logged by JetBrains Inspect Code. +--- + +Support for reading issues reported by [JetBrains Inspect Code](https://www.jetbrains.com/help/resharper/2017.1/InspectCode.html) +is implemented in the [Cake.Issues.InspectCode addin](https://www.nuget.org/packages/Cake.Issues.InspectCode). diff --git a/docs/input/docs/issue-providers/markdownlint/examples.md b/docs/docs/documentation/issue-providers/markdownlint/examples.md similarity index 79% rename from docs/input/docs/issue-providers/markdownlint/examples.md rename to docs/docs/documentation/issue-providers/markdownlint/examples.md index b81ddec24..02e9c56ec 100644 --- a/docs/input/docs/issue-providers/markdownlint/examples.md +++ b/docs/docs/documentation/issue-providers/markdownlint/examples.md @@ -1,8 +1,8 @@ --- -Order: 30 -Title: Examples -Description: Examples for using the Cake.Issues.Markdownlint addin. +title: Examples +description: Examples for using the Cake.Issues.Markdownlint addin. --- + The following example will call [markdownlint-cli] to lint some markdown files and outputs the number of warnings. To call [markdownlint-cli] from a Cake script you can use the [Cake.Markdownlint] addin. @@ -18,12 +18,11 @@ To read issues from markdownlint-cli log files you need to import the core addin #addin "Cake.Issues.Markdownlint" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. We need some global variables: diff --git a/docs/docs/documentation/issue-providers/markdownlint/features.md b/docs/docs/documentation/issue-providers/markdownlint/features.md new file mode 100644 index 000000000..82418f14e --- /dev/null +++ b/docs/docs/documentation/issue-providers/markdownlint/features.md @@ -0,0 +1,54 @@ +--- +title: Features +description: Features of the Cake.Issues.Markdownlint addin. +--- + +The [Cake.Issues.Markdownlint addin](https://cakebuild.net/extensions/cake-issues-markdownlint/){target="_blank"} +provides the following features. + +## Basic features + +* Reads warnings from [Markdownlint](https://github.com/DavidAnson/markdownlint){target="_blank"} logfiles. +* Provides URLs for all issues. +* Support for custom URL resolving using the [MarkdownlintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/2EE35F55){target="_blank"} + alias (except for [MarkdownlintCliJsonLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F){target="_blank"}). + +## Supported log file formats + +* [MarkdownlintV1LogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/65609BEB){target="_blank"} + alias for reading issues from [Markdownlint](https://github.com/DavidAnson/markdownlint){target="_blank"} + output generated with `options.resultVersion` set to 1. +* [MarkdownlintCliLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E){target="_blank"} + alias for reading issues from [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target="_blank"} log files. +* [MarkdownlintCliJsonLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F){target="_blank"} + alias for reading issues from [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target="_blank"} + log files created with the `--json` parameter. + +!!! tip + [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target="_blank"} + can be run with the [Cake.Markdownlint](https://cakebuild.net/extensions/cake-markdownlint/){target="_blank"} + addin. + +## Supported IIssue properties + +| | Property | Remarks | +|------------------|-----------------------------------|-----------------------------------------| +| :material-check: | `IIssue.ProviderType` | | +| :material-check: | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| :material-check: | `IIssue.AffectedFileRelativePath` | | +| :material-check: | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| :material-check: | `IIssue.Column` | Only for [MarkdownlintCliLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E){target="_blank"} | +| | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| :material-check: | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| :material-check: | `IIssue.Priority` | Always [IssuePriority.Warning](https://cakebuild.net/api/Cake.Issues/IssuePriority/7A0CE07F){target="_blank"} | +| :material-check: | `IIssue.PriorityName` | Always `Warning` | +| :material-check: | `IIssue.Rule` | | +| :material-check: | `IIssue.RuleUrl` | Support for custom rules can be added through a custom [MarkdownlintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/2EE35F55){target="_blank"} except for [MarkdownlintCliJsonLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F){target="_blank"} | diff --git a/docs/docs/documentation/issue-providers/markdownlint/index.md b/docs/docs/documentation/issue-providers/markdownlint/index.md new file mode 100644 index 000000000..a47bf5b78 --- /dev/null +++ b/docs/docs/documentation/issue-providers/markdownlint/index.md @@ -0,0 +1,7 @@ +--- +title: markdownlint +description: Issue provider which allows you to read issues logged by markdownlint. +--- + +Support for reading issues reported by [markdownlint](https://github.com/DavidAnson/markdownlint) +is implemented in the [Cake.Issues.Markdownlint addin](https://www.nuget.org/packages/Cake.Issues.Markdownlint). diff --git a/docs/input/docs/issue-providers/msbuild/examples.md b/docs/docs/documentation/issue-providers/msbuild/examples.md similarity index 81% rename from docs/input/docs/issue-providers/msbuild/examples.md rename to docs/docs/documentation/issue-providers/msbuild/examples.md index b00940182..2c9154a57 100644 --- a/docs/input/docs/issue-providers/msbuild/examples.md +++ b/docs/docs/documentation/issue-providers/msbuild/examples.md @@ -1,8 +1,8 @@ --- -Order: 30 -Title: Examples -Description: Examples for using the Cake.Issues.MsBuild addin. +title: Examples +description: Examples for using the Cake.Issues.MsBuild addin. --- + The following example will call MsBuild to build the solution and outputs the number of warnings. To read issues from MsBuild log files you need to import the core addin and the MsBuild support: @@ -19,12 +19,11 @@ In order to use the above logger, the following line will download and install t #tool "nuget:?package=MSBuild.Extension.Pack" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the packages. +!!! warning + Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the packages. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. We need some global variables: diff --git a/docs/docs/documentation/issue-providers/msbuild/features.md b/docs/docs/documentation/issue-providers/msbuild/features.md new file mode 100644 index 000000000..b91eaece6 --- /dev/null +++ b/docs/docs/documentation/issue-providers/msbuild/features.md @@ -0,0 +1,42 @@ +--- +title: Features +description: Features of the Cake.Issues.MsBuild addin. +--- + +The [Cake.Issues.MsBuild addin](https://cakebuild.net/extensions/cake-issues-msbuild/){target="_blank"} +provides the following features. + +## Basic features + +* Reads errors and warnings from MSBuild log files. +* Provides URLs for all code analysis (`CA*`) and StyleCop (`SA*`) warnings. +* Support for custom URL resolving using the [MsBuildAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487){target="_blank"} alias. + +## Supported log file formats + +* [MsBuildBinaryLogFileFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/AD50C7E1){target="_blank"} alias for reading issues from binary log files. +* [MsBuildXmlFileLoggerFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E){target="_blank"} alias for reading issues from log files created by [MSBuild Extension Pack XmlFileLogger](https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs){target="_blank"}. + +## Supported IIssue properties + +| | Property | Remarks | +|------------------|-----------------------------------|---------------------------------------| +| :material-check: | `IIssue.ProviderType` | | +| :material-check: | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| :material-check: | `IIssue.ProjectName` | | +| :material-check: | `IIssue.ProjectFileRelativePath` | | +| :material-check: | `IIssue.AffectedFileRelativePath` | | +| :material-check: | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| :material-check: | `IIssue.Column` | Only for [MsBuildXmlFileLoggerFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E){target="_blank"} | +| | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| :material-check: | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| :material-check: | `IIssue.Priority` | | +| :material-check: | `IIssue.PriorityName` | | +| :material-check: | `IIssue.Rule` | | +| :material-check: | `IIssue.RuleUrl` | For code analysis (`CA*`) and StyleCop (`SA*`) warnings. Support for additional rules can be added through a custom [MsBuildAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487){target="_blank"} | diff --git a/docs/docs/documentation/issue-providers/msbuild/index.md b/docs/docs/documentation/issue-providers/msbuild/index.md new file mode 100644 index 000000000..6a139dd47 --- /dev/null +++ b/docs/docs/documentation/issue-providers/msbuild/index.md @@ -0,0 +1,7 @@ +--- +title: MsBuild +description: Issue provider which allows you to read warnings logged by MsBuild. +--- + +Support for reading warnings reported by MsBuild is implemented in the +[Cake.Issues.MsBuild](https://www.nuget.org/packages/Cake.Issues.MsBuild). diff --git a/docs/docs/documentation/issue-providers/terraform/features.md b/docs/docs/documentation/issue-providers/terraform/features.md new file mode 100644 index 000000000..ce1361efc --- /dev/null +++ b/docs/docs/documentation/issue-providers/terraform/features.md @@ -0,0 +1,37 @@ +--- +title: Features +description: Features of the Cake.Issues.Terraform addin. +--- + +The [Cake.Issues.Terraform addin] provides the following features: + +## Basic features + +* Reads warnings from [Terraform validate command]. + +## Supported IIssue properties + +| | Property | Remarks | +|------------------|-----------------------------------|----------------------------------| +| :material-check: | `IIssue.ProviderType` | | +| :material-check: | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| :material-check: | `IIssue.AffectedFileRelativePath` | | +| :material-check: | `IIssue.Line` | | +| :material-check: | `IIssue.EndLine` | | +| :material-check: | `IIssue.Column` | | +| :material-check: | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| :material-check: | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| :material-check: | `IIssue.Priority` | | +| :material-check: | `IIssue.PriorityName` | | +| :material-check: | `IIssue.Rule` | | +| | `IIssue.RuleUrl` | | + +[Terraform validate command]: https://www.terraform.io/docs/cli/commands/validate.html +[Cake.Issues.Terraform addin]: https://cakebuild.net/extensions/cake-issues-terraform/ diff --git a/docs/docs/documentation/issue-providers/terraform/index.md b/docs/docs/documentation/issue-providers/terraform/index.md new file mode 100644 index 000000000..5d0982d3c --- /dev/null +++ b/docs/docs/documentation/issue-providers/terraform/index.md @@ -0,0 +1,7 @@ +--- +title: Terraform +description: Issue provider which allows you to read issues from Terraform validate command. +--- + +Support for reading issues reported by [Terraform validate command](https://www.terraform.io/docs/cli/commands/validate.html) +is implemented in the [Cake.Issues.Terraform addin](https://cakebuild.net/extensions/cake-issues-terraform/). diff --git a/docs/input/docs/overview/features.md b/docs/docs/documentation/overview/features.md similarity index 63% rename from docs/input/docs/overview/features.md rename to docs/docs/documentation/overview/features.md index cb1def00a..f7c82a6c5 100644 --- a/docs/input/docs/overview/features.md +++ b/docs/docs/documentation/overview/features.md @@ -1,42 +1,45 @@ --- -Order: 20 -Description: Overview about core features. +title: Features +description: Overview about core features. --- + The Cake Issues addins for Cake allows you to read issues from any analyzer or linter, create reports or write issues to comments in pull requests. -# Recipe Functionality +## Recipe Functionality See [Supported Tools] for a list of tools supported by [Cake.Issues.Recipe]. -# Supported Core Functionality +## Supported Core Functionality The core addins provide a modular architecture, allowing to easily enhance it for supporting additional analyzers, linters, report formats and code review systems. -## Cake.Issues +### Cake.Issues Addin for creating and reading issues providing the following functionality: -* [NewIssue] alias for creating issues in the build script. -* [ReadIssues] aliases for reading issues from an issue provider. +* [NewIssue](https://cakebuild.net/api/Cake.Issues/Aliases/5BAA8171){target="_blank"} alias for creating issues in the build script. +* [ReadIssues](https://cakebuild.net/api/Cake.Issues/Aliases/2C801A33){target="_blank"} aliases for reading issues from an issue provider. * Support for reading issues from multiple issue providers. * Support for reading issues in multiple formats (Plain text, Markdown, HTML) if supported by issue provider. * Support for creating links to file & location on source code hosting system (GitHub, Azure Repos, etc). * Support for passing additional run information to identify specific runs. -## Cake.Issues.Reporting +### Cake.Issues.Reporting Addin for creating reports providing the following functionality: -* [CreateIssueReport] aliases for creating reports about issues. +* [CreateIssueReport](https://cakebuild.net/api/Cake.Issues.Reporting/Aliases/39023BBC){target="_blank"} + aliases for creating reports about issues. * Support for creating reports with issues from multiple issue providers. -## Cake.Issues.PullRequests +### Cake.Issues.PullRequests Addin for writing issues as comments to pull requests providing the following functionality: -* [ReportIssuesToPullRequest] aliases for writing issues as comments to pull requests. +* [ReportIssuesToPullRequest](https://cakebuild.net/api/Cake.Issues.PullRequests/Aliases/C0F2D0B8){target="_blank"} + aliases for writing issues as comments to pull requests. * Support for reporting issues from multiple issue providers. * Support for passing custom issue filter routines in `ReportIssuesToPullRequestSettings.IssueFilters`. * Advanced support to limit number of maximum issues per run, across multiple runs or per issue provider by setting @@ -46,36 +49,29 @@ Addin for writing issues as comments to pull requests providing the following fu Concrete pull request systems can implement optional capabilities which will provide the following functionality: -* Filter by modified files ([BaseFilteringByModifiedFilesCapability]) +* Filter by modified files ([BaseFilteringByModifiedFilesCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseFilteringByModifiedFilesCapability_1/){target="_blank"}) * Filtering issues to only those related to changed files in a pull request. -* Check commit ID ([BaseCheckingCommitIdCapability]) +* Check commit ID ([BaseCheckingCommitIdCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseCheckingCommitIdCapability_1/){target="_blank"}) * Skipping posting of issues if checked source code is outdated by setting `ReportIssuesToPullRequestSettings.CommitId`. -* Support for discussion threads ([BaseDiscussionThreadsCapability]) +* Support for discussion threads ([BaseDiscussionThreadsCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseDiscussionThreadsCapability_1/){target="_blank"}) * Automatic resolving of issues fixed in subsequent commits. * Automatic reopening of still existing issues which are already closed on pull request. * Comparing issues by identifier to not rely on message or line numbers. -# Supported Issue Providers +## Supported Issue Providers See [Issue Provider Addins] for a list of currently supported analyzers and linters. -# Supported Report Formats +## Supported Report Formats See [Report Format Addins] for a list of currently supported report output formats. -# Supported Pull Request Systems +## Supported Pull Request Systems See [Pull Request System Addins] for a list of currently supported pull request systems. -[Supported Tools]: ../recipe/supported-tools -[Cake.Issues.Recipe]: ../recipe/ -[NewIssue]: ../../api/Cake.Issues/Aliases/DC3A3FD7 -[ReadIssues]: ../../api/Cake.Issues/Aliases/713F15FD -[CreateIssueReport]: ../../api/Cake.Issues.Reporting/Aliases/C778C70A -[ReportIssuesToPullRequest]: ../../api/Cake.Issues.PullRequests/Aliases/5350C413 -[BaseFilteringByModifiedFilesCapability]: ../../api/Cake.Issues.PullRequests/BaseFilteringByModifiedFilesCapability_1 -[BaseCheckingCommitIdCapability]: ../../api/Cake.Issues.PullRequests/BaseCheckingCommitIdCapability_1 -[BaseDiscussionThreadsCapability]: ../../api/Cake.Issues.PullRequests/BaseDiscussionThreadsCapability_1 -[Issue Provider Addins]: ../../addins/issue-provider/ -[Report Format Addins]: ../../addins/reporting-format/ -[Pull Request System Addins]: ../../addins/pull-request-system/ +[Supported Tools]: ../recipe/supported-tools.md +[Cake.Issues.Recipe]: ../recipe/overview.md +[Issue Provider Addins]: ../issue-providers/index.md +[Report Format Addins]: ../report-formats/index.md +[Pull Request System Addins]: ../pull-request-systems/index.md diff --git a/docs/input/docs/overview/introduction.md b/docs/docs/documentation/overview/introduction.md similarity index 62% rename from docs/input/docs/overview/introduction.md rename to docs/docs/documentation/overview/introduction.md index 62ba24292..85df2480e 100644 --- a/docs/input/docs/overview/introduction.md +++ b/docs/docs/documentation/overview/introduction.md @@ -1,7 +1,8 @@ --- -Order: 10 -Description: Introduction +title: Introduction +description: Introduction --- + Do you want to break your build on JetBrains InspectCode issues? Do you want to create nice reports for StyleCop issues in your code? Do you want to have ESLint issues reported as comments to pull requests? @@ -22,18 +23,14 @@ working together and providing over 75 aliases which can be used in Cake build s The addins are built in a [modular architecture] and are providing different [extension points] which allows to easily enhance them for supporting additional analyzers, linters, report formats and code review systems. -:::{.alert .alert-success} -To get started you can use one of the [Cake.Issues recipes], which bring support for different linters and -integration with build and pull request systems out-of-the box in a single and easy to use NuGet package. -::: - - - Presentation - - - Tutorials - - -[modular architecture]: /docs/fundamentals/architecture -[extension points]: /docs/extending/ -[Cake.Issues recipes]: /docs/recipe/overview +!!! tip + To get started you can use one of the [Cake.Issues recipes], which bring support for different linters and + integration with build and pull request systems out-of-the box in a single and easy to use NuGet package. + +[:fontawesome-solid-video: Presentation](https://gitpitch.com/pascalberger/Cake.Issues-Presentation){ .md-button } + +[:fontawesome-solid-graduation-cap: Tutorials](../usage/index.md){ .md-button } + +[modular architecture]: ../fundamentals/architecture.md +[extension points]: ../extending/index.md +[Cake.Issues recipes]: ../recipe/overview.md diff --git a/docs/docs/documentation/overview/requirements.md b/docs/docs/documentation/overview/requirements.md new file mode 100644 index 000000000..0c67ccd3c --- /dev/null +++ b/docs/docs/documentation/overview/requirements.md @@ -0,0 +1,8 @@ +--- +title: Requirements +description: Requirements for using Cake.Issues. +--- + +The requirements are listed in the [release notes] for any specific version + +[Release notes]: https://github.com/cake-contrib/Cake.Issues/releases diff --git a/docs/input/docs/pull-request-systems/appveyor/appveyor-messages.png b/docs/docs/documentation/pull-request-systems/appveyor/appveyor-messages.png similarity index 100% rename from docs/input/docs/pull-request-systems/appveyor/appveyor-messages.png rename to docs/docs/documentation/pull-request-systems/appveyor/appveyor-messages.png diff --git a/docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.md b/docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md similarity index 87% rename from docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.md rename to docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md index 2620901b5..f4449a404 100644 --- a/docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.md +++ b/docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md @@ -1,8 +1,8 @@ --- -Order: 20 -Title: GitHub pull request integration -Description: Example how to write AppVeyor message to GitHub pull requests. +title: GitHub pull request integration +description: Example how to write AppVeyor message to GitHub pull requests. --- + This example shows how to write AppVeyor messages created by Cake.Issues to GitHub pull requests. Issues reported as messages to AppVeyor builds can be written to a GitHub pull request using [GitHub Pull Request Notification] @@ -21,4 +21,4 @@ The output will look similar to this: ![GitHub pull request integration](github-pullrequest-integration.png "GitHub pull request integration") -[GitHub Pull Request Notification]: https://www.appveyor.com/docs/notifications/#github-pull-request \ No newline at end of file +[GitHub Pull Request Notification]: https://www.appveyor.com/docs/notifications/#github-pull-request diff --git a/docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.png b/docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.png similarity index 100% rename from docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.png rename to docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.png diff --git a/docs/docs/documentation/pull-request-systems/appveyor/examples/index.md b/docs/docs/documentation/pull-request-systems/appveyor/examples/index.md new file mode 100644 index 000000000..4fd332421 --- /dev/null +++ b/docs/docs/documentation/pull-request-systems/appveyor/examples/index.md @@ -0,0 +1,8 @@ +--- +title: Examples +description: Examples for using the Cake.Issues.PullRequests.AppVeyor addin. +--- + +!!! info + There's a [demo repository](https://github.com/pascalberger/Cake.Issues-Demo) + available which you can fork and to which you can create pull requests to test the integration functionality. diff --git a/docs/input/docs/pull-request-systems/appveyor/examples/write-messages.md b/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md similarity index 64% rename from docs/input/docs/pull-request-systems/appveyor/examples/write-messages.md rename to docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md index 10cccdfb4..9c03b8204 100644 --- a/docs/input/docs/pull-request-systems/appveyor/examples/write-messages.md +++ b/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md @@ -1,8 +1,8 @@ --- -Order: 10 -Title: Writing message to AppVeyor -Description: Example how to write issues as messages to an AppVeyor build. +title: Writing message to AppVeyor +description: Example how to write issues as messages to an AppVeyor build. --- + This example shows how to report issues as messages to an AppVeyor build. To report issues as messages to an AppVeyor build you need to import the core addin, @@ -16,15 +16,15 @@ in this example for JetBrains InspectCode: #addin "Cake.Issues.PullRequests.AppVeyor" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. In the following task we'll first determine the remote repository URL and -source branch of the pull request and with this information call the [AppVeyorBuilds] alias: +source branch of the pull request and with this information call the +[AppVeyorBuilds](https://cakebuild.net/api/Cake.Issues.PullRequests.AppVeyor/AppVeyorBuildsAliases/){target="_blank"} alias: ```csharp Task("ReportIssuesToAppVeyor").Does(() => @@ -42,5 +42,3 @@ Task("ReportIssuesToAppVeyor").Does(() => The output will look similar to this: ![AppVeyor messages](../appveyor-messages.png "AppVeyor messages") - -[AppVeyorBuilds]: ../../../../api/Cake.Issues.PullRequests.AppVeyor/AppVeyorBuildsAliases/ \ No newline at end of file diff --git a/docs/docs/documentation/pull-request-systems/appveyor/features.md b/docs/docs/documentation/pull-request-systems/appveyor/features.md new file mode 100644 index 000000000..13d851d35 --- /dev/null +++ b/docs/docs/documentation/pull-request-systems/appveyor/features.md @@ -0,0 +1,31 @@ +--- +title: Features +description: Features of the Cake.Issues.PullRequests.AppVeyor addin. +--- + +The [Cake.Issues.PullRequests.AppVeyor addin] reports issues as messages to AppVeyor builds. + +![AppVeyor messages](appveyor-messages.png "AppVeyor messages") + +!!! info + There's a [demo repository] available which you can fork and to which you can create pull requests to test the integration functionality. + +## Basic features + +* Reports issues as messages to AppVeyor builds. +* Messages can be written as comment to GitHub pull requests. + See [GitHub pull request integration] for an example. + +## Supported capabilities + +The [Cake.Issues.PullRequests.AppVeyor addin] doesn't support any additional capabilities. + +| | Capability | Remarks | +|------------------|--------------------------------|--------------------------------| +| | Checking commit ID | | +| | Discussion threads | | +| | Filtering by modified files | | + +[demo repository]: https://github.com/pascalberger/Cake.Issues-Demo +[Cake.Issues.PullRequests.AppVeyor addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AppVeyor +[GitHub pull request integration]: ./examples/github-pullrequest-integration.md diff --git a/docs/docs/documentation/pull-request-systems/appveyor/index.md b/docs/docs/documentation/pull-request-systems/appveyor/index.md new file mode 100644 index 000000000..3d0b41007 --- /dev/null +++ b/docs/docs/documentation/pull-request-systems/appveyor/index.md @@ -0,0 +1,7 @@ +--- +title: AppVeyor +description: Support for AppVeyor. +--- + +Support for AppVeyor is implemented in the +[Cake.Issues.PullRequests.AppVeyor addin](https://www.nuget.org/packages/Cake.Issues.PullRequests.AppVeyor). diff --git a/docs/input/docs/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png b/docs/docs/documentation/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png similarity index 100% rename from docs/input/docs/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png rename to docs/docs/documentation/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png diff --git a/docs/input/docs/pull-request-systems/azure-devops/examples/azure-pipelines.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md similarity index 67% rename from docs/input/docs/pull-request-systems/azure-devops/examples/azure-pipelines.md rename to docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md index 6078ba5ac..1e82b3adc 100644 --- a/docs/input/docs/pull-request-systems/azure-devops/examples/azure-pipelines.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md @@ -1,8 +1,8 @@ --- -Order: 30 -Title: Using with Azure Pipelines -Description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin from an Azure Pipelines build. +title: Using with Azure Pipelines +description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin from an Azure Pipelines build. --- + This example shows how to write issues as comments to an Azure DevOps pull request from an Azure Pipelines build. To write issues as comments to Azure DevOps pull requests you need to import the core addin, @@ -17,23 +17,23 @@ in this example for JetBrains InspectCode: #addin "Cake.AzureDevOps" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. In the following task we'll first determine if the build is running on Azure DevOps and for a pull request, -then read the remote repository URL and pull request id from environment variables set by the Azure Pipelines build -and finally call the [AzureDevOpsPullRequests] alias using the OAuth token provided by the Azure Pipeline build. +then read the remote repository URL and pull request id from environment variables set by the Azure Pipelines build +and finally call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} +alias using the OAuth token provided by the Azure Pipeline build. -:::{.alert .alert-info} -Please note that you'll need to setup your Azure Pipelines build to allow scripts to -access the OAuth token and need to setup proper permissions. +!!! info + Please note that you'll need to setup your Azure Pipelines build to + [Allow scripts to access the OAuth token](https://docs.microsoft.com/en-us/azure/devops/pipelines/build/options#allow-scripts-to-access-the-oauth-token){target="_blank"} + and need to setup proper permissions. -See [OAuth authentication from Azure Pipelines] for details. -::: + See [OAuth authentication from Azure Pipelines] for details. ```csharp Task("ReportIssuesToPullRequest").Does(() => @@ -78,6 +78,4 @@ Task("ReportIssuesToPullRequest").Does(() => }); ``` -[AzureDevOpsPullRequests]: ../../../../api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/64912B0A -[Allow scripts to access the OAuth token]: https://docs.microsoft.com/en-us/azure/devops/pipelines/build/options#allow-scripts-to-access-the-oauth-token -[OAuth authentication from Azure Pipelines]: ../setup#oauth-authentication-from-azure-pipelines +[OAuth authentication from Azure Pipelines]: ../setup.md#oauth-authentication-from-azure-pipelines diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/index.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/index.md new file mode 100644 index 000000000..1ec97dfb9 --- /dev/null +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/index.md @@ -0,0 +1,8 @@ +--- +title: Examples +description: Examples for using the Cake.Issues.PullRequests.AzureDevOps addin. +--- + +!!! info + There's a [demo repository](https://dev.azure.com/pberger/Cake.Issues-Demo){target="_blank"} + available which you can fork and to which you can create pull requests to test the integration functionality. diff --git a/docs/input/docs/pull-request-systems/azure-devops/examples/pullrequest-id.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md similarity index 59% rename from docs/input/docs/pull-request-systems/azure-devops/examples/pullrequest-id.md rename to docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md index 843390dfc..0937bb78c 100644 --- a/docs/input/docs/pull-request-systems/azure-devops/examples/pullrequest-id.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md @@ -1,11 +1,11 @@ --- -Order: 10 -Title: Using with pull request id -Description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin with pull request id. +title: Using with pull request id +description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin with pull request id. --- + This example shows how to write issues as comments to an Azure DevOps pull request while using pull request id. -To determine the remote repository URL you need the [Cake.Git] addin: +To determine the remote repository URL you need the [Cake.Git](https://cakebuild.net/extensions/cake-git/){target="_blank"} addin: ```csharp #addin "Cake.Git" @@ -23,16 +23,15 @@ in this example for JetBrains InspectCode: #addin "Cake.AzureDevOps" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. In the following task we'll first determine the remote repository URL and -with this information call the [AzureDevOpsPullRequests] alias, -which will authenticate through NTLM to an on-premise Azure DevOps Server instance: +with this information call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} +alias, which will authenticate through NTLM to an on-premise Azure DevOps Server instance: ```csharp Task("ReportIssuesToPullRequest").Does(() => @@ -51,6 +50,3 @@ Task("ReportIssuesToPullRequest").Does(() => repoRootFolder); }); ``` - -[AzureDevOpsPullRequests]: ../../../../api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/64912B0A -[Cake.Git]: https://www.nuget.org/packages/Cake.Git/ diff --git a/docs/input/docs/pull-request-systems/azure-devops/examples/repository-information.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md similarity index 64% rename from docs/input/docs/pull-request-systems/azure-devops/examples/repository-information.md rename to docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md index 804ef7cfd..e9e0fcff3 100644 --- a/docs/input/docs/pull-request-systems/azure-devops/examples/repository-information.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md @@ -1,11 +1,12 @@ --- -Order: 20 -Title: Using with repository remote url and source branch name -Description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin with repository remote url and source branch name. +title: Using with repository remote url and source branch name +description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin with repository remote url and source branch name. --- + This example shows how to write issues as comments to an Azure DevOps pull request while using repository information. -To determine the remote repository URL and source branch of the pull request you need the [Cake.Git] addin: +To determine the remote repository URL and source branch of the pull request you need the [Cake.Git](https://cakebuild.net/extensions/cake-git/){target="_blank"} +addin: ```csharp #addin "Cake.Git" @@ -23,16 +24,15 @@ in this example for JetBrains InspectCode: #addin "Cake.AzureDevOps" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. In the following task we'll first determine the remote repository URL and -source branch of the pull request and with this information call the [AzureDevOpsPullRequests] alias, -which will authenticate through NTLM to an on-premise Azure DevOps Server instance: +source branch of the pull request and with this information call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} +alias, which will authenticate through NTLM to an on-premise Azure DevOps Server instance: ```csharp Task("ReportIssuesToPullRequest").Does(() => @@ -52,6 +52,3 @@ Task("ReportIssuesToPullRequest").Does(() => repoRootFolder); }); ``` - -[AzureDevOpsPullRequests]: ../../../../api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/8D75BECA -[Cake.Git]: https://www.nuget.org/packages/Cake.Git/ diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/features.md b/docs/docs/documentation/pull-request-systems/azure-devops/features.md new file mode 100644 index 000000000..b7a0d33ea --- /dev/null +++ b/docs/docs/documentation/pull-request-systems/azure-devops/features.md @@ -0,0 +1,47 @@ +--- +title: Features +description: Features of the Cake.Issues.PullRequests.AzureDevOps addin. +--- + +The [Cake.Issues.PullRequests.AzureDevOps addin](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/){target="_blank"} +provides the following features. + +!!! info + There's a [demo repository] available which you can fork and to which you can create pull requests to test the integration functionality. + +## Basic features + +* Writes issues as comments to [Azure DevOps](https://azure.microsoft.com/en-us/services/devops/){target="_blank"} pull requests. +* Identification of pull requests through source branch or pull request ID. +* Comments written by the addin will be rendered with a specific icon corresponding to the state of the issue. +* Adds rule number and, if provided by the issue provider, link to the rule description to the comment. +* Support for issues messages formatted in Markdown format. + +## Supported capabilities + +The [Cake.Issues.PullRequests.AzureDevOps addin](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/){target="_blank"} +supports all [Core features]. + +| | Capability | Remarks | +|------------------|--------------------------------|--------------------------------| +| :material-check: | Checking commit ID | | +| :material-check: | Discussion threads | | +| :material-check: | Filtering by modified files | | + +## Supported authentication methods + +| Azure DevOps Server | Azure DevOps Service | Authentication method | +|---------------------|----------------------|--------------------------------| +| :material-check: | | NTLM | +| :material-check: | | Basic authentication | +| :material-check: | :material-check: | Personal access token | +| | :material-check: | OAuth | +| | :material-check: | Azure Active Directory | + +For detailed instructions how to connect using the different methods see [Setup instructions]. + +![Cake.Issues.PullRequests.AzureDevOps](cake.issues.pullrequests.azuredevops.png "Cake.Issues.PullRequests.AzureDevOps") + +[demo repository]: https://dev.azure.com/pberger/Cake.Issues-Demo +[Core features]: ../../overview/features.md#supported-core-functionality +[Setup instructions]: setup.md diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/index.md b/docs/docs/documentation/pull-request-systems/azure-devops/index.md new file mode 100644 index 000000000..14f386e65 --- /dev/null +++ b/docs/docs/documentation/pull-request-systems/azure-devops/index.md @@ -0,0 +1,7 @@ +--- +title: Azure DevOps +description: Support for Azure DevOps. +--- + +Support for Azure DevOps is implemented in the +[Cake.Issues.PullRequests.AzureDevOps addin](https://www.nuget.org/packages/Cake.Issues.PullRequests.AzureDevOps). diff --git a/docs/input/docs/pull-request-systems/azure-devops/setup.md b/docs/docs/documentation/pull-request-systems/azure-devops/setup.md similarity index 80% rename from docs/input/docs/pull-request-systems/azure-devops/setup.md rename to docs/docs/documentation/pull-request-systems/azure-devops/setup.md index ac9f128bb..1067affcf 100644 --- a/docs/input/docs/pull-request-systems/azure-devops/setup.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/setup.md @@ -1,34 +1,32 @@ --- -Order: 30 -Title: Setup -Description: Instructions how to setup the Cake.Issues.PullRequests.AzureDevOps addin. +title: Setup +description: Instructions how to setup the Cake.Issues.PullRequests.AzureDevOps addin. --- + This page describes the different ways how the [Cake.Issues.PullRequests.AzureDevOps addin] can be setup. -# NTLM authentication +## NTLM authentication -:::{.alert .alert-info} -NTLM authentication is only available for on-premise Azure DevOps Server. -::: +!!! info + NTLM authentication is only available for on-premise Azure DevOps Server. To authenticate with NTLM you can use the [AzureDevOpsAuthenticationNtlm] alias from the [Cake.AzureDevOps addin]. The user needs to have `Contribute to pull requests` permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests. -# Basic authentication +## Basic authentication -:::{.alert .alert-info} -Basic authentication is only available for on-premise Azure DevOps Server. -::: +!!! info + Basic authentication is only available for on-premise Azure DevOps Server. To authenticate with basic authentication you can use the [AzureDevOpsAuthenticationBasic] alias from the [Cake.AzureDevOps addin] and -need to [Configure AzureDevOps Server to use Basic Authentication]. +need to [Configure Azure DevOps Server to use Basic Authentication]. The user needs to have `Contribute to pull requests` permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests. -# Personal access token +## Personal access token To authenticate with an personal access token you can use the [AzureDevOpsAuthenticationPersonalAccessToken] alias from the [Cake.AzureDevOps addin]. @@ -39,11 +37,10 @@ a personal access token. The access token needs to have the scope `Code (read and write)` set and the user needs to have `Contribute to pull requests` permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests. -# OAuth authentication from Azure Pipelines +## OAuth authentication from Azure Pipelines -:::{.alert .alert-info} -OAuth authentication is only available for Azure DevOps Service. -::: +!!! info + OAuth authentication is only available for Azure DevOps Service. If you want to use the [Cake.Issues.PullRequests.AzureDevOps addin] from an Azure Pipelines you can authenticate using the OAuth token provided to the build. @@ -55,11 +52,10 @@ The user under which the build runs, named ` Build Service ( @@ -50,5 +50,3 @@ Additionally the issues show up as annotations: Having issues available as annotations also means that they will be shown in pull requests on the related file / position: ![Pull request integration](../githubactions-pullrequest-integration.png "Pull request integration") - -[GitHubActionsBuilds]: ../../../../api/Cake.Issues.PullRequests.GitHubActions/GitHubActionsBuildsAliases/ diff --git a/docs/docs/documentation/pull-request-systems/github-actions/features.md b/docs/docs/documentation/pull-request-systems/github-actions/features.md new file mode 100644 index 000000000..8416a8570 --- /dev/null +++ b/docs/docs/documentation/pull-request-systems/github-actions/features.md @@ -0,0 +1,25 @@ +--- +title: Features +description: Features of the Cake.Issues.PullRequests.GitHubActions addin. +--- + +The [Cake.Issues.PullRequests.GitHubActions addin] creates annotations from issues when running on GitHub actions. + +![Pull request integration](githubactions-pullrequest-integration.png "Pull request integration") + +## Basic features + +* Reports issues as annotations to GitHub Actions builds. +* Group issues in log output by provider and run information. + +## Supported capabilities + +The [Cake.Issues.PullRequests.GitHubActions addin] doesn't support any additional capabilities. + +| | Capability | Remarks | +|------------------|--------------------------------|--------------------------------| +| | Checking commit ID | | +| | Discussion threads | | +| | Filtering by modified files | | + +[Cake.Issues.PullRequests.GitHubActions addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.GitHubActions diff --git a/docs/input/docs/pull-request-systems/github-actions/githubactions-annotations.png b/docs/docs/documentation/pull-request-systems/github-actions/githubactions-annotations.png similarity index 100% rename from docs/input/docs/pull-request-systems/github-actions/githubactions-annotations.png rename to docs/docs/documentation/pull-request-systems/github-actions/githubactions-annotations.png diff --git a/docs/input/docs/pull-request-systems/github-actions/githubactions-log-output.png b/docs/docs/documentation/pull-request-systems/github-actions/githubactions-log-output.png similarity index 100% rename from docs/input/docs/pull-request-systems/github-actions/githubactions-log-output.png rename to docs/docs/documentation/pull-request-systems/github-actions/githubactions-log-output.png diff --git a/docs/input/docs/pull-request-systems/github-actions/githubactions-pullrequest-integration.png b/docs/docs/documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png similarity index 100% rename from docs/input/docs/pull-request-systems/github-actions/githubactions-pullrequest-integration.png rename to docs/docs/documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png diff --git a/docs/docs/documentation/pull-request-systems/github-actions/index.md b/docs/docs/documentation/pull-request-systems/github-actions/index.md new file mode 100644 index 000000000..9b29daaaf --- /dev/null +++ b/docs/docs/documentation/pull-request-systems/github-actions/index.md @@ -0,0 +1,7 @@ +--- +title: GitHub Actions +description: Support for GitHub Actions. +--- + +Support for GitHub Actions is implemented in the +[Cake.Issues.PullRequests.GitHubActions addin](https://www.nuget.org/packages/Cake.Issues.PullRequests.GitHubActions). diff --git a/docs/docs/documentation/pull-request-systems/index.md b/docs/docs/documentation/pull-request-systems/index.md new file mode 100644 index 000000000..40b483447 --- /dev/null +++ b/docs/docs/documentation/pull-request-systems/index.md @@ -0,0 +1,4 @@ +--- +title: Pull Request Systems +description: Documentation of the different pull request system implementations. +--- diff --git a/docs/input/docs/recipe/configuration.md b/docs/docs/documentation/recipe/configuration.md similarity index 95% rename from docs/input/docs/recipe/configuration.md rename to docs/docs/documentation/recipe/configuration.md index e3df226a2..c3b974746 100644 --- a/docs/input/docs/recipe/configuration.md +++ b/docs/docs/documentation/recipe/configuration.md @@ -1,13 +1,12 @@ --- -Order: 50 -Title: Configuration -Description: Available parameters to configure Cake.Issues recipes. +title: Configuration +description: Available parameters to configure Cake.Issues recipes. --- This page lists configuration properties which can be used to define the functionality and behavior of Cake.Issues recipes. -# Git repository information +## Git repository information Cake.Issues recipes require some information about current Git repository. @@ -18,19 +17,19 @@ The following providers are supported: | Provider | Description | |--------------------------------------|-------------------------------------------------------------------------------------------------------------| -| `RepositoryInfoProviderType.CakeGit` | Read repository information using [Cake.Git addin]. Requires system to be compatible with [Cake.Git addin]. | +| `RepositoryInfoProviderType.CakeGit` | Read repository information using [Cake.Git addin](https://cakebuild.net/extensions/cake-git/){target="_blank"}. Requires system to be compatible with [Cake.Git addin](https://cakebuild.net/extensions/cake-git/){target="_blank"}. | | `RepositoryInfoProviderType.Cli` | Read repository information using Git CLI. Requires Git CLI to be available in path. | -By default [Cake.Git addin] will be used. +By default [Cake.Git addin](https://cakebuild.net/extensions/cake-git/){target="_blank"} will be used. -# General +## General | Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | |-------------------------------------------------------------------|---------------------------------------------------------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| | `IssuesParameters.`
    `OutputDirectory` | `IssuesContext.Parameters.`
    `OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | | `IssuesParameters.`
    `BuildIdentifier` | `IssuesContext.Parameters.`
    `BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. | -# Input files +## Input files | Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Methods | Description | |------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------| @@ -46,14 +45,12 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintCliJsonLogFileContent()` | Adds content of a markdownlint-cli log file writting with `--json`. | | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFilePath()` | Adds a path to a markdownlint log file in version 1. | | `IssuesParameters.InputFiles.`
    `AddMarkdownlintV1LogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddMarkdownlintV1LogFileContent()` | Adds content of a markdownlint log file in version 1. | -| `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFilePath()` | Adds a path to a ESLint log file generated by the [ESLint json formatter]. | -| `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFileContent()` | Adds content of a ESLint log file generated by the [ESLint json formatter]. | +| `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFilePath()` | Adds a path to a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. | +| `IssuesParameters.InputFiles.`
    `AddEsLintJsonLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddEsLintJsonLogFileContent()` | Adds content of a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. | | `IssuesParameters.InputFiles.`
    `AddSarifLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
    `AddSarifLogFilePath()` | Adds a path to a SARIF log file. | | `IssuesParameters.InputFiles.`
    `AddSarifLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
    `AddSarifLogFileContent()` | Adds content of a SARIF log file. | -[ESLint json formatter]: https://eslint.org/docs/user-guide/formatters/#json - -# Report creation +## Report creation | Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | |-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| @@ -63,9 +60,9 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.Reporting.`
    `ShouldReportIssuesToConsole` | `IssuesContext.Parameters.Reporting.`
    `ShouldReportIssuesToConsole` | `false` | Indicates whether issues should be reported to the console. | | `IssuesParameters.Reporting.`
    `ReportToConsoleSettings` | `IssuesContext.Parameters.Reporting.`
    `ReportToConsoleSettings` | | Settings for reporting issues to the console. | -[Template Gallery]: /docs/report-formats/generic/templates/ +[Template Gallery]: ../report-formats/generic/templates/index.md -# Build server integration +## Build server integration | Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | |-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------| @@ -74,7 +71,7 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.BuildServer.`
    `ShouldPublishSarifReport` | `IssuesContext.Parameters.BuildServer.`
    `ShouldPublishSarifReport` | `true` | Indicates whether report int SARIF format shoudl be published as artifact to the build system. | | `IssuesParameters.BuildServer.`
    `ShouldCreateSummaryIssuesReport` | `IssuesContext.Parameters.BuildServer.`
    `ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | -# Pull request integration +## Pull request integration | Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | |----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -86,5 +83,3 @@ By default [Cake.Git addin] will be used. | `IssuesParameters.PullRequestSystem.`
    `IssueFilters` | `IssuesContext.Parameters.PullRequestSystem.`
    `IssueFilters` | Empty | List of filter functions which should be applied before posting issues to pull requests. | | `IssuesParameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set if there are any issues found. | | `IssuesParameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `IssuesContext.Parameters.PullRequestSystem.`
    `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `true` | Indicates whether a separate status should be set for issues of every issue provider and run. | - -[Cake.Git addin]: https://cakebuild.net/extensions/cake-git/ diff --git a/docs/input/docs/recipe/demos.md b/docs/docs/documentation/recipe/demos.md similarity index 91% rename from docs/input/docs/recipe/demos.md rename to docs/docs/documentation/recipe/demos.md index b8cca3e9b..36fa3c149 100644 --- a/docs/input/docs/recipe/demos.md +++ b/docs/docs/documentation/recipe/demos.md @@ -1,7 +1,6 @@ --- -Order: 40 -Title: Demos -Description: Demo setups for Cake.Issues recipes. +title: Demos +description: Demo setups for Cake.Issues recipes. --- There are demo setups available for different combinations of build servers and repositories which you can fork and to which you can create pull requests diff --git a/docs/input/docs/recipe/overview.md b/docs/docs/documentation/recipe/overview.md similarity index 96% rename from docs/input/docs/recipe/overview.md rename to docs/docs/documentation/recipe/overview.md index b7b44b218..e6fcd8e92 100644 --- a/docs/input/docs/recipe/overview.md +++ b/docs/docs/documentation/recipe/overview.md @@ -1,8 +1,8 @@ --- -Order: 10 -Title: Overview -Description: Overview about Cake.Issues recipes. +title: Overview +description: Overview about Cake.Issues recipes. --- + Cake.Issues recipes provide build scripts, delivered as a NuGet package, which can be used inside your projects Cake build to add issue management. Integration of code analyzing and linting tools into a build pipeline often looks the similar, and differentiates mainly on the used linters, build and pull request systems. @@ -14,11 +14,11 @@ There are two flavors available: * [Cake.Issues.Recipe]: For [Cake .NET Tool], [Cake runner for .NET Framework] or [Cake runner for .NET Core] * [Cake.Frosting.Issues.Recipe]: For [Cake Frosting] -# Supported tools +## Supported tools See [supported tools] for a list of supported linters, build servers and pull request systems. -# Bundled addins +## Bundled addins Cake.Issues recipes will add the following addins to your build: @@ -46,8 +46,8 @@ Cake.Issues recipes will add the following addins to your build: [Cake runner for .NET Framework]: https://cakebuild.net/docs/running-builds/runners/cake-runner-for-dotnet-framework [Cake runner for .NET Core]: https://cakebuild.net/docs/running-builds/runners/cake-runner-for-dotnet-core [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting -[supported tools]: supported-tools -[Git repository information configuration]: /docs/recipe/configuration#git-repository-information +[supported tools]: supported-tools.md +[Git repository information configuration]: configuration.md#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/ diff --git a/docs/input/docs/recipe/supported-tools.md b/docs/docs/documentation/recipe/supported-tools.md similarity index 66% rename from docs/input/docs/recipe/supported-tools.md rename to docs/docs/documentation/recipe/supported-tools.md index e62805806..0b8a30fa7 100644 --- a/docs/input/docs/recipe/supported-tools.md +++ b/docs/docs/documentation/recipe/supported-tools.md @@ -1,12 +1,11 @@ --- -Order: 30 -Title: Supported tools -Description: Tools supported by Cake.Issues recipes. +title: Supported tools +description: Tools supported by Cake.Issues recipes. --- Cake.Issues recipes support reading issues from different tools and integrates with different build and pull request systems. -# Tools +## Tools Cake.Issues recipes support reading issues from output of the following tools: @@ -28,21 +27,21 @@ Cake.Issues recipes support reading issues from output of the following tools: [json formatter]: https://eslint.org/docs/user-guide/formatters/#json [SARIF]: https://sarifweb.azurewebsites.net/ -# Build systems +## Build systems Cake.Issues recipes integrates with the following build systems: -| Build System | Write issues to build server | Issues summary | Full issues report | -|--------------------------------|-----------------------------------------------------------------------------------|--------------------------------------------------------------------|--------------------------------------------------------------------| -| AppVeyor | | | | -| Azure Pipelines (Azure DevOps) | (Only first 10) | | | -| GitHub Actions | | | | +| Build System | Write issues to build server | Issues summary | Full issues report | +|--------------------------------|----------------------------------|--------------------|--------------------| +| AppVeyor | :material-check: | | :material-check: | +| Azure Pipelines (Azure DevOps) | :material-check: (Only first 10) | :material-check: | :material-check: | +| GitHub Actions | :material-check: | | | -# Pull request systems +## Pull request systems Cake.Issues recipes integrates with the following pull request systems: -| Pull Request System | Write issues to pull requests | Set pull request status | -|----------------------------|----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------| -| Azure Repos (Azure DevOps) | | | -| GitHub | (When build from GitHub Actions) | | +| Pull Request System | Write issues to pull requests | Set pull request status | +|----------------------------|---------------------------------------------------|-------------------------| +| Azure Repos (Azure DevOps) | :material-check: | :material-check: | +| GitHub | :material-check: (When build from GitHub Actions) | | diff --git a/docs/input/docs/recipe/tasks.md b/docs/docs/documentation/recipe/tasks.md similarity index 97% rename from docs/input/docs/recipe/tasks.md rename to docs/docs/documentation/recipe/tasks.md index 1af33410c..040353b1a 100644 --- a/docs/input/docs/recipe/tasks.md +++ b/docs/docs/documentation/recipe/tasks.md @@ -1,7 +1,6 @@ --- -Order: 60 -Title: Tasks -Description: Tasks provided by Cake.Issues recipes. +title: Tasks +description: Tasks provided by Cake.Issues recipes. --- Cake.Issues recipes provide the following tasks to your build script: diff --git a/docs/docs/documentation/recipe/usage/index.md b/docs/docs/documentation/recipe/usage/index.md new file mode 100644 index 000000000..ba4113ced --- /dev/null +++ b/docs/docs/documentation/recipe/usage/index.md @@ -0,0 +1,4 @@ +--- +title: Usage +description: How to use Cake.Issues recipes in your build script. +--- diff --git a/docs/input/docs/recipe/usage/using-cake-frosting-issues-recipe.md b/docs/docs/documentation/recipe/usage/using-cake-frosting-issues-recipe.md similarity index 84% rename from docs/input/docs/recipe/usage/using-cake-frosting-issues-recipe.md rename to docs/docs/documentation/recipe/usage/using-cake-frosting-issues-recipe.md index 7a3715520..78d88a529 100644 --- a/docs/input/docs/recipe/usage/using-cake-frosting-issues-recipe.md +++ b/docs/docs/documentation/recipe/usage/using-cake-frosting-issues-recipe.md @@ -1,17 +1,16 @@ --- -Order: 20 -Title: Using Cake.Frosting.Issues.Recipe -Description: Basic usage of Cake.Frosting.Issues.Recipe. +title: Using Cake.Frosting.Issues.Recipe +description: Basic usage of Cake.Frosting.Issues.Recipe. --- + The [Cake.Frosting.Issues.Recipe] package can be used to easily add issue management functionality to your Cake Frosting build. -:::{.alert .alert-info} -See [Setting Up A New Frosting Project] for instructions how to create a new Cake Frosting project. -::: +!!! info + See [Setting Up A New Frosting Project] for instructions how to create a new Cake Frosting project. [Setting Up A New Frosting Project]: https://cakebuild.net/docs/getting-started/setting-up-a-new-frosting-project -# Add Cake.Frosting.Issues.Recipe to your Cake Frosting build +## Add Cake.Frosting.Issues.Recipe to your Cake Frosting build To use [Cake.Frosting.Issues.Recipe] in your Cake Frosting build you need to first add the NuGet package in your `.csproj` file: @@ -19,11 +18,10 @@ To use [Cake.Frosting.Issues.Recipe] in your Cake Frosting build you need to fir ``` -:::{.alert .alert-warning} -Replace the version (`1.0.0`) with the version of Cake.Frosting.Issues.Recipe you want to use. -::: +!!! warning + Replace the version (`1.0.0`) with the version of Cake.Frosting.Issues.Recipe you want to use. -# Register Cake.Issues tasks +## Register Cake.Issues tasks To make Cake Issues tasks available to your Cake Frosting build you need to register them. @@ -54,7 +52,7 @@ public static class Program } ``` -# Create build context +## Create build context [Cake.Frosting.Issues.Recipe] provides a build context from which you need to inherit your custom build context. The build context contains configuration parameters, but also the state of the current running build, @@ -73,7 +71,7 @@ public class BuildContext : IssuesContext } ``` -# Passing issues to Cake.Frosting.Issues.Recipe +## Passing issues to Cake.Frosting.Issues.Recipe To make issues available to [Cake.Frosting.Issues.Recipe] you need pass the log files through the corresponding methods. The tasks need to also be a dependency of `ReadIssuesTask` provided by [Cake.Frosting.Issues.Recipe]. @@ -104,7 +102,7 @@ public class RunInspectCodeTask : FrostingTask See [configuration] for a full list of available configuration parameters. -# Calling issues tasks +## Calling issues tasks [Cake.Frosting.Issues.Recipe] will add a bunch of [tasks] to your build script. @@ -121,6 +119,6 @@ public class DefaultTask : FrostingTask } ``` -[Cake.Frosting.Issues.Recipe]: ../../recipe/ -[configuration]: ../../recipe/configuration -[tasks]: ../../recipe/tasks \ No newline at end of file +[Cake.Frosting.Issues.Recipe]: ../overview.md +[configuration]: ../configuration.md +[tasks]: ../tasks.md \ No newline at end of file diff --git a/docs/input/docs/recipe/usage/using-cake-issues-recipe.md b/docs/docs/documentation/recipe/usage/using-cake-issues-recipe.md similarity index 72% rename from docs/input/docs/recipe/usage/using-cake-issues-recipe.md rename to docs/docs/documentation/recipe/usage/using-cake-issues-recipe.md index 71cbc419a..abe51a886 100644 --- a/docs/input/docs/recipe/usage/using-cake-issues-recipe.md +++ b/docs/docs/documentation/recipe/usage/using-cake-issues-recipe.md @@ -1,11 +1,11 @@ --- -Order: 10 -Title: Using Cake.Issues.Recipe -Description: Basic usage of Cake.Issues.Recipe. +title: Using Cake.Issues.Recipe +description: Basic usage of Cake.Issues.Recipe. --- + The [Cake.Issues.Recipe] package can be used to easily add issue management functionality to your build script. -# Add Cake.Issues.Recipe to your build script +## Add Cake.Issues.Recipe to your build script To use Cake.Issues.Recipe in your build script you need to first load the NuGet package: @@ -13,14 +13,13 @@ To use Cake.Issues.Recipe in your build script you need to first load the NuGet #load nuget:package=Cake.Issues.Recipe ``` -:::{.alert .alert-warning} -Please note that you always should pin NuGet packages to a specific version to make sure your builds are deterministic and -won't break due to updates to Cake.Issues.Recipe. +!!! warning + Please note that you always should pin NuGet packages to a specific version to make sure your builds are deterministic and + won't break due to updates to Cake.Issues.Recipe. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -# Configuring Cake.Issues.Recipe +## Configuring Cake.Issues.Recipe To make issues available to Cake.Issues.Recipe you need to set the corresponding configuration parameters. @@ -41,7 +40,7 @@ Task("Configure-CakeIssuesRecipe") See [configuration] for a full list of available configuration parameters. -# Calling issues tasks +## Calling issues tasks Cake.Issues.Recipe will add a bunch of [tasks] to your build script. @@ -63,6 +62,6 @@ Task("Default") .IsDependentOn("Issues"); ``` -[Cake.Issues.Recipe]: ../../recipe/ -[configuration]: ../../recipe/configuration -[tasks]: ../../recipe/tasks \ No newline at end of file +[Cake.Issues.Recipe]: ../overview.md +[configuration]: ../configuration.md +[tasks]: ../tasks.md \ No newline at end of file diff --git a/docs/input/docs/report-formats/console/examples.md b/docs/docs/documentation/report-formats/console/examples.md similarity index 77% rename from docs/input/docs/report-formats/console/examples.md rename to docs/docs/documentation/report-formats/console/examples.md index ea9f76c5d..5089d4ba0 100644 --- a/docs/input/docs/report-formats/console/examples.md +++ b/docs/docs/documentation/report-formats/console/examples.md @@ -1,16 +1,15 @@ --- -Order: 30 -Title: Examples -Description: Examples for using the Cake.Issues.Reporting.Console addin. +title: Examples +description: Examples for using the Cake.Issues.Reporting.Console addin. --- + The following example will print issues logged as warnings by MsBuild to the console. -:::{.alert .alert-warning} -Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the packages. +!!! warning + Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the packages. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. ```csharp #tool "nuget:?package=MSBuild.Extension.Pack" diff --git a/docs/input/docs/report-formats/console/features.md b/docs/docs/documentation/report-formats/console/features.md similarity index 57% rename from docs/input/docs/report-formats/console/features.md rename to docs/docs/documentation/report-formats/console/features.md index 77b9ec143..45d0210ef 100644 --- a/docs/input/docs/report-formats/console/features.md +++ b/docs/docs/documentation/report-formats/console/features.md @@ -1,14 +1,16 @@ --- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.Reporting.Console addin. +title: Features +description: Features of the Cake.Issues.Reporting.Console addin. --- + The [Cake.Issues.Reporting.Console addin] provides the following features: * Prints issues containing line and column information. * Group issues by rule -* Reports: - * Number of issues by provider - * Number of issues by priority for every provider and run + +Reports: + +* Number of issues by provider +* Number of issues by priority for every provider and run [Cake.Issues.Reporting.Console addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Console diff --git a/docs/docs/documentation/report-formats/console/index.md b/docs/docs/documentation/report-formats/console/index.md new file mode 100644 index 000000000..6faf24b3e --- /dev/null +++ b/docs/docs/documentation/report-formats/console/index.md @@ -0,0 +1,7 @@ +--- +title: Console +description: Report format to print issues to the console. +--- + +Support for printing issues to the console is implemented in the +a [Cake.Issues.Reporting.Console addin](https://www.nuget.org/packages/Cake.Issues.Reporting.Console). diff --git a/docs/input/docs/report-formats/generic/examples/custom-template.md b/docs/docs/documentation/report-formats/generic/examples/custom-template.md similarity index 75% rename from docs/input/docs/report-formats/generic/examples/custom-template.md rename to docs/docs/documentation/report-formats/generic/examples/custom-template.md index 8f3bbf242..893d0b076 100644 --- a/docs/input/docs/report-formats/generic/examples/custom-template.md +++ b/docs/docs/documentation/report-formats/generic/examples/custom-template.md @@ -1,21 +1,19 @@ --- -Order: 20 -Title: Custom template -Description: Example how to create a report using a custom template +title: Custom template +description: Example how to create a report using a custom template --- -:::{.alert .alert-info} -If you create a universally usable custom template we're happy to package it with the addin. -To have it included in the addin please [create a pull request] with your contribution. -::: + +!!! info + If you create a universally usable custom template we're happy to package it with the addin. + To have it included in the addin please [create a pull request] with your contribution. The following example will create a HTML report for issues logged as warnings by MsBuild using a custom template. -:::{.alert .alert-warning} -Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the packages. +!!! warning + Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the packages. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. ```csharp #tool "nuget:?package=MSBuild.Extension.Pack" @@ -101,16 +99,14 @@ Task("Create-IssueReport").Does(() => The template retrieves an `IEnumerable` as model. -:::{.alert .alert-info} -In custom templates functionality from the following assemblies are available: - -* System.dll -* System.Core.dll -* netstandard.dll -* Cake.Core.dll -* Cake.Issues.dll -* Cake.Issues.Reporting.Generic.dll +!!! info + In custom templates functionality from the following assemblies are available: -::: + * System.dll + * System.Core.dll + * netstandard.dll + * Cake.Core.dll + * Cake.Issues.dll + * Cake.Issues.Reporting.Generic.dll [create a pull request]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/CONTRIBUTING.md diff --git a/docs/input/docs/report-formats/generic/examples/default-template.md b/docs/docs/documentation/report-formats/generic/examples/default-template.md similarity index 75% rename from docs/input/docs/report-formats/generic/examples/default-template.md rename to docs/docs/documentation/report-formats/generic/examples/default-template.md index 7da2601bb..1d51365f5 100644 --- a/docs/input/docs/report-formats/generic/examples/default-template.md +++ b/docs/docs/documentation/report-formats/generic/examples/default-template.md @@ -1,16 +1,15 @@ --- -Order: 10 -Title: Embedded default template -Description: Example how to create a report using an embedded default template. +title: Embedded default template +description: Example how to create a report using an embedded default template. --- + The following example will create a HTML report for issues logged as warnings by MsBuild. -:::{.alert .alert-warning} -Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the packages. +!!! warning + Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the packages. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. ```csharp #tool "nuget:?package=MSBuild.Extension.Pack" @@ -48,4 +47,4 @@ Task("Create-IssueReport").Does(() => repoRootFolder, @"c:\report.html"); }); -``` \ No newline at end of file +``` diff --git a/docs/input/docs/report-formats/generic/examples/index.cshtml b/docs/docs/documentation/report-formats/generic/examples/index.cshtml similarity index 100% rename from docs/input/docs/report-formats/generic/examples/index.cshtml rename to docs/docs/documentation/report-formats/generic/examples/index.cshtml diff --git a/docs/docs/documentation/report-formats/generic/features.md b/docs/docs/documentation/report-formats/generic/features.md new file mode 100644 index 000000000..a5c6c1cf3 --- /dev/null +++ b/docs/docs/documentation/report-formats/generic/features.md @@ -0,0 +1,16 @@ +--- +title: Features +description: Features of the Cake.Issues.Reporting.Generic addin. +--- + +The [Cake.Issues.Reporting.Generic addin](https://cakebuild.net/extensions/cake-issues-reporting-generic/){target="_blank"} +provides the following features: + +* Creates reports in any text based format like HTML or Markdown. +* Provides out of the box templates +* Possibility to use custom templates using Razor + +!!! info + See [Template Gallery] for a list of available out of the box and 3rd party templates. + +[Template Gallery]: templates/index.md diff --git a/docs/docs/documentation/report-formats/generic/index.md b/docs/docs/documentation/report-formats/generic/index.md new file mode 100644 index 000000000..0f41812d7 --- /dev/null +++ b/docs/docs/documentation/report-formats/generic/index.md @@ -0,0 +1,7 @@ +--- +title: Generic +description: Report format to create reports in any text based format (HTML, Markdown, ...). +--- + +Support for creating reports in any text based format like HTML or Markdown is implemented in the +[Cake.Issues.Reporting.Generic addin](https://www.nuget.org/packages/Cake.Issues.Reporting.Generic). diff --git a/docs/input/docs/report-formats/generic/templates/htmldatatable-demo-default.html b/docs/docs/documentation/report-formats/generic/templates/htmldatatable-demo-default.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldatatable-demo-default.html rename to docs/docs/documentation/report-formats/generic/templates/htmldatatable-demo-default.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldatatable.md b/docs/docs/documentation/report-formats/generic/templates/htmldatatable.md new file mode 100644 index 000000000..f64d900be --- /dev/null +++ b/docs/docs/documentation/report-formats/generic/templates/htmldatatable.md @@ -0,0 +1,53 @@ +--- +title: HTML Data Table +description: Template for a HTML report containing a rich data table view with sorting and search functionality. +--- + +Template for a HTML report containing a rich data table view with sorting and search functionality powered by +[Simple-DataTables](https://github.com/fiduswriter/Simple-DataTables){target="_blank"}. + +![HTML Data Table](htmldatatable01.png "HTML Data Table") + +## Features + +* Separate table for issues of each issue provider. +* Table with `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message`. +* Each column sortable by user. +* Paged table with possibility for user to change number of entries per page. +* Client-side full text search. +* No internet access required for displaying. + +## Requirements + +* Cake.Issues.Reporting.Generic 0.2.1 or higher + +## Usage + +To create a report using the HTML Data Table template you can use the +[GenericIssueReportTemplate.HtmlDataTable](https://cakebuild.net/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/62ADE81F){target="_blank"} +enum value: + +```csharp +CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDataTable), + @"c:\repo", + @"c:\report.html"); +``` + +## Options + +This template doesn't support any options. + +## Demos + +* [Default](htmldatatable-demo-default.html){target="_blank"} + +## Source Code + +!!! info + You can use the source code as a template for your [custom template]. + +Source code is available on [GitHub](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml){target="_blank"}. + +[custom template]: ../examples/custom-template.md diff --git a/docs/input/docs/report-formats/generic/templates/htmldatatable01.png b/docs/docs/documentation/report-formats/generic/templates/htmldatatable01.png similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldatatable01.png rename to docs/docs/documentation/report-formats/generic/templates/htmldatatable01.png diff --git a/docs/input/docs/report-formats/generic/templates/htmldiagnostic-demo-default.html b/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic-demo-default.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldiagnostic-demo-default.html rename to docs/docs/documentation/report-formats/generic/templates/htmldiagnostic-demo-default.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic.md b/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic.md new file mode 100644 index 000000000..d83278ba6 --- /dev/null +++ b/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic.md @@ -0,0 +1,48 @@ +--- +title: HTML Diagnostic +description: Template for a HTML report containing a list of all issues with all properties. +--- + +Template for a HTML report containing a list of all issues with all properties. + +![HTML Diagnostic](htmldiagnostic01.png "HTML Diagnostic") + +## Features + +* Unstyled table listing all properties of [IIssue](https://cakebuild.net/api/Cake.Issues/IIssue/){target="_blank"} +* No internet access required for displaying. + +## Requirements + +* No additional requirements. + +## Usage + +To create a report using the HTML diagnostic template you can use the +[GenericIssueReportTemplate.HtmlDiagnostic](https://cakebuild.net/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/4F88BD05){target="_blank"} +enum value: + +```csharp +CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), + @"c:\repo", + @"c:\report.html"); +``` + +## Options + +This template doesn't support any options. + +## Demos + +* [Default](htmldiagnostic-demo-default.html){target="_blank"} + +## Source Code + +!!! info + You can use the source code as a template for your [custom template]. + +Source code is available on [GitHub](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/Diagnostic.cshtml){target="_blank"}. + +[custom template]: ../examples/custom-template.md diff --git a/docs/input/docs/report-formats/generic/templates/htmldiagnostic01.png b/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic01.png similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldiagnostic01.png rename to docs/docs/documentation/report-formats/generic/templates/htmldiagnostic01.png diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-default.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-default.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-default.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-default.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid.md b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid.md new file mode 100644 index 000000000..21ff714e6 --- /dev/null +++ b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid.md @@ -0,0 +1,239 @@ +--- +title: HTML DevExtreme Data Grid +description: Template for a HTML report containing a rich data grid with sorting, filtering, grouping and search capabilities. +--- + +Template for a HTML report containing a rich data grid with sorting, filtering, grouping and search capabilities powered by [DevExtreme]. + +![HTML DevExtreme Data Grid](htmldxdatagrid01.png "HTML DevExtreme Data Grid") + +## Features + +* Table with `Provider`, `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message` by default. +* Support for grouping by multiple columns by user. +* Total number of issues by each group level. +* Each column sortable by user. +* Data can be filtered by any column by user. +* Paged view. +* Client-side full text search. +* Client-side export to Microsoft Excel or PDF. +* Fully customizable through [options](#options). + +## Requirements + +* Cake.Issues.Reporting.Generic 0.3.1 or higher + +## Usage + +To create a report using the HTML DevExtreme Data Grid template you can use the [GenericIssueReportTemplate.HtmlDxDataGrid] enum value: + +```csharp +CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDxDataGrid), + @"c:\repo", + @"c:\report.html"); +``` + +## Options + +See [HtmlDxDataGridOption] for a list of possible options. + +## Demos + +The following demo shows the template with its default options: + +* [Default](htmldxdatagrid-demo-default.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-default.cake){target="_blank"}) + +### Themes + +The template supports the teams defined in the [DevExtremeTheme] enumeration which can be set using the [HtmlDxDataGridOption.Theme]: + +```csharp +CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings.WithOption(HtmlDxDataGridOption.Theme, DevExtremeTheme.MaterialBlueLight)), + @"c:\repo", + @"c:\report.html"); +``` + +* [Light Theme](htmldxdatagrid-demo-theme-light.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-light.cake){target="_blank"}) +* [Dark Theme](htmldxdatagrid-demo-theme-dark.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-dark.cake){target="_blank"}) +* [Contrast Theme](htmldxdatagrid-demo-theme-contrast.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-contrast.cake){target="_blank"}) +* [Carmine Theme](htmldxdatagrid-demo-theme-carmine.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-carmine.cake){target="_blank"}) +* [Dark Moon Theme](htmldxdatagrid-demo-theme-darkmoon.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-darkmoon.cake){target="_blank"}) +* [Soft Blue Theme](htmldxdatagrid-demo-theme-softblue.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-softblue.cake){target="_blank"}) +* [Dark Violet Theme](htmldxdatagrid-demo-theme-darkviolet.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-darkviolet.cake){target="_blank"}) +* [Green Mist Theme](htmldxdatagrid-demo-theme-greenmist.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-greenmist.cake){target="_blank"}) +* [Light Compact Theme](htmldxdatagrid-demo-theme-lightcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-lightcompact.cake){target="_blank"}) +* [Dark Compact Theme](htmldxdatagrid-demo-theme-darkcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-darkcompact.cake){target="_blank"}) +* [Contrast Compact Theme](htmldxdatagrid-demo-theme-contrastcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-contrastcompact.cake){target="_blank"}) +* [Material Blue Light Theme](htmldxdatagrid-demo-theme-materialbluelight.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialbluelight.cake){target="_blank"}) +* [Material Lime Light Theme](htmldxdatagrid-demo-theme-materiallimelight.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materiallimelight.cake){target="_blank"}) +* [Material Orange Light Theme](htmldxdatagrid-demo-theme-materialorangelight.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialorangelight.cake){target="_blank"}) +* [Material Purple Light Theme](htmldxdatagrid-demo-theme-materialpurplelight.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialpurplelight.cake){target="_blank"}) +* [Material Teal Light Theme](htmldxdatagrid-demo-theme-materialteallight.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialteallight.cake){target="_blank"}) +* [Material Blue Dark Theme](htmldxdatagrid-demo-theme-materialbluedark.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialbluedark.cake){target="_blank"}) +* [Material Lime Dark Theme](htmldxdatagrid-demo-theme-materiallimedark.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materiallimedark.cake){target="_blank"}) +* [Material Orange Dark Theme](htmldxdatagrid-demo-theme-materialorangedark.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialorangedark.cake){target="_blank"}) +* [Material Purple Dark Theme](htmldxdatagrid-demo-theme-materialpurpledark.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialpurpledark.cake){target="_blank"}) +* [Material Teal Dark Theme](htmldxdatagrid-demo-theme-materialtealdark.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialtealdark.cake){target="_blank"}) +* [Material Blue Light Compact Theme](htmldxdatagrid-demo-theme-materialbluelightcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialbluelightcompact.cake){target="_blank"}) +* [Material Lime Light Compact Theme](htmldxdatagrid-demo-theme-materiallimelightcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materiallimelightcompact.cake){target="_blank"}) +* [Material Orange Light Compact Theme](htmldxdatagrid-demo-theme-materialorangelightcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialorangelightcompact.cake){target="_blank"}) +* [Material Purple Light Compact Theme](htmldxdatagrid-demo-theme-materialpurplelightcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialpurplelightcompact.cake){target="_blank"}) +* [Material Teal Light Compact Theme](htmldxdatagrid-demo-theme-materialteallightcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialteallightcompact.cake){target="_blank"}) +* [Material Blue Dark Compact Theme](htmldxdatagrid-demo-theme-materialbluedarkcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialbluedarkcompact.cake){target="_blank"}) +* [Material Lime Dark Compact Theme](htmldxdatagrid-demo-theme-materiallimedarkcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materiallimedarkcompact.cake){target="_blank"}) +* [Material Orange Dark Compact Theme](htmldxdatagrid-demo-theme-materialorangedarkcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialorangedarkcompact.cake){target="_blank"}) +* [Material Purple Dark Compact Theme](htmldxdatagrid-demo-theme-materialpurpledarkcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialpurpledarkcompact.cake){target="_blank"}) +* [Material Teal Dark Compact Theme](htmldxdatagrid-demo-theme-materialtealdarkcompact.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialtealdarkcompact.cake){target="_blank"}) + +### Column visibility + +Visible columns can be defined using the `ColumnNameVisible` option: + +```csharp +CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings.WithOption(HtmlDxDataGridOption.LineVisible, false)), + @"c:\repo", + @"c:\report.html"); +``` + +Additional columns can be added using the [HtmlDxDataGridOption.AdditionalColumns] option. + +* [Show and hide columns](htmldxdatagrid-demo-columnhiding.html) + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-hide-columns.cake)) +* [Add additional columns](htmldxdatagrid-demo-additionalcolumns.html) + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-additional-columns.cake)) + +### Sorting + +Sorted columns can be defined using the [HtmlDxDataGridOption.SortedColumns] and the +`ColumnNameSortOder` options: + +```csharp +CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption(HtmlDxDataGridOption.SortedColumns, new List { ReportColumn.RuleId }) + .WithOption(HtmlDxDataGridOption.RuleIdSortOder, ColumnSortOderDescending )), + @"c:\repo", + @"c:\report.html"); +``` + +* [Change sorting](htmldxdatagrid-demo-sorting.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-sorting.cake){target="_blank"}) + +### Grouping + +Grouping can be defined using the [HtmlDxDataGridOption.GroupedColumns] option: + +```csharp +CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings.WithOption(HtmlDxDataGridOption.GroupedColumns, new List { ReportColumn.RuleId })), + @"c:\repo", + @"c:\report.html"); +``` + +* [Change grouping](htmldxdatagrid-demo-grouping.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-grouping.cake){target="_blank"}) +* [Disable grouping](htmldxdatagrid-demo-disablegrouping.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-disable-grouping.cake){target="_blank"}) + +### Exporting + +Exporting can be enabled using the [HtmlDxDataGridOption.EnableExporting] option: + +```csharp +CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings.WithOption(HtmlDxDataGridOption.EnableExporting, true)), + @"c:\repo", + @"c:\report.html"); +``` + +* [Enable exporting](htmldxdatagrid-demo-enableexporting.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-enable-exporting.cake){target="_blank"}) +* [Microsoft Excel export (*.xlsx)](htmldxdatagrid-demo-exportformat-xlsx.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-exportformat-xlsx.cake){target="_blank"}) +* [PDF export (*.pdf)](htmldxdatagrid-demo-exportformat-pdf.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-exportformat-pdf.cake){target="_blank"}) +* [Custom export file name](htmldxdatagrid-demo-customexportfilename.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-custom-export-filename.cake){target="_blank"}) + +### Other features + +* [Change title](htmldxdatagrid-demo-changetitle.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-change-title.cake){target="_blank"}) +* [Disable header](htmldxdatagrid-demo-disableheader.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-disable-header.cake){target="_blank"}) +* [Disable filtering](htmldxdatagrid-demo-disablefiltering.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-disable-filtering.cake){target="_blank"}) +* [Disable searching](htmldxdatagrid-demo-disablesearching.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-disable-searching.cake){target="_blank"}) +* [Custom script location and version](htmldxdatagrid-demo-customscriptlocation.html){target="_blank"} + ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-custom-script-location.cake){target="_blank"}) + +## Source Code + +!!! info + You can use the source code as a template for your [custom template]. + +Source code is available on [GitHub]. + +[DevExtreme]: https://js.devexpress.com +[GenericIssueReportTemplate.HtmlDxDataGrid]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/0E9E9D94 +[HtmlDxDataGridOption]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/ +[DevExtremeTheme]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/DevExtremeTheme/ +[HtmlDxDataGridOption.Theme]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/EA83DCAB +[HtmlDxDataGridOption.AdditionalColumns]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/F9860912 +[HtmlDxDataGridOption.SortedColumns]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/D578E453 +[HtmlDxDataGridOption.GroupedColumns]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/0907599C +[HtmlDxDataGridOption.EnableExporting]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/1441E285 +[custom template]: ../examples/custom-template.md +[GitHub]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid01.png b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid01.png similarity index 100% rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid01.png rename to docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid01.png diff --git a/docs/docs/documentation/report-formats/generic/templates/index.md b/docs/docs/documentation/report-formats/generic/templates/index.md new file mode 100644 index 000000000..aaf0bc414 --- /dev/null +++ b/docs/docs/documentation/report-formats/generic/templates/index.md @@ -0,0 +1,4 @@ +--- +title: Template Gallery +description: Gallery of available out of the box and 3rd party templates. +--- diff --git a/docs/docs/documentation/report-formats/index.md b/docs/docs/documentation/report-formats/index.md new file mode 100644 index 000000000..c0287e92b --- /dev/null +++ b/docs/docs/documentation/report-formats/index.md @@ -0,0 +1,4 @@ +--- +title: Report Formats +description: Documentation of the different report format addins. +--- diff --git a/docs/input/docs/report-formats/sarif/examples.md b/docs/docs/documentation/report-formats/sarif/examples.md similarity index 75% rename from docs/input/docs/report-formats/sarif/examples.md rename to docs/docs/documentation/report-formats/sarif/examples.md index 31b231753..14524a177 100644 --- a/docs/input/docs/report-formats/sarif/examples.md +++ b/docs/docs/documentation/report-formats/sarif/examples.md @@ -1,16 +1,15 @@ --- -Order: 30 -Title: Examples -Description: Examples for using the Cake.Issues.Reporting.Sarif addin. +title: Examples +description: Examples for using the Cake.Issues.Reporting.Sarif addin. --- + The following example will create a SARIF report for issues logged as warnings by MsBuild. -:::{.alert .alert-warning} -Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the packages. +!!! warning + Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the packages. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. ```csharp #tool "nuget:?package=MSBuild.Extension.Pack" @@ -48,4 +47,4 @@ Task("Create-IssueReport").Does(() => repoRootFolder, @"c:\report.sarif"); }); -``` \ No newline at end of file +``` diff --git a/docs/docs/documentation/report-formats/sarif/features.md b/docs/docs/documentation/report-formats/sarif/features.md new file mode 100644 index 000000000..2e6759412 --- /dev/null +++ b/docs/docs/documentation/report-formats/sarif/features.md @@ -0,0 +1,19 @@ +--- +title: Features +description: Features of the Cake.Issues.Reporting.Sarif addin. +--- + +The [Cake.Issues.Reporting.Sarif addin] provides the following features: + +* Creates SARIF compatible files. + +Supports the following properties in the SARIF report: + +* RuleId +* Message +* Kind +* Level +* Location +* RuleUrl + +[Cake.Issues.Reporting.Sarif addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Sarif diff --git a/docs/docs/documentation/report-formats/sarif/index.md b/docs/docs/documentation/report-formats/sarif/index.md new file mode 100644 index 000000000..269ddee5b --- /dev/null +++ b/docs/docs/documentation/report-formats/sarif/index.md @@ -0,0 +1,7 @@ +--- +title: Sarif +description: Report format to create SARIF compatible reports. +--- + +Support for creating SARIF compatible reports is implemented in the +[Cake.Issues.Reporting.Sarif addin](https://www.nuget.org/packages/Cake.Issues.Reporting.Sarif). diff --git a/docs/input/docs/resources/blog-posts.md b/docs/docs/documentation/resources/blog-posts.md similarity index 57% rename from docs/input/docs/resources/blog-posts.md rename to docs/docs/documentation/resources/blog-posts.md index 935648bfa..8de6821f6 100644 --- a/docs/input/docs/resources/blog-posts.md +++ b/docs/docs/documentation/resources/blog-posts.md @@ -1,19 +1,17 @@ --- -Order: 10 -Title: Blog posts -Description: Blog posts about the Cake Issues addins. +title: Blog posts +description: Blog posts about the Cake Issues addins. --- -:::{.alert .alert-info} -If you have written about Cake Issues we would like to hear from you. -You can add it by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues.Website/tree/develop/input/docs/resources/blog-posts.md). -::: +!!! info + If you have written about Cake Issues we would like to hear from you. + You can add it by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues.Website/tree/develop/input/docs/resources/blog-posts.md). -# 2018 +## 2018 * [Cake.Issues - A suite of addins for issue handling in Cake](https://cakebuild.net/blog/2018/06/cake-issues) - Pascal Berger -# 2017 +## 2017 * [Finding typos with ReSharper Command Line Tools, ReSpeller and Cake](https://tpodolak.com/blog/2017/10/27/finding-typos-resharper-command-line-tools-respeller-cake/) - Tom Podolak * [Cake build issue reporting with PRCA](https://blog.ostebaronen.dk/2017/08/cake-build-issue-reporting-with-prca.html) - Tomasz Cielecki \ No newline at end of file diff --git a/docs/input/docs/resources/presentations.md b/docs/docs/documentation/resources/presentations.md similarity index 55% rename from docs/input/docs/resources/presentations.md rename to docs/docs/documentation/resources/presentations.md index 173ecd1fa..a1f8259dc 100644 --- a/docs/input/docs/resources/presentations.md +++ b/docs/docs/documentation/resources/presentations.md @@ -1,18 +1,16 @@ --- -Order: 20 -Title: Presentations -Description: Presentations about the Cake Issues addins. +title: Presentations +description: Presentations about the Cake Issues addins. --- -:::{.alert .alert-info} -If you have done a presentation about Cake Issues we would like to hear from you. -You can add it by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues.Website/tree/develop/input/docs/resources/presentations.md). -::: +!!! info + If you have done a presentation about Cake Issues we would like to hear from you. + You can add it by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues.Website/tree/develop/input/docs/resources/presentations.md). -# 2019 +## 2019 * Continuous Code Inspection using Cake - .NET User Group Basel: [Video](https://www.youtube.com/watch?v=tZ6hdBrj81s) [Slides](https://gitpitch.com/pascalberger/Cake.Issues-Presentation/20190212-dotnet-usergroup-basel#/) - Pascal Berger -# 2018 +## 2018 * [Ensuring quality in your DevOps pipelines using Cake - Azure DevOps Saturday Gothenburg](https://gitpitch.com/pascalberger/Cake.Issues-Presentation/20180929-azure-devops-saturday-gothenburg) - Pascal Berger \ No newline at end of file diff --git a/docs/input/docs/usage/creating-issues/creating-issues.md b/docs/docs/documentation/usage/creating-issues/creating-issues.md similarity index 66% rename from docs/input/docs/usage/creating-issues/creating-issues.md rename to docs/docs/documentation/usage/creating-issues/creating-issues.md index a959e1d3b..86010308d 100644 --- a/docs/input/docs/usage/creating-issues/creating-issues.md +++ b/docs/docs/documentation/usage/creating-issues/creating-issues.md @@ -1,8 +1,8 @@ --- -Order: 10 -Title: Creating issues -Description: Usage instructions how to create issues. +title: Creating issues +description: Usage instructions how to create issues. --- + The `Cake.Issues` addin can be used to create issues directly in the build script. This issues can for example be used to create reports. @@ -12,12 +12,11 @@ To create issues you need to import the following core addin: #addin "Cake.Issues" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. In the following task a new warning for the myfile.txt file on line 42 is created: @@ -37,4 +36,4 @@ Task("Create-Issue").Does(() => Information("Issue created with message: {0}", issues.MessageText); }); -``` \ No newline at end of file +``` diff --git a/docs/input/docs/usage/creating-reports/creating-reports.md b/docs/docs/documentation/usage/creating-reports/creating-reports.md similarity index 69% rename from docs/input/docs/usage/creating-reports/creating-reports.md rename to docs/docs/documentation/usage/creating-reports/creating-reports.md index e093dc134..7aa1c8aea 100644 --- a/docs/input/docs/usage/creating-reports/creating-reports.md +++ b/docs/docs/documentation/usage/creating-reports/creating-reports.md @@ -1,8 +1,8 @@ --- -Order: 10 -Title: Creating reports -Description: Usage instructions how to create reports. +title: Creating reports +description: Usage instructions how to create reports. --- + To create report for issues you need to import the following core addins: ```csharp @@ -19,12 +19,11 @@ and generic report format is imported: #addin "Cake.Issues.Reporting.Generic" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. Finally you can define a task where you call the reporting addin with the desired issue provider and report format: @@ -40,4 +39,4 @@ Task("Create-Report").Does(() => repoRootFolder, @"c:\report.html"); }); -``` \ No newline at end of file +``` diff --git a/docs/docs/documentation/usage/creating-reports/index.md b/docs/docs/documentation/usage/creating-reports/index.md new file mode 100644 index 000000000..d54f26e7e --- /dev/null +++ b/docs/docs/documentation/usage/creating-reports/index.md @@ -0,0 +1,6 @@ +--- +title: Creating Reports +description: How to create reports using Cake.Issues.Reporting. +--- + +For report format specific examples see [Report Format Examples](../../report-formats/index.md). diff --git a/docs/docs/documentation/usage/index.md b/docs/docs/documentation/usage/index.md new file mode 100644 index 000000000..bd8e97953 --- /dev/null +++ b/docs/docs/documentation/usage/index.md @@ -0,0 +1,6 @@ +--- +title: Usage +description: How to obtain, configure, and use Cake.Issues. +--- + +How to obtain, configure, and use Cake.Issues. diff --git a/docs/input/docs/usage/reading-issues/file-linking.md b/docs/docs/documentation/usage/reading-issues/file-linking.md similarity index 90% rename from docs/input/docs/usage/reading-issues/file-linking.md rename to docs/docs/documentation/usage/reading-issues/file-linking.md index 0870ee7b9..1798021e0 100644 --- a/docs/input/docs/usage/reading-issues/file-linking.md +++ b/docs/docs/documentation/usage/reading-issues/file-linking.md @@ -1,8 +1,8 @@ --- -Order: 30 -Title: File linking -Description: Example how to define file link settings. +title: File linking +description: Example how to define file link settings. --- + File link settings can be defined while reading issues and are passed through the `IIssue.FileLink` property to reporting formats, pull request systems and build server implementations: diff --git a/docs/docs/documentation/usage/reading-issues/index.md b/docs/docs/documentation/usage/reading-issues/index.md new file mode 100644 index 000000000..56444a43a --- /dev/null +++ b/docs/docs/documentation/usage/reading-issues/index.md @@ -0,0 +1,6 @@ +--- +title: Reading Issues +description: How to read issues using Cake.Issues. +--- + +For issue provider specific examples see [Issue Provider Examples](../../issue-providers/index.md). diff --git a/docs/input/docs/usage/reading-issues/reading-issues.md b/docs/docs/documentation/usage/reading-issues/reading-issues.md similarity index 68% rename from docs/input/docs/usage/reading-issues/reading-issues.md rename to docs/docs/documentation/usage/reading-issues/reading-issues.md index ab3ad10ea..a14250a9f 100644 --- a/docs/input/docs/usage/reading-issues/reading-issues.md +++ b/docs/docs/documentation/usage/reading-issues/reading-issues.md @@ -1,8 +1,8 @@ --- -Order: 10 -Title: Reading issues -Description: Usage instructions how to read issues. +title: Reading issues +description: Usage instructions how to read issues. --- + The `Cake.Issues` addin can be used to aggregate issues from different sources. This can for example be useful to break builds based on the reported issues. @@ -21,16 +21,15 @@ and from JetBrains InspectCode are imported: #addin "Cake.Issues.InspectCode" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. Finally you can define a task where you call the core addin with the desired issue providers. The following example reads issues reported as MsBuild warnings by the `XmlFileLogger` -class from [MSBuild Extension Pack] and issues reported by JetBrains InspectCode: +class from [MSBuild Extension Pack](http://www.msbuildextensionpack.com/){target="_blank"} and issues reported by JetBrains InspectCode: ```csharp Task("Read-Issues").Does(() => @@ -50,5 +49,3 @@ Task("Read-Issues").Does(() => Information("{0} issues are found.", issues.Count()); }); ``` - -[MSBuild Extension Pack]: http://www.msbuildextensionpack.com/ \ No newline at end of file diff --git a/docs/input/docs/usage/reading-issues/run-information.md b/docs/docs/documentation/usage/reading-issues/run-information.md similarity index 92% rename from docs/input/docs/usage/reading-issues/run-information.md rename to docs/docs/documentation/usage/reading-issues/run-information.md index 9af71d1a1..7535768f4 100644 --- a/docs/input/docs/usage/reading-issues/run-information.md +++ b/docs/docs/documentation/usage/reading-issues/run-information.md @@ -1,8 +1,8 @@ --- -Order: 20 -Title: Additional run information -Description: Example how to add run specific information. +title: Additional run information +description: Example how to add run specific information. --- + If a build script needs to parse multiple log files from the same tool, e.g. because multiple MsBuild solutions were built, this can be done by calling the issue provider multiple times. If the results are read into the same list and shown on the same report, diff --git a/docs/docs/documentation/usage/recipe/index.md b/docs/docs/documentation/usage/recipe/index.md new file mode 100644 index 000000000..df434914f --- /dev/null +++ b/docs/docs/documentation/usage/recipe/index.md @@ -0,0 +1,8 @@ +--- +title: Recipe +description: How to use the pre-made recipe script. +--- + +Examples how to use Cake.Issues recipes can be found under [Recipe Usage]. + +[Recipe Usage]: ../../recipe/usage/index.md diff --git a/docs/input/docs/usage/reporting-issues-to-pull-requests/custom-issue-filter.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md similarity index 56% rename from docs/input/docs/usage/reporting-issues-to-pull-requests/custom-issue-filter.md rename to docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md index f734b0d67..b17c27373 100644 --- a/docs/input/docs/usage/reporting-issues-to-pull-requests/custom-issue-filter.md +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md @@ -1,26 +1,24 @@ --- -Order: 20 -Title: Custom issue filter -Description: Usage instructions how to apply custom filters to issues. +title: Custom issue filter +description: Usage instructions how to apply custom filters to issues. --- + You can define custom filters which are applied to issues before they are posted as comments to pull requests. -:::{.alert .alert-info} -You can use a custom filter to only have issues introduced with the current code posted to the pull request. +!!! info + You can use a custom filter to only have issues introduced with the current code posted to the pull request. -For this you need to store your log files as artifacts on your build system, then you can define a custom filter -which retrieves the logs from the previous build, parses them using the appropriate issue provider and filters -out any issues which were already existing in the previous build. -::: + For this you need to store your log files as artifacts on your build system, then you can define a custom filter + which retrieves the logs from the previous build, parses them using the appropriate issue provider and filters + out any issues which were already existing in the previous build. The following example will filter out all issues from the rule `CA1000` from being posted to the pull request. -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. ```csharp #addin "Cake.Issues" @@ -50,4 +48,4 @@ Task("ReportIssuesToPullRequest").Does(() => AzureDevOpsAuthenticationNtlm()), settings)); }); -``` \ No newline at end of file +``` diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/index.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/index.md new file mode 100644 index 000000000..53a49e221 --- /dev/null +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/index.md @@ -0,0 +1,6 @@ +--- +title: Reporting Issues To Pull Requests +description: How to report issues to pull requests using Cake.Issues.PullRequests. +--- + +For pull request system specific examples see [Pull Request System Examples](../../pull-request-systems/index.md) diff --git a/docs/input/docs/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md similarity index 71% rename from docs/input/docs/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md rename to docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md index 8026224da..edc3f4a2c 100644 --- a/docs/input/docs/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md @@ -1,8 +1,8 @@ --- -Order: 10 -Title: Report issues to pull requests -Description: Usage instructions how to report issues to pull requests. +title: Report issues to pull requests +description: Usage instructions how to report issues to pull requests. --- + To use report issues to pull requests you need to import the following core addins: ```csharp @@ -19,12 +19,11 @@ and support for Azure DevOps pull requests is imported: #addin "Cake.Issues.PullRequests.AzureDevOps" ``` -:::{.alert .alert-warning} -Please note that you always should pin addins to a specific version to make sure your builds are deterministic and -won't break due to updates to one of the addins. +!!! warning + Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. -See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. -::: + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. Finally you can define a task where you call the core addin with the desired issue provider and pull request system: @@ -42,4 +41,4 @@ Task("ReportIssuesToPullRequest").Does(() => AzureDevOpsAuthenticationNtlm()), repoRootFolder); }); -``` \ No newline at end of file +``` diff --git a/docs/docs/index.md b/docs/docs/index.md new file mode 100644 index 000000000..aed741635 --- /dev/null +++ b/docs/docs/index.md @@ -0,0 +1,75 @@ +--- +hide: + - navigation + - toc +layout: default +search: + exclude: true +title: Home +--- + +
+ +- :material-scale-balance:{ .lg .middle } __Open-Source__ + + --- + + Cake Issues is free to use, improve, contribute and distribute. + Source code is available on [GitHub](https://github.com/cake-contrib/Cake.Issues){target="_blank"} under MIT license. + + [:octicons-arrow-right-24: Source code & license](https://github.com/cake-contrib/Cake.Issues){target="_blank"} + +- :material-globe-model:{ .lg .middle } __Rich ecosystem__ + + --- + + Unlike other Cake addins, Cake Issues consists of over 15 different addins, + working together and providing you with over 75 [aliases](https://cakebuild.net/extensions/cake-issues/){target="_blank"} which you can use in your Cake + build scripts to work with issues. + + [:octicons-arrow-right-24: Reference](https://cakebuild.net/extensions/cake-issues/){target="_blank"} + +- :material-wrench:{ .lg .middle } __Supports your tooling__ + + --- + + Read issues from different analyzers, linters or tools. + The growing range of out-of-the-box supported tools include + [MSBuild](documentation/issue-providers/msbuild/index.md), + [JetBrains InspectCode (ReSharper)](documentation/issue-providers/inspectcode/index.md), + [ESLint](documentation/issue-providers/eslint/index.md), + [Markdownlint](documentation/issue-providers/markdownlint/index.md), + [DocFX](documentation/issue-providers/docfx/index.md). + + [:octicons-arrow-right-24: Issue Providers](documentation/issue-providers/index.md) + +- :material-monitor-dashboard:{ .lg .middle } __Reporting__ + + --- + + Cake Issues provides aliases to create reports from the parsed issues. + There's a [generic reporting addin](documentation/report-formats/generic/index.md) which allows to create reports using out-of-the-box or custom Razor templates + and [an addin for creating SARIF compatible files](documentation/report-formats/sarif/index.md). + + [:octicons-arrow-right-24: Report Formats](documentation/report-formats/index.md) + +- :material-eye:{ .lg .middle } __Pull request and build workflow integration__ + + --- + + Issues found on a feature branch can be reported to pull requests or build runs giving developers instant and direct feedback. + There's out of the box support for [Azure DevOps](documentation/pull-request-systems/azure-devops/index.md), + [GitHub Actions](documentation/pull-request-systems/github-actions/index.md) and + [AppVeyor](documentation/pull-request-systems/appveyor/index.md). + + [:octicons-arrow-right-24: Pull Request Systems](documentation/pull-request-systems/index.md) + +- :material-table:{ .lg .middle } __Extensible__ + + --- + + The addins are built in a modular architecture and are providing different [extension points](documentation/extending/index.md) + which allow you to easily enhance it for supporting additional analyzers, linters, report formats and pull request systems. + + [:octicons-arrow-right-24: Documentation](documentation/extending/index.md) +
\ No newline at end of file diff --git a/docs/input/_AddinsLayout.cshtml b/docs/input/_AddinsLayout.cshtml deleted file mode 100644 index 901dae8a9..000000000 --- a/docs/input/_AddinsLayout.cshtml +++ /dev/null @@ -1,20 +0,0 @@ -@{ - Layout = "/_Master.cshtml"; - - ViewData[Keys.Title] = "Addins - " + Model.String(Keys.GroupKey); -} - -@section Infobar { -} - -@section Sidebar { - @Html.Partial("_AddinsSidebar") -} - -
-

@Model.String(Keys.GroupKey)

-
-
- @Html.Partial("_AddinsList", Model.DocumentList(Keys.GroupDocuments)) - @RenderBody() -
\ No newline at end of file diff --git a/docs/input/_AddinsList.cshtml b/docs/input/_AddinsList.cshtml deleted file mode 100644 index 4c72b1297..000000000 --- a/docs/input/_AddinsList.cshtml +++ /dev/null @@ -1,57 +0,0 @@ -@model IEnumerable - -

- This page contains core and third party addins for Cake Issues. - If you want to file an issue for any addin listed here, contact the author of the addin. -

-

- See Reference for a list of aliases provided by these addins. -

-

- If you're an addin author and want your addin listed here, follow the instructions here. -

- -@foreach(IDocument addin in Model) -{ - string description = @addin.String("Description"); - string author = @addin.String("Author"); - string nuget = @addin.String("NuGet"); - string repositoryOwner = @addin.String("repositoryOwner"); - string repositoryName = @addin.String("repositoryName"); - string documentationLink = @addin.String("documentationLink"); - - -
-
-

@addin.String("Name")

-
-
- @if(!string.IsNullOrEmpty(description)) - { -

@description

- } -
- @if(!string.IsNullOrEmpty(author)) - { -
Author
-
@author
- } - @if(!string.IsNullOrEmpty(nuget)) - { -
NuGet
-
@nuget
- } - @if(!string.IsNullOrEmpty(repositoryOwner) && !string.IsNullOrEmpty(repositoryName)) - { -
Repository
-
@(repositoryOwner)/@(repositoryName)
- } - @if(!string.IsNullOrEmpty(documentationLink)) - { -
Documentation
-
Documentation
- } -
-
-
-} \ No newline at end of file diff --git a/docs/input/_AddinsSidebar.cshtml b/docs/input/_AddinsSidebar.cshtml deleted file mode 100644 index 73ce52ff5..000000000 --- a/docs/input/_AddinsSidebar.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -
  • Categories
  • -@foreach(IDocument group in Documents.FromPipeline("AddinCategories")) -{ - string selectedClass = group.String(Keys.GroupKey) == Model.String(Keys.GroupKey) ? "selected" : null; -
  • @group.String(Keys.GroupKey)
  • -} \ No newline at end of file diff --git a/docs/input/_BlogPost.cshtml b/docs/input/_BlogPost.cshtml deleted file mode 100644 index 0a7e7f25c..000000000 --- a/docs/input/_BlogPost.cshtml +++ /dev/null @@ -1,21 +0,0 @@ -@{ - Layout = "/_BlogLayout.cshtml"; -} - -@Html.Partial("_BlogPostDetails") - -@RenderBody() - -
    - -@{ - string sharingLink = Uri.EscapeDataString(Context.GetLink(Model)); - string sharingTitle = Uri.EscapeDataString(Model.String(Keys.Title)); -} - \ No newline at end of file diff --git a/docs/input/_Bottom.cshtml b/docs/input/_Bottom.cshtml deleted file mode 100644 index 884975f85..000000000 --- a/docs/input/_Bottom.cshtml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/docs/input/_Footer.cshtml b/docs/input/_Footer.cshtml deleted file mode 100644 index e4c9d0da1..000000000 --- a/docs/input/_Footer.cshtml +++ /dev/null @@ -1,5 +0,0 @@ -

    - Copyright © BBT Software AG and contributors. -
    - Website generated by Wyam -

    diff --git a/docs/input/_Head.cshtml b/docs/input/_Head.cshtml deleted file mode 100644 index c91ece074..000000000 --- a/docs/input/_Head.cshtml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/input/_Navbar.cshtml b/docs/input/_Navbar.cshtml deleted file mode 100644 index afa651f5e..000000000 --- a/docs/input/_Navbar.cshtml +++ /dev/null @@ -1,19 +0,0 @@ - - -@{ - List> pages = new List> - { - Tuple.Create("News", Context.GetLink("news")), - Tuple.Create("Documentation", Context.GetLink("docs")), - Tuple.Create("Reference", Context.GetLink("dsl")), - Tuple.Create("Addins", Context.GetLink("addins")), - Tuple.Create("API", Context.GetLink("api/Cake.Issues")) - }; - foreach(Tuple p in pages) - { - string active = Context.GetLink(Document).StartsWith(p.Item2) ? "active" : null; -
  • @Html.Raw(p.Item1)
  • - } -} \ No newline at end of file diff --git a/docs/input/addins/index.cshtml b/docs/input/addins/index.cshtml deleted file mode 100644 index 3ef866c99..000000000 --- a/docs/input/addins/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: Addins -NoSidebar: false ---- -@section Infobar { -} - -@section Sidebar { - @Html.Partial("_AddinsSidebar") -} - -@Html.Partial("_AddinsList", Documents["Addins"]) diff --git a/docs/input/assets/css/fonts/glyphicons-halflings-regular.eot b/docs/input/assets/css/fonts/glyphicons-halflings-regular.eot deleted file mode 100644 index b93a4953fff68df523aa7656497ee339d6026d64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20127 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/input/assets/css/fonts/glyphicons-halflings-regular.ttf b/docs/input/assets/css/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 1413fc609ab6f21774de0cb7e01360095584f65b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45404 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 G`u_lkUM?>H diff --git a/docs/input/assets/css/fonts/glyphicons-halflings-regular.woff2 b/docs/input/assets/css/fonts/glyphicons-halflings-regular.woff2 deleted file mode 100644 index 64539b54c3751a6d9adb44c8e3a45ba5a73b77f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18028 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 diff --git a/docs/input/assets/css/override.less b/docs/input/assets/css/override.less deleted file mode 100644 index 52e639459..000000000 --- a/docs/input/assets/css/override.less +++ /dev/null @@ -1,174 +0,0 @@ - -/* Front page */ -.logo-small { - color: #4EABDD; - font-size: 50px; -} - -/* Control the margin for bootstrap alert boxes */ -.alert > p { - margin-top: 0px; -} - -/* Search box */ -#navbar-collapse, #navbar-collapse nav { - width: 100%; -} - -.navbar-nav { - float: none; -} - -.navbar-right { - margin-right: 15px; -} - -@media (max-width: 767px) { - .navbar-right { - margin-left: 0px; - } -} - -/* News share icons */ - -ul.share-buttons { - list-style: none; - padding: 0; -} - -ul.share-buttons li { - display: inline; -} - -ul.share-buttons .sr-only { - position: absolute; - clip: rect(1px 1px 1px 1px); - clip: rect(1px, 1px, 1px, 1px); - padding: 0; - border: 0; - height: 1px; - width: 1px; - overflow: hidden; -} - -ul.share-buttons img { - width: 32px; -} - -/* Control the look and feel of the copy box applied to code sections */ -.btn-copy[disabled] .clippy { - opacity: .3; -} -pre .btn-copy { - -webkit-transition: opacity 0.3s ease-in-out; - -o-transition: opacity 0.3s ease-in-out; - transition: opacity 0.3s ease-in-out; - opacity: 0; - padding: 2px 6px; - float: right; -} -pre:hover .btn-copy { - opacity: 1; -} -.tooltipped { - position: relative -} -.tooltipped:after { - position: absolute; - z-index: 1000000; - display: none; - padding: 5px 8px; - font: normal normal 11px/1.5 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol"; - color: #fff; - text-align: center; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-wrap: break-word; - white-space: pre; - pointer-events: none; - content: attr(aria-label); - background: rgba(0, 0, 0, 0.8); - border-radius: 3px; - -webkit-font-smoothing: subpixel-antialiased -} -.tooltipped:before { - position: absolute; - z-index: 1000001; - display: none; - width: 0; - height: 0; - color: rgba(0, 0, 0, 0.8); - pointer-events: none; - content: ""; - border: 5px solid transparent -} -.tooltipped:hover:before, .tooltipped:hover:after, .tooltipped:active:before, .tooltipped:active:after, .tooltipped:focus:before, .tooltipped:focus:after { - display: inline-block; - text-decoration: none -} -.tooltipped-s:after, .tooltipped-se:after, .tooltipped-sw:after { - top: 100%; - right: 50%; - margin-top: 5px -} -.tooltipped-s:before, .tooltipped-se:before, .tooltipped-sw:before { - top: auto; - right: 50%; - bottom: -5px; - margin-right: -5px; - border-bottom-color: rgba(0, 0, 0, 0.8) -} - -@font-family-sans-serif: "Roboto", Helvetica, Arial, sans-serif; - -/* For Gitter and GitHub */ -.bottom-footer { - margin-bottom: 40px !important; // Make room for Gitter and GitHub buttons -} - -.gitter-open-chat-button { - background-color: #3c8dbc; - font-family: @font-family-sans-serif; - letter-spacing: normal; - right: 90px; -} - -.gitter-open-chat-button:focus, .gitter-open-chat-button:hover, -.github-button:focus, .github-button:hover, -{ - background-color: #4EABDD; - color: #fff; -} - -.gitter-chat-embed { - top: 49px; - border-top: 1px solid #000; - z-index: 10000; -} - -.github-button { - z-index: 100; - position: fixed; - bottom: 0px; - right: 240px; - padding: 1em 3em; - background-color: #367fa9; - border: 0; - border-top-left-radius: 0.5em; - border-top-right-radius: 0.5em; - font-family: sans-serif; - font-size: 9pt; - text-transform: uppercase; - text-align: center; - text-decoration: none; - cursor: pointer; - cursor: hand; - -webkit-transition: all .3s ease; - transition: all .3s ease; - color: #fff; - a, a:active, a:hover, a:focus { - color: #fff; - } -} \ No newline at end of file diff --git a/docs/input/assets/images/clippy.svg b/docs/input/assets/images/clippy.svg deleted file mode 100644 index a06cc7ab3..000000000 --- a/docs/input/assets/images/clippy.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/docs/input/assets/images/envelope.svg b/docs/input/assets/images/envelope.svg deleted file mode 100644 index a2557ef20..000000000 --- a/docs/input/assets/images/envelope.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/input/assets/images/facebook.svg b/docs/input/assets/images/facebook.svg deleted file mode 100644 index 6e23a941a..000000000 --- a/docs/input/assets/images/facebook.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/input/assets/images/linkedin.svg b/docs/input/assets/images/linkedin.svg deleted file mode 100644 index 69d8e9731..000000000 --- a/docs/input/assets/images/linkedin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/input/assets/images/reddit.svg b/docs/input/assets/images/reddit.svg deleted file mode 100644 index 262d0a7f8..000000000 --- a/docs/input/assets/images/reddit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/input/assets/images/twitter.svg b/docs/input/assets/images/twitter.svg deleted file mode 100644 index f0ed9c5fc..000000000 --- a/docs/input/assets/images/twitter.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/input/assets/js/anchor.min.js b/docs/input/assets/js/anchor.min.js deleted file mode 100644 index 44431c2ca..000000000 --- a/docs/input/assets/js/anchor.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * AnchorJS - v3.2.2 - 2016-10-05 - * https://github.com/bryanbraun/anchorjs - * Copyright (c) 2016 Bryan Braun; Licensed MIT - */ -!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";function A(A){function e(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.class=A.hasOwnProperty("class")?A.class:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64}function t(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}function n(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style"),t=" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",n=" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",i=' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',o=" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }";e.className="anchorjs",e.appendChild(document.createTextNode("")),A=document.head.querySelector('[rel="stylesheet"], style'),void 0===A?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(t,e.sheet.cssRules.length),e.sheet.insertRule(n,e.sheet.cssRules.length),e.sheet.insertRule(o,e.sheet.cssRules.length),e.sheet.insertRule(i,e.sheet.cssRules.length)}}this.options=A||{},this.elements=[],e(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var i,o,s,c,r,a,h,l,u,d,f,p,w=[];if(e(this.options),p=this.options.visible,"touch"===p&&(p=this.isTouchDevice()?"always":"hover"),A||(A="h1, h2, h3, h4, h5, h6"),i=t(A),0===i.length)return!1;for(n(),o=document.querySelectorAll("[id]"),s=[].map.call(o,function(A){return A.id}),r=0;r-1,t=A.lastChild&&(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return e||t||!1}}return A}); \ No newline at end of file diff --git a/docs/input/assets/js/clipboard.min.js b/docs/input/assets/js/clipboard.min.js deleted file mode 100644 index 1d7c5d5d7..000000000 --- a/docs/input/assets/js/clipboard.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * clipboard.js v1.5.16 - * https://zenorocha.github.io/clipboard.js - * - * Licensed MIT © Zeno Rocha - */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e,t,n;return function e(t,n,i){function o(a,c){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!c&&l)return l(a,!0);if(r)return r(a,!0);var s=new Error("Cannot find module '"+a+"'");throw s.code="MODULE_NOT_FOUND",s}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return o(n?n:e)},u,u.exports,e,t,n,i)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function e(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function e(){var t=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px";var i=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.addEventListener("focus",window.scrollTo(0,i)),this.fakeElem.style.top=i+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,o.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function e(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function e(){this.selectedText=(0,o.default)(this.target),this.copyText()}},{key:"copyText",value:function e(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function e(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function e(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function e(){this.removeFake()}},{key:"action",set:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function e(){return this._action}},{key:"target",set:function e(t){if(void 0!==t){if(!t||"object"!==("undefined"==typeof t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function e(){return this._target}}]),e}();e.exports=c})},{select:5}],8:[function(t,n,i){!function(o,r){if("function"==typeof e&&e.amd)e(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if("undefined"!=typeof i)r(n,t("./clipboard-action"),t("tiny-emitter"),t("good-listener"));else{var a={exports:{}};r(a,o.clipboardAction,o.tinyEmitter,o.goodListener),o.clipboard=a.exports}}(this,function(e,t,n,i){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}var s=o(t),u=o(n),f=o(i),d=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText}},{key:"listenClick",value:function e(t){var n=this;this.listener=(0,f.default)(t,"click",function(e){return n.onClick(e)})}},{key:"onClick",value:function e(t){var n=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(n),target:this.target(n),text:this.text(n),trigger:n,emitter:this})}},{key:"defaultAction",value:function e(t){return l("action",t)}},{key:"defaultTarget",value:function e(t){var n=l("target",t);if(n)return document.querySelector(n)}},{key:"defaultText",value:function e(t){return l("text",t)}},{key:"destroy",value:function e(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}]),t}(u.default);e.exports=h})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)}); \ No newline at end of file diff --git a/docs/input/docs/contributing/index.cshtml b/docs/input/docs/contributing/index.cshtml deleted file mode 100644 index 813f06d0d..000000000 --- a/docs/input/docs/contributing/index.cshtml +++ /dev/null @@ -1,6 +0,0 @@ ---- -Order: 100 -Description: Instructions how to contribute to the Cake Issues Addin. ---- - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/contributing/issues.cshtml b/docs/input/docs/contributing/issues.cshtml deleted file mode 100644 index 49870f8ed..000000000 --- a/docs/input/docs/contributing/issues.cshtml +++ /dev/null @@ -1,19 +0,0 @@ ---- -Order: 20 -Title: Open issues -Description: Open issues where we are looking for help ---- -@foreach(var group in Documents["Issues"].GroupBy(d => d.String("Repository")).OrderBy(g => g.Key)){ -

    @Html.Raw(group.Key)

    - @foreach (var issuesEntry in group.OrderBy(x => x.Get("Number"))){ - - } -} \ No newline at end of file diff --git a/docs/input/docs/extending/fundamentals.md b/docs/input/docs/extending/fundamentals.md deleted file mode 100644 index d5eb30a0b..000000000 --- a/docs/input/docs/extending/fundamentals.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -Order: 10 -Title: Fundamentals -Description: Fundamentals to extend Cake Issues ecosystem. ---- - -You can easily extend Cake Issues with additional [Issue Provider], [Report Formats] and [Pull Request System integrations]. - -[Issue Provider]: issue-provider -[Report Formats]: report-format -[Pull Request System integrations]: pull-request-system \ No newline at end of file diff --git a/docs/input/docs/extending/index.cshtml b/docs/input/docs/extending/index.cshtml deleted file mode 100644 index a5469c139..000000000 --- a/docs/input/docs/extending/index.cshtml +++ /dev/null @@ -1,6 +0,0 @@ ---- -Order: 80 -Description: Instructions how to add support for additional analyzers, report formats and pull request system to the Cake Issues Addin. ---- - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/extending/issue-provider/categories.md b/docs/input/docs/extending/issue-provider/categories.md deleted file mode 100644 index f6d781972..000000000 --- a/docs/input/docs/extending/issue-provider/categories.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -Order: 30 -Title: Alias categories -Description: Instructions how to set the alias category. ---- -Issue provider aliases should use the [IssuesAliasConstants.MainCakeAliasCategory] and -[IssuesAliasConstants.IssueProviderCakeAliasCategory] constants for defining their category: - -```csharp -[CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)] -public static class MyIssueProviderAliases -{ - [CakeMethodAlias] - [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)] - public static IIssueProvider MyIssueProvider( - this ICakeContext context) - { - } -} -``` - -[IssuesAliasConstants.MainCakeAliasCategory]: ../../../api/Cake.Issues/IssuesAliasConstants/41CCADF8 -[IssuesAliasConstants.IssueProviderCakeAliasCategory]: ../../../api/Cake.Issues/IssuesAliasConstants/D265B28D \ No newline at end of file diff --git a/docs/input/docs/extending/issue-provider/index.cshtml b/docs/input/docs/extending/issue-provider/index.cshtml deleted file mode 100644 index 3ed5de7aa..000000000 --- a/docs/input/docs/extending/issue-provider/index.cshtml +++ /dev/null @@ -1,6 +0,0 @@ ---- -Order: 10 -Description: Instructions how to add support for additional analyzers to the Cake Issues addin. ---- - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/extending/issue-provider/overview.md b/docs/input/docs/extending/issue-provider/overview.md deleted file mode 100644 index 44066737b..000000000 --- a/docs/input/docs/extending/issue-provider/overview.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -Order: 20 -Title: Overview -Description: Overview how to implement support for an analyzer or linter. ---- -Issue providers need to implement the [IIssueProvider] interface. - -# Base classes - -For simplifying implementation there exists base classes from which concrete implementation can be inherited. - -| Base Class | Use case | Tutorial | -|---------------------------------|------------------------------------------------------------------------|-------------------------------------| -| [BaseIssueProvider] | Base class for a simple issue provider implementation. | [Simple provider] | -| [BaseConfigurableIssueProvider] | Base class for a issue provider with issue provider specific settings. | [Provider settings] | -| [BaseMultiFormatIssueProvider] | Base class for issue providers supporting multiple log formats. | [Multiple log file formats support] | - -[IIssueProvider]: ../../../api/Cake.Issues/IIssueProvider/ -[BaseIssueProvider]: ../../../api/Cake.Issues/BaseIssueProvider -[BaseConfigurableIssueProvider]: ../../../api/Cake.Issues/BaseConfigurableIssueProvider_1 -[BaseMultiFormatIssueProvider]: ../../../api/Cake.Issues/BaseMultiFormatIssueProvider_2 -[Simple provider]: tutorials/simple -[Provider settings]: tutorials/settings -[Multiple log file formats support]: tutorials/logfile-format \ No newline at end of file diff --git a/docs/input/docs/extending/issue-provider/tutorials/index.cshtml b/docs/input/docs/extending/issue-provider/tutorials/index.cshtml deleted file mode 100644 index 4dd2b0f56..000000000 --- a/docs/input/docs/extending/issue-provider/tutorials/index.cshtml +++ /dev/null @@ -1,6 +0,0 @@ ---- -Order: 40 -Description: Tutorials how to implement issue providers. ---- - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/extending/pull-request-system/index.cshtml b/docs/input/docs/extending/pull-request-system/index.cshtml deleted file mode 100644 index e05db6073..000000000 --- a/docs/input/docs/extending/pull-request-system/index.cshtml +++ /dev/null @@ -1,6 +0,0 @@ ---- -Order: 30 -Description: Instructions how to add support for additional pull request system to the Cake Issues addin. ---- - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/extending/pull-request-system/overview.md b/docs/input/docs/extending/pull-request-system/overview.md deleted file mode 100644 index 3fbf0a88e..000000000 --- a/docs/input/docs/extending/pull-request-system/overview.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -Order: 20 -Title: Overview -Description: Overview how to implement support for a pull request system. ---- -Pull Request Systems need to implement the [IPullRequestSystem] interface. - -# BaseClasses - -For simplifying implementation there exists base classes from which concrete implementation can be inherited. -[BasePullRequestSystem] is the main base class with the required functionality for a pull request system implementation. -Additionally there exists several classes which can be implemented to support additional optional capabilities -in a pull request system implementation. - -| Base Class | Use case | Tutorial | -|------------------------------------------|--------------------------------------------------------------------------------------------------------|-------------------------------------| -| [BasePullRequestSystem] | Base class for all pull request system implementations. | | -| [BaseCheckingCommitIdCapability] | Base class for capability to post issues only if pull request is for a specific commit. | | -| [BaseDiscussionThreadsCapability] | Base class for capability to read, resolve and reopen discussion threads. | | -| [BaseFilteringByModifiedFilesCapability] | Base class for capability to filter issues to only those affecting files modified in the pull request. | | - -[IPullRequestSystem]: ../../../api/Cake.Issues.PullRequests/IPullRequestSystem -[BasePullRequestSystem]: ../../../api/Cake.Issues.PullRequests/BasePullRequestSystem -[BaseCheckingCommitIdCapability]: ../../../api/Cake.Issues.PullRequests/BaseCheckingCommitIdCapability_1 -[BaseDiscussionThreadsCapability]: ../../../api/Cake.Issues.PullRequests/BaseDiscussionThreadsCapability_1 -[BaseFilteringByModifiedFilesCapability]: ../../../api/Cake.Issues.PullRequests/BaseFilteringByModifiedFilesCapability_1 \ No newline at end of file diff --git a/docs/input/docs/extending/report-format/categories.md b/docs/input/docs/extending/report-format/categories.md deleted file mode 100644 index fd9b0a477..000000000 --- a/docs/input/docs/extending/report-format/categories.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -Order: 30 -Title: Alias categories -Description: Instructions how to set the alias category. ---- -Report format aliases should use the [IssuesAliasConstants.MainCakeAliasCategory] and -[ReportingAliasConstants.ReportingFormatCakeAliasCategory] constants for defining their category: - -```csharp -[CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)] -public static class MyReportFormatAliases -{ - [CakeMethodAlias] - [CakeAliasCategory(ReportingAliasConstants.ReportingFormatCakeAliasCategory)] - public static IIssueReportFormat MyReportFormat( - this ICakeContext context) - { - } -} -``` - -[IssuesAliasConstants.MainCakeAliasCategory]: ../../../api/Cake.Issues/IssuesAliasConstants/41CCADF8 -[ReportingAliasConstants.ReportingFormatCakeAliasCategory]: ../../../api/Cake.Issues.Reporting/ReportingAliasConstants/979CDCAF \ No newline at end of file diff --git a/docs/input/docs/extending/report-format/index.cshtml b/docs/input/docs/extending/report-format/index.cshtml deleted file mode 100644 index 06f0e9dda..000000000 --- a/docs/input/docs/extending/report-format/index.cshtml +++ /dev/null @@ -1,6 +0,0 @@ ---- -Order: 20 -Description: Instructions how to additional report formats to the Cake Issues addin. ---- - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/extending/report-format/overview.md b/docs/input/docs/extending/report-format/overview.md deleted file mode 100644 index 179d63030..000000000 --- a/docs/input/docs/extending/report-format/overview.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -Order: 20 -Title: Overview -Description: Overview how to implement support for a report output format. ---- -Report formats need to implement the [IIssueReportFormat] interface. -For simplifying implementation there exists an abstract [IssueReportFormat] base class from which concrete implementation can be inherited. - -[IIssueReportFormat]: ../../../api/Cake.Issues.Reporting/IIssueReportFormat/ -[IssueReportFormat]: ../../../api/Cake.Issues.Reporting/IssueReportFormat/ \ No newline at end of file diff --git a/docs/input/docs/extending/testing.md b/docs/input/docs/extending/testing.md deleted file mode 100644 index 9d96b697f..000000000 --- a/docs/input/docs/extending/testing.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -Order: 40 -Title: Testing -Description: Instructions how to write test cases for Cake Issues addins. ---- -The `Cake.Issues.Testing` provides different helper classes for writing test cases -for issue provider, report format or pull request system addins. - -See [API] for a list of available classes. - -[API]: ../../api/Cake.Issues.Testing/ \ No newline at end of file diff --git a/docs/input/docs/fundamentals/index.cshtml b/docs/input/docs/fundamentals/index.cshtml deleted file mode 100644 index 2d505966a..000000000 --- a/docs/input/docs/fundamentals/index.cshtml +++ /dev/null @@ -1,6 +0,0 @@ ---- -Order: 20 -Description: Basic concepts of the Cake Issues Addin. ---- - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/index.cshtml b/docs/input/docs/index.cshtml deleted file mode 100644 index a76a27890..000000000 --- a/docs/input/docs/index.cshtml +++ /dev/null @@ -1,20 +0,0 @@ ---- -Title: Documentation ---- - -
    -

    - We gladly accept your contributions. If there is something that you would like to add then you can edit the content directly on GitHub. -

    -
    - -@foreach(IDocument child in Model.DocumentList(Keys.Children).OrderBy(x => x.Get(DocsKeys.Order, 1000))) -{ -

    @(child.String(Keys.Title))

    - if(child.ContainsKey(DocsKeys.Description)) - { -

    @Html.Raw(child.String(DocsKeys.Description))

    - } - - @Html.Partial("_ChildPages", child) -} diff --git a/docs/input/docs/issue-providers/docfx/features.md b/docs/input/docs/issue-providers/docfx/features.md deleted file mode 100644 index 64cd24977..000000000 --- a/docs/input/docs/issue-providers/docfx/features.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.DocFx addin. ---- -The [Cake.Issues.DocFx addin] provides the following features. - -# Basic features - -* Reads warnings from [DocFx] log files. - - :::{.alert .alert-info} - [DocFx] can be run with [Cake.DocFx] addin. - ::: - -# Supported IIssue properties - -| | Property | Remarks | -|--------------------------------------------------------------------|-----------------------------------|---------------------------------| -| | `IIssue.ProviderType` | | -| | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| | `IIssue.AffectedFileRelativePath` | | -| | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| | `IIssue.Column` | | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| | `IIssue.Priority` | | -| | `IIssue.PriorityName` | | -| | `IIssue.Rule` | | -| | `IIssue.RuleUrl` | | - -[Cake.Issues.DocFx addin]: https://www.nuget.org/packages/Cake.Issues.DocFx -[DocFx]: https://dotnet.github.io/docfx/ -[Cake.DocFx]: https://www.nuget.org/packages/Cake.DocFx -[IssuePriority.Warning]: ../../../api/Cake.Issues/IssuePriority/7A0CE07F diff --git a/docs/input/docs/issue-providers/docfx/index.cshtml b/docs/input/docs/issue-providers/docfx/index.cshtml deleted file mode 100644 index 4ac9d00d7..000000000 --- a/docs/input/docs/issue-providers/docfx/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: DocFx -Description: Issue provider which allows you to read warnings logged by DocFx. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - Support for reading warnings reported by DocFx - is implemented in the Cake.Issues.DocFx addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/docfx/requirements.md b/docs/input/docs/issue-providers/docfx/requirements.md deleted file mode 100644 index 576c77bd7..000000000 --- a/docs/input/docs/issue-providers/docfx/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.DocFx addin. ---- -The requirements for using the [Cake.Issues.DocFx addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.DocFx addin]: https://www.nuget.org/packages/Cake.Issues.DocFx -[release notes]: release-notes diff --git a/docs/input/docs/issue-providers/eslint/features.md b/docs/input/docs/issue-providers/eslint/features.md deleted file mode 100644 index bef51cbc9..000000000 --- a/docs/input/docs/issue-providers/eslint/features.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.EsLint addin. ---- -The [Cake.Issues.EsLint addin] provides the following features. - -# Basic features - -* Reads issues reported by ESLint. -* Provides URLs for all issues. -* Support for custom URL resolving using the [EsLintAddRuleUrlResolver] alias. - -# Supported log file formats - -* [EsLintJsonFormat] alias for reading issues from log files created by [ESLint json formatter]. - -# Supported IIssue properties - -| | Property | Remarks | -|--------------------------------------------------------------------|-----------------------------------|---------------------------------| -| | `IIssue.ProviderType` | | -| | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| | `IIssue.AffectedFileRelativePath` | | -| | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| | `IIssue.Column` | | -| | `IIssue.EndColumn` | | -| | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| | `IIssue.Priority` | | -| | `IIssue.PriorityName` | | -| | `IIssue.Rule` | | -| | `IIssue.RuleUrl` | Support for custom rules can be added through a custom [EsLintAddRuleUrlResolver] | - -[Cake.Issues.EsLint addin]: https://www.nuget.org/packages/Cake.Issues.EsLint -[ESLint json formatter]: https://eslint.org/docs/user-guide/formatters/#json -[EsLintAddRuleUrlResolver]: ../../../api/Cake.Issues.EsLint/EsLintIssuesAliases/D64301E6 -[EsLintJsonFormat]: ../../../api/Cake.Issues.EsLint/EsLintIssuesAliases/230C6E27 diff --git a/docs/input/docs/issue-providers/eslint/index.cshtml b/docs/input/docs/issue-providers/eslint/index.cshtml deleted file mode 100644 index 67d797242..000000000 --- a/docs/input/docs/issue-providers/eslint/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: ESLint -Description: Issue provider which allows you to read issues logged by ESLint. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - Support for reading issues reported by ESLint - is implemented in the Cake.Issues.EsLint addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/eslint/requirements.md b/docs/input/docs/issue-providers/eslint/requirements.md deleted file mode 100644 index dbca0cec9..000000000 --- a/docs/input/docs/issue-providers/eslint/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.EsLint addin. ---- -The requirements for using the [Cake.Issues.EsLint addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.EsLint addin]: https://www.nuget.org/packages/Cake.Issues.EsLint -[release notes]: release-notes diff --git a/docs/input/docs/issue-providers/gitrepository/features.md b/docs/input/docs/issue-providers/gitrepository/features.md deleted file mode 100644 index 55dbdfcc4..000000000 --- a/docs/input/docs/issue-providers/gitrepository/features.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.GitRepository addin. ---- -The [Cake.Issues.GitRepository addin] provides the following features. - -# Basic features - -* Checks path length of files. See [FilePathTooLong] for details. -* Checks if binary files are tracked by Git LFS. See [BinaryFileNotTrackedByLfs] for details. - -# Supported IIssue properties - -| | Property | Remarks | -|--------------------------------------------------------------------|-----------------------------------|---------------------------------| -| | `IIssue.ProviderType` | | -| | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| | `IIssue.AffectedFileRelativePath` | | -| | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| | `IIssue.Column` | | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| | `IIssue.Priority` | | -| | `IIssue.PriorityName` | | -| | `IIssue.Rule` | | -| | `IIssue.RuleUrl` | | - -[Cake.Issues.GitRepository addin]: https://www.nuget.org/packages/Cake.Issues.GitRepository -[FilePathTooLong]: rules/FilePathTooLong -[BinaryFileNotTrackedByLfs]: rules/BinaryFileNotTrackedByLfs diff --git a/docs/input/docs/issue-providers/gitrepository/index.cshtml b/docs/input/docs/issue-providers/gitrepository/index.cshtml deleted file mode 100644 index 35d944fbd..000000000 --- a/docs/input/docs/issue-providers/gitrepository/index.cshtml +++ /dev/null @@ -1,11 +0,0 @@ ---- -Title: Git Repository -Description: Issue provider which allows you to analyzing Git repositories and create issues resulting from it. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - Support for analyzing Git repositories is implemented in the Cake.Issues.GitRepository addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/gitrepository/requirements.md b/docs/input/docs/issue-providers/gitrepository/requirements.md deleted file mode 100644 index e491db400..000000000 --- a/docs/input/docs/issue-providers/gitrepository/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.GitRepository addin. ---- -The requirements for using the [Cake.Issues.GitRepository addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.GitRepository addin]: https://www.nuget.org/packages/Cake.Issues.GitRepository -[release notes]: release-notes diff --git a/docs/input/docs/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md b/docs/input/docs/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md deleted file mode 100644 index ccf4197bb..000000000 --- a/docs/input/docs/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -Title: BinaryFileNotTrackedByLfs -Description: A binary file is not tracked by Git LFS. ---- - - - - - -## Cause - -A binary file in the repository is not tracked by [Git Large File System]. - -## Rule description - -By its nature Git repositories cannot handle binary files well and will keep a full copy of that file in the repository every time a change to that file is committed. -Considering that you always clone the full history of a repository, and not only the latest version, using binary files in a repository considerably slow downs the operation. -[Git Large File System] replaces large files with small text pointers inside the Git repository, while storing the file contents on a remote server. - -:::{.alert .alert-info} -The rule assumes that all files, which are not text files are binary files. -This also includes for example empty files. -::: - -## How to fix violations - -Track the file with [Git Large File System]. - -[Git Large File System]: https://git-lfs.github.com/ diff --git a/docs/input/docs/issue-providers/gitrepository/rules/index.cshtml b/docs/input/docs/issue-providers/gitrepository/rules/index.cshtml deleted file mode 100644 index 31e0d52d1..000000000 --- a/docs/input/docs/issue-providers/gitrepository/rules/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Title: Rules -Description: Rules of the Cake.Issues.GitRepository provider. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/index.cshtml b/docs/input/docs/issue-providers/index.cshtml deleted file mode 100644 index f1b8a0c4c..000000000 --- a/docs/input/docs/issue-providers/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Order: 50 -Description: Documentation of the different issue provider addins. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/inspectcode/features.md b/docs/input/docs/issue-providers/inspectcode/features.md deleted file mode 100644 index 93462f82d..000000000 --- a/docs/input/docs/issue-providers/inspectcode/features.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.InspectCode addin. ---- -The [Cake.Issues.InspectCode addin] provides the following features: - -# Basic features - -* Reads warnings from [JetBrains InsepectCode] log files. -* Provides URLs for issues containing a Wiki URL. - -# Supported IIssue properties - -| | Property | Remarks | -|--------------------------------------------------------------------|-----------------------------------|----------------------------------| -| | `IIssue.ProviderType` | | -| | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| | `IIssue.AffectedFileRelativePath` | | -| | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| | `IIssue.Column` | | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| | `IIssue.Priority` | | -| | `IIssue.PriorityName` | | -| | `IIssue.Rule` | | -| | `IIssue.RuleUrl` | For issues containing a Wiki Url | - -[JetBrains InsepectCode]: https://www.jetbrains.com/help/resharper/2017.1/InspectCode.html -[Cake.Issues.InspectCode addin]: https://www.nuget.org/packages/Cake.Issues.InspectCode diff --git a/docs/input/docs/issue-providers/inspectcode/index.cshtml b/docs/input/docs/issue-providers/inspectcode/index.cshtml deleted file mode 100644 index 4f18b059f..000000000 --- a/docs/input/docs/issue-providers/inspectcode/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: InspectCode -Description: Issue provider which allows you to read issues logged by JetBrains Inspect Code. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - Support for reading issues reported by JetBrains Inspect Code - is implemented in the Cake.Issues.InspectCode addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/inspectcode/requirements.md b/docs/input/docs/issue-providers/inspectcode/requirements.md deleted file mode 100644 index 097fe05e6..000000000 --- a/docs/input/docs/issue-providers/inspectcode/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.Inspectcode addin. ---- -The requirements for using the [Cake.Issues.InspectCode addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.InspectCode addin]: https://www.nuget.org/packages/Cake.Issues.InspectCode -[release notes]: release-notes diff --git a/docs/input/docs/issue-providers/markdownlint/features.md b/docs/input/docs/issue-providers/markdownlint/features.md deleted file mode 100644 index 9b6d2d63b..000000000 --- a/docs/input/docs/issue-providers/markdownlint/features.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.Markdownlint addin. ---- -The [Cake.Issues.Markdownlint addin] provides the following features. - -# Basic features - -* Reads warnings from [Markdownlint] logfiles. -* Provides URLs for all issues. -* Support for custom URL resolving using the [MarkdownlintAddRuleUrlResolver] alias (except for [MarkdownlintCliJsonLogFileFormat]). - -# Supported log file formats - -* [MarkdownlintLogFileFormat] alias for reading issues from [Markdownlint] output generated with `options.resultVersion` set to 1. -* [MarkdownlintCliLogFileFormat] alias for reading issues from [markdownlint-cli] log files. -* [MarkdownlintCliJsonLogFileFormat] alias for reading issues from [markdownlint-cli] log files created with the `--json` parameter. - - :::{.alert .alert-info} - [markdownlint-cli] can be run with the [Cake.Markdownlint] addin. - ::: - -# Supported IIssue properties - -| | Property | Remarks | -|--------------------------------------------------------------------|-----------------------------------|-----------------------------------------| -| | `IIssue.ProviderType` | | -| | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| | `IIssue.AffectedFileRelativePath` | | -| | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| | `IIssue.Column` | Only for [MarkdownlintCliLogFileFormat] | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| | `IIssue.Priority` | Always [IssuePriority.Warning] | -| | `IIssue.PriorityName` | Always `Warning` | -| | `IIssue.Rule` | | -| | `IIssue.RuleUrl` | Support for custom rules can be added through a custom [MarkdownlintAddRuleUrlResolver] except for [MarkdownlintCliJsonLogFileFormat] | - -[Cake.Issues.Markdownlint addin]: https://www.nuget.org/packages/Cake.Issues.Markdownlint -[Markdownlint]: https://github.com/DavidAnson/markdownlint -[markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli -[Cake.Markdownlint]: https://www.nuget.org/packages/Cake.Markdownlint/ -[MarkdownlintAddRuleUrlResolver]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/2EE35F55 -[MarkdownlintLogFileFormat]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/EBFF674A -[MarkdownlintCliLogFileFormat]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E -[MarkdownlintCliJsonLogFileFormat]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F -[IssuePriority.Warning]: ../../../api/Cake.Issues/IssuePriority/7A0CE07F diff --git a/docs/input/docs/issue-providers/markdownlint/index.cshtml b/docs/input/docs/issue-providers/markdownlint/index.cshtml deleted file mode 100644 index ab68430a4..000000000 --- a/docs/input/docs/issue-providers/markdownlint/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: markdownlint -Description: Issue provider which allows you to read issues logged by markdownlint. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - Support for reading issues reported by markdownlint - is implemented in the Cake.Issues.Markdownlint addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/markdownlint/requirements.md b/docs/input/docs/issue-providers/markdownlint/requirements.md deleted file mode 100644 index e7d7f9a35..000000000 --- a/docs/input/docs/issue-providers/markdownlint/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.Markdownlint addin. ---- -The requirements for using the [Cake.Issues.Markdownlint addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.Markdownlint addin]: https://www.nuget.org/packages/Cake.Issues.Markdownlint -[release notes]: release-notes diff --git a/docs/input/docs/issue-providers/msbuild/features.md b/docs/input/docs/issue-providers/msbuild/features.md deleted file mode 100644 index 8f92f5fbc..000000000 --- a/docs/input/docs/issue-providers/msbuild/features.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.MsBuild addin. ---- -The [Cake.Issues.MsBuild addin] provides the following features. - -# Basic features - -* Reads errors and warnings from MSBuild log files. -* Provides URLs for all code analysis (`CA*`) and StyleCop (`SA*`) warnings. -* Support for custom URL resolving using the [MsBuildAddRuleUrlResolver] alias. - -# Supported log file formats - -* [MsBuildBinaryLogFileFormat] alias for reading issues from binary log files. -* [MsBuildXmlFileLoggerFormat] alias for reading issues from log files created by [MSBuild Extension Pack XmlFileLogger]. - -# Supported IIssue properties - -| | Property | Remarks | -|--------------------------------------------------------------------|-----------------------------------|---------------------------------------| -| | `IIssue.ProviderType` | | -| | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| | `IIssue.AffectedFileRelativePath` | | -| | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| | `IIssue.Column` | Only for [MsBuildXmlFileLoggerFormat] | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| | `IIssue.Priority` | | -| | `IIssue.PriorityName` | | -| | `IIssue.Rule` | | -| | `IIssue.RuleUrl` | For code analysis (`CA*`) and StyleCop (`SA*`) warnings. Support for additional rules can be added through a custom [MsBuildAddRuleUrlResolver] | - -[Cake.Issues.MsBuild addin]: https://www.nuget.org/packages/Cake.Issues.MsBuild -[MSBuild Extension Pack XmlFileLogger]: https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs -[MsBuildAddRuleUrlResolver]: ../../../api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487 -[MsBuildBinaryLogFileFormat]: ../../../api/Cake.Issues.MsBuild/MsBuildIssuesAliases/AD50C7E1 -[MsBuildXmlFileLoggerFormat]: ../../../api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E -[IssuePriority.Warning]: ../../../api/Cake.Issues/IssuePriority/7A0CE07F diff --git a/docs/input/docs/issue-providers/msbuild/index.cshtml b/docs/input/docs/issue-providers/msbuild/index.cshtml deleted file mode 100644 index 394da8734..000000000 --- a/docs/input/docs/issue-providers/msbuild/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: MsBuild -Description: Issue provider which allows you to read warnings logged by MsBuild. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - Support for reading warnings reported by MsBuild is implemented in the - Cake.Issues.MsBuild addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/msbuild/requirements.md b/docs/input/docs/issue-providers/msbuild/requirements.md deleted file mode 100644 index bc25ea62c..000000000 --- a/docs/input/docs/issue-providers/msbuild/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.MsBuild addin. ---- -The requirements for using the [Cake.Issues.MsBuild addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.MsBuild addin]: https://www.nuget.org/packages/Cake.Issues.MsBuild -[release notes]: release-notes diff --git a/docs/input/docs/issue-providers/terraform/features.md b/docs/input/docs/issue-providers/terraform/features.md deleted file mode 100644 index dbb414f25..000000000 --- a/docs/input/docs/issue-providers/terraform/features.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.Terraform addin. ---- -The [Cake.Issues.Terraform addin] provides the following features: - -# Basic features - -* Reads warnings from [Terraform validate command]. - -# Supported IIssue properties - -| | Property | Remarks | -|--------------------------------------------------------------------|-----------------------------------|----------------------------------| -| | `IIssue.ProviderType` | | -| | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| | `IIssue.AffectedFileRelativePath` | | -| | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| | `IIssue.Column` | | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| | `IIssue.Priority` | | -| | `IIssue.PriorityName` | | -| | `IIssue.Rule` | | -| | `IIssue.RuleUrl` | | - -[Terraform validate command]: https://www.terraform.io/docs/cli/commands/validate.html -[Cake.Issues.Terraform addin]: https://cakebuild.net/extensions/cake-issues-terraform/ diff --git a/docs/input/docs/issue-providers/terraform/index.cshtml b/docs/input/docs/issue-providers/terraform/index.cshtml deleted file mode 100644 index 184598ebb..000000000 --- a/docs/input/docs/issue-providers/terraform/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: Terraform -Description: Issue provider which allows you to read issues from Terraform validate command. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - Support for reading issues reported by Terraform validate command - is implemented in the Cake.Issues.Terraform addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/terraform/requirements.md b/docs/input/docs/issue-providers/terraform/requirements.md deleted file mode 100644 index 4b7a408f3..000000000 --- a/docs/input/docs/issue-providers/terraform/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.Terraform addin. ---- -The requirements for using the [Cake.Issues.Terraform addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.Terraform addin]: https://cakebuild.net/extensions/cake-issues-terraform/ -[release notes]: release-notes diff --git a/docs/input/docs/overview/index.cshtml b/docs/input/docs/overview/index.cshtml deleted file mode 100644 index 67ee8bb24..000000000 --- a/docs/input/docs/overview/index.cshtml +++ /dev/null @@ -1,6 +0,0 @@ ---- -Order: 10 -Description: Overview about features and requirements of the Cake Issues Addin. ---- - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/overview/release-notes/Cake.Issues.PullRequests.md b/docs/input/docs/overview/release-notes/Cake.Issues.PullRequests.md deleted file mode 100644 index 0fe9da522..000000000 --- a/docs/input/docs/overview/release-notes/Cake.Issues.PullRequests.md +++ /dev/null @@ -1,930 +0,0 @@ ---- -Title: Cake.Issues.PullRequests Release Notes -Description: Release notes for Cake.Issues.PullRequests ---- -

    -

    -

    -Starting with Cake.Issues 1.0, release notes for Cake.Issues.PullRequests will be listed with Cake.Issues Release Notes. -The release notes on this page are only for versions of Cake.Issues.PullRequests prior to 1.0. -

    -
    -

    - -## 0.9.1 (October 08, 2020) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/15?closed=1) closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.9.x -- Targeting .NET Standard 2.0 - -__Bug__ - -- [__#173__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/173) Setting a ProviderLimit to zero will ignore the limit instead of posting 0 items - - -## 0.9.0 (August 22, 2020) - - -As part of this release we had [4 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/13?closed=1) closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.9.x -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#154__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/154) Update to Cake.Issues 0.9.0 - -__Features__ - -- [__#143__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/143) Use identifier different from displayed message to compare existing issues -- [__#142__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/142) Add setting to limit number of issues posted to a pull request across multiple runs for issue providers -- [__#141__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/141) Add possibility to limit posted issues for a specific provider - - -## 0.9.0-beta.3 (August 01, 2020) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.9.0-beta0004 -- Targeting .NET Standard 2.0 - -__Breaking Changes__ - -- Update to Cake.Issues 0.9.0-beta0004 -## 0.9.0-beta.2 (July 18, 2020) - - -As part of this release we had 3 issues closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.9.0-beta0002 -- Targeting .NET Standard 2.0 - -__Features__ - -- [__#143__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/143) Use identifier different from displayed message to compare existing issues -- [__#142__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/142) Add setting to limit number of issues posted to a pull request across multiple runs for issue providers -- [__#141__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/141) Add possibility to limit posted issues for a specific provider - - -## 0.9.0-beta.1 (July 14, 2020) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.9.0-beta0002 -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#154__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/154) Update to Cake.Issues 0.9.0 - - -## 0.8.1 (May 03, 2020) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/12?closed=1) closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.8.x -- Targeting .NET Standard 2.0 - -__Bug__ - -- [__#136__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/136) Don't log issues if they are not posted due to outdated commit - -__Improvement__ - -- [__#134__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/134) Add setting to limit number of issues posted to a pull request across multiple runs - - -## 0.8.1-beta.2 (April 29, 2020) - - -As part of this release we had 1 issue closed compared to 0.8.1-beta.1. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.8.x -- Targeting .NET Standard 2.0 - -__Bug__ - -- [__#145__](https://github.com/cake-contrib/Cake.Issues.PullRequests/pull/145) Consider unresolved issues for MaxIssuesToPostAcrossRuns (Thanks @janniksam) -## 0.8.1-beta.1 (April 27, 2020) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/12?closed=1) closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.8.x -- Targeting .NET Standard 2.0 - -__Improvement__ - -- [__#134__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/134) Add setting to limit number of issues posted to a pull request across multiple runs - -__Bug__ - -- [__#136__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/136) Don't log issues if they are not posted due to outdated commit -## 0.8.0 (October 17, 2019) - - -As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/11?closed=1) closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.8.x -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#113__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/113) Update to Cake.Issues 0.8.0 - -__Improvements__ - -- [__#118__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/118) Embed NuGet package icon -- [__#116__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/116) Improve performance logging for issue filtering - - -## 0.8.0-beta.1 (October 11, 2019) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/11?closed=1) closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.8.0-beta.1 -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#113__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/113) Update to Cake.Issues 0.8.0 - - -## 0.7.0 (May 30, 2019) - - -As part of this release we had [32 commits](https://github.com/cake-contrib/Cake.Issues.PullRequests/compare/0.6.2...0.7.0) which resulted in [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/10?closed=1) being closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.7.x -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#78__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/78) Update to Cake.Issues 0.7.0 -- [__#77__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/77) Build against Cake 0.33.0 - - -## 0.7.0-beta.1 (April 19, 2019) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.7.x -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#78__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/78) Update to Cake.Issues 0.7.0 -- [__#77__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/77) Build against Cake 0.33.0 - - -## 0.6.2 (December 15, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=9&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.6.x - -__Bug__ - -- [__#50__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/50) No exception should be thrown if an empty list of issues is passed - - -## 0.6.1 (September 04, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=8&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.6.x - -__Improvement__ - -- [__#28__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/28) Provide alias which a list of issues can be passed - - -## 0.6.1-beta.1 (September 04, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.6.x - -__Improvement__ - -- [__#28__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/28) Provide alias which a list of issues can be passed - - -## 0.6.0 (August 24, 2018) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=7&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.6.x - -__Breaking changes__ - -- [__#45__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/45) Update to Cake.Issues 0.6.0 -- [__#43__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/43) Split pull request interface into different capabilities - - -## 0.6.0-beta.2 (August 20, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.6.0-beta.2 - -__Breaking changes__ - -- Update to Cake.Issues 0.6.0 Beta 2 -- Fix error with namespace import - - -## 0.6.0-beta.1 (August 18, 2018) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=7&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.6.0-beta.1 - -__Breaking changes__ - -- [__#45__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/45) Update to Cake.Issues 0.6.0 -- [__#43__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/43) Split pull request interface into different capabilities - - -## 0.5.0 (August 17, 2018) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=6&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.5.x - -__Breaking change__ - -- [__#41__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/41) Update to Cake.Issues 0.5.0 - -__Improvement__ - -- [__#44__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/44) Add repository metadata to nuspec - - -## 0.5.0-beta.1 (August 07, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.5.0-beta.2 - -__Breaking change__ - -- [__#41__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/41) Update to Cake.Issues 0.5.0 - - -## 0.4.0 (July 28, 2018) - - -As part of this release we had [5 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=5&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.4.x - -__Breaking changes__ - -- [__#39__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/39) Update to Cake.Issues 0.4.0 -- [__#30__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/30) Support different resolutions for comment thread resolving - -__Bugs__ - -- [__#36__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/36) Only resolve comments with the same comment source -- [__#29__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/29) Filtering on existing comments sometimes fails - - -## 0.4.0-beta.2 (July 25, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.4.0-beta.2 - -__Breaking changes__ - -- Update Cake.Issues to 0.4.0-beta.2 -## 0.4.0-beta.1 (July 24, 2018) - - -As part of this release we had 5 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.4.0-beta.1 - -__Breaking changes__ - -- [__#39__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/39) Update to Cake.Issues 0.4.0 -- [__#30__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/30) Support different resolutions for comment thread resolving - -__Bugs__ - -- [__#36__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/36) Only resolve comments with the same comment source -- [__#29__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/29) Filtering on existing comments sometimes fails - - -## 0.3.1 (June 21, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=4&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.3.x - -__Feature__ - -- [__#25__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/25) Add support to pass additional filter criterias - - -## 0.3.0 (June 04, 2018) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=3&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.3.x - -__Breaking changes__ - -- [__#22__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/22) Build against Cake 0.28.0 -- [__#20__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/20) Update to Cake.Issues 0.3.0 - - -## 0.3.0-beta.2 (June 02, 2018) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=3&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.3.0-beta.2 - -__Breaking changes__ - -- [__#22__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/22) Build against Cake 0.28.0 -- Update to Cake.Issues 0.3.0-beta.2 -## 0.3.0-beta.1 (May 31, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Cake.Issues 0.3.0-beta.1 - -__Breaking change__ - -- [__#20__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/20) Update to Cake.Issues 0.3.0 - - -## 0.2.0 (May 22, 2018) - - -As part of this release we had [26 commits](https://github.com/cake-contrib/Cake.Issues.PullRequests/compare/0.1.0...0.2.0) which resulted in [6 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=2&state=closed) being closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Cake.Issues 0.2.x - -__Breaking changes__ - -- [__#18__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/18) Build against Cake 0.26.0 -- [__#16__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/16) Allow to limit maximum issues per issue provider -- [__#14__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/14) Update to Cake.Issues 0.2.0 - -__Improvements__ - -- [__#9__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/9) Migrate to .NET Core -- [__#2__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/2) Check if pull request is still on the same commit before posting issues - - -## 0.2.0-beta.2 (March 10, 2018) - - -As part of this release we had the following issues closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Cake.Issues 0.2.0-beta.4 - -__Bug__ - -- Mark as CLS compliant - -## 0.2.0-beta.1 (March 08, 2018) - - -As part of this release we had 6 issues closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Cake.Issues 0.2.0-beta.3 - -__Breaking changes__ - -- [__#18__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/18) Build against Cake 0.26.0 -- [__#16__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/16) Allow to limit maximum issues per issue provider -- [__#14__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/14) Update to Cake.Issues 0.2.0 - -__Improvements__ - -- [__#9__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/9) Migrate to .NET Core -- [__#2__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/2) Check if pull request is still on the same commit before posting issues - - -## 0.1.0 (September 16, 2017) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=1&state=closed) closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Cake.Issues 0.1.x - -__Breaking change__ - -- [__#8__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/8) Update to Cake 0.22 - -__Feature__ - -- [__#1__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/1) First version based on Cake.Prca - - -## 0.1.0-beta.3 (September 13, 2017) - - -As part of this release we had 2 issue closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Cake.Issues 0.1.0-beta.4 - -__Breaking Changes__ - -- Target .NET Framework 4.6 -- Build against Cake 0.22.0 -- Build against Cake.Issues 0.1.0-beta0004 -## 0.1.0-beta.2 (September 03, 2017) - - -As part of this release we had 2 issue closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Cake.Issues 0.1.0-beta.3 - -__Breaking Changes__ - -- Update Cake.Issues to 0.1.0-beta0003 -- Move everything into single namespace -## 0.1.0-beta.1 (September 02, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Cake.Issues 0.1.0-beta.2 - -__Feature__ - -- [__#1__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/1) First version based on Cake.Prca -e provider infrastructure - - -## 0.4.1 (August 03, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues/issues?milestone=6&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Feature__ - -- [__#39__](https://github.com/cake-contrib/Cake.Issues/issues/39) Provide infrastructure for issue provider with different formats - - -## 0.4.0 (July 28, 2018) - - -As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=5&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#35__](https://github.com/cake-contrib/Cake.Issues/issues/35) Replace `IIssue.Project` with `IIssue.ProjectFileRelativePath` and `IIssue.ProjectName` - -__Improvement__ - -- [__#38__](https://github.com/cake-contrib/Cake.Issues/issues/38) Update XUnit to 2.4.0 - - -## 0.4.0-beta.2 (July 24, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Improvement__ - -- [__#38__](https://github.com/cake-contrib/Cake.Issues/issues/38) Update XUnit to 2.4.0 - - -## 0.4.0-beta.1 (July 24, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#35__](https://github.com/cake-contrib/Cake.Issues/issues/35) Replace `IIssue.Project` with `IIssue.ProjectFileRelativePath` and `IIssue.ProjectName`. -## 0.3.1 (June 20, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues/issues?milestone=4&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Feature__ - -- [__#27__](https://github.com/cake-contrib/Cake.Issues/issues/27) Add alias for creating issues from Cake scripts - - -## 0.3.0 (June 03, 2018) - - -As part of this release we had [14 commits](https://github.com/cake-contrib/Cake.Issues/compare/0.2.0...0.3.0) which resulted in [6 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=3&state=closed) being closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#29__](https://github.com/cake-contrib/Cake.Issues/issues/29) Make priority optional -- [__#28__](https://github.com/cake-contrib/Cake.Issues/issues/28) Build against Cake 0.28.0 -- [__#26__](https://github.com/cake-contrib/Cake.Issues/issues/26) Add fluent API for Issue creation -- [__#22__](https://github.com/cake-contrib/Cake.Issues/issues/22) Add PriorityName to IIssue -- [__#21__](https://github.com/cake-contrib/Cake.Issues/issues/21) Add ProviderName to IIssue - -__Feature__ - -- [__#25__](https://github.com/cake-contrib/Cake.Issues/issues/25) Add constants for priority values and names - - -## 0.3.0-beta.4 (June 03, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Bug Fix__ - -- Fix argument checking in fluent API - -## 0.3.0-beta.3 (June 03, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Improvement__ - -- Allow default values in fluent API -## 0.3.0-beta.2 (June 01, 2018) - - -As part of this release we had 4 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#29__](https://github.com/cake-contrib/Cake.Issues/issues/29) Make `IIssue.Priority` optional -- [__#28__](https://github.com/cake-contrib/Cake.Issues/issues/28) Build against Cake 0.28.0 -- [__#26__](https://github.com/cake-contrib/Cake.Issues/issues/26) Add fluent API for Issue creation - -__Feature__ - -- [__#25__](https://github.com/cake-contrib/Cake.Issues/issues/25) Add constants for priority values and names - - -## 0.3.0-beta.1 (May 31, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#22__](https://github.com/cake-contrib/Cake.Issues/issues/22) Add `PriorityName` to `IIssue` -- [__#21__](https://github.com/cake-contrib/Cake.Issues/issues/21) Add `ProviderName` to `IIssue` - - -## 0.2.0 (May 21, 2018) - - -As part of this release we had [6 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=2&state=closed) closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#13__](https://github.com/cake-contrib/Cake.Issues/issues/13) Build against Cake 0.26.0 - -__Features__ - -- [__#5__](https://github.com/cake-contrib/Cake.Issues/issues/5) Add project to `IIssue` -- [__#4__](https://github.com/cake-contrib/Cake.Issues/issues/4) Migrate to .NET Standard (Thanks [Tim Johnson](https://github.com/t-johnson)!) - -__Improvements__ - -- [__#20__](https://github.com/cake-contrib/Cake.Issues/issues/20) Make `IIssue.Rule` an optional parameter -- [__#8__](https://github.com/cake-contrib/Cake.Issues/issues/8) Upgrade XUnit to 2.3.0 - - -## 0.2.0-beta.4 (March 07, 2018) - - -As part of this release we had the following issues closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- Only target .NET Standard 2.0 -## 0.2.0-beta.3 (March 07, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#13__](https://github.com/cake-contrib/Cake.Issues/issues/13) Build against Cake 0.26.0 -## 0.2.0-beta.2 (December 24, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Targeting .NET Standard 2.0 - -__Improvements__ - -- [__#8__](https://github.com/cake-contrib/Cake.Issues/issues/8) Upgrade XUnit to 2.3.0 -## 0.2.0-beta.1 (October 15, 2017) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Targeting .NET Standard 2.0 - -__Features__ - -- [__#5__](https://github.com/cake-contrib/Cake.Issues/issues/5) Add project to `IIssue` -- [__#4__](https://github.com/cake-contrib/Cake.Issues/issues/4) Migrate to .NET Standard (Thanks [Tim Johnson](https://github.com/t-johnson)!) - - -## 0.1.0 (September 16, 2017) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=1&state=closed) closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Targeting .NET Framework 4.6 - -__Breaking change__ - -- [__#3__](https://github.com/cake-contrib/Cake.Issues/issues/3) Update to Cake 0.22 - -__Feature__ - -- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca - - -## 0.1.0-beta.4 (September 13, 2017) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Targeting .NET Framework 4.6 - -__Breaking Changes__ - -- Target .NET Framework 4.6 -- Build against Cake 0.22.0 -## 0.1.0-beta.3 (September 03, 2017) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Targeting .NET Framework 4.5.2 - -__Breaking Changes__ - -- Move everything into single namespace. -## 0.1.0-beta.2 (September 02, 2017) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Targeting .NET Framework 4.5.2 - -__Enhancements__ - -- Add method `Issue.GetProviderTypeName()` for returning provider type name -- Put aliases for reading issues in own category -## 0.1.0-beta.1 (September 01, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Targeting .NET Framework 4.5.2 - -__Feature__ - -- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca - - - -- Add method `Issue.GetProviderTypeName()` for returning provider type name -- Put aliases for reading issues in own category -## 0.1.0-beta.1 (September 01, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Targeting .NET Framework 4.5.2 - -__Feature__ - -- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca - - -.2 - -__Feature__ - -- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca - - diff --git a/docs/input/docs/overview/release-notes/Cake.Issues.Reporting.md b/docs/input/docs/overview/release-notes/Cake.Issues.Reporting.md deleted file mode 100644 index 43a06ec24..000000000 --- a/docs/input/docs/overview/release-notes/Cake.Issues.Reporting.md +++ /dev/null @@ -1,1036 +0,0 @@ ---- -Title: Cake.Issues.Reporting Release Notes -Description: Release notes for Cake.Issues.Reporting ---- -

    -

    -

    -Starting with Cake.Issues 1.0, release notes for Cake.Issues.Reporting will be listed with Cake.Issues Release Notes. -The release notes on this page are only for versions of Cake.Issues.Reporting prior to 1.0. -

    -
    -

    - -## 0.9.0 (August 22, 2020) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.Reporting/milestone/11?closed=1) closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.9.x -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#115__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/115) Update to Cake.Issues 0.9.0 - - -## 0.9.0-beta.2 (August 01, 2020) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.9.0-beta0004 -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- Update to Cake.Issues 0.9.0-beta0004 - - -## 0.9.0-beta.1 (July 12, 2020) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.9.0-beta0002 -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#115__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/115) Update to Cake.Issues 0.9.0 - - -## 0.8.0 (October 17, 2019) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/milestone/10?closed=1) closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.8.0 -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#85__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/85) Update to Cake.Issues 0.8.0 - -__Improvement__ - -- [__#89__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/89) Embed NuGet package icon - - -## 0.8.0-beta.1 (October 11, 2019) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.Reporting/milestone/10?closed=1) closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.8.0-beta.1 -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#85__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/85) Update to Cake.Issues 0.8.0 - - -## 0.7.0 (May 30, 2019) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/milestone/9?closed=1) closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.7.x -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#53__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/53) Update to Cake.Issues 0.7.0 -- [__#52__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/52) Build against Cake 0.33.0 - - -## 0.7.0-beta.1 (April 19, 2019) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.33.0 or higher -- Cake.Issues 0.7.x -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#53__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/53) Update to Cake.Issues 0.7.0 -- [__#52__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/52) Build against Cake 0.33.0 - - -## 0.6.1 (December 01, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=8&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.6.x -- Targeting .NET Standard 2.0 - -__Feature__ - -- [__#5__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/5) Migrate to .NET Standard (Thanks [Vadim Hatsura](https://github.com/vhatsura)) - - -## 0.6.0 (August 24, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=7&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.6.x - -__Breaking change__ - -- [__#26__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/26) Update to Cake.Issues 0.6.0 - - -## 0.6.0-beta.2 (August 20, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.6.0-beta.2 - -__Breaking change__ - -- Update to Cake.Issues 0.6.0 Beta 2 - - -## 0.6.0-beta.1 (August 19, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.6.0-beta.1 - -__Breaking change__ - -- [__#26__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/26) Update to Cake.Issues 0.6.0 - - -## 0.5.0 (August 17, 2018) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=6&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.5.x - -__Breaking change__ - -- [__#23__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/23) Update to Cake.Issues 0.5.0 - -__Improvement__ - -- [__#25__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/25) Add repository metadata to nuspec - - -## 0.5.0-beta.1 (August 07, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.5.0-beta.2 - -__Breaking change__ - -- [__#23__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/23) Update to Cake.Issues 0.5.0 - - -## 0.4.0 (July 28, 2018) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=5&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.4.x - -__Breaking change__ - -- [__#21__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/21) Update to Cake.Issues 0.4.0 - - -## 0.4.0-beta.2 (July 25, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.4.0-beta.2 - -__Breaking change__ - -- Update Cake.Issues to 0.4.0-beta.2 - - -## 0.4.0-beta.1 (July 24, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.4.0-beta.1 - -__Breaking change__ - -- [__#21__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/21) Update to Cake.Issues 0.4.0 - - -## 0.3.0 (June 04, 2018) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=4&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.3.x - -__Breaking changes__ - -- [__#17__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/17) Build against Cake 0.28.0 -- [__#15__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/15) Update to Cake.Issues 0.3.0 - - -## 0.3.0-beta.2 (June 01, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Cake.Issues 0.3.0-beta.2 - -__Breaking changes__ - -- [__#17__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/17) Build against Cake 0.28.0 -- Update to Cake.Issues 0.3.0-beta.2 - -## 0.3.0-beta.1 (May 31, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Cake.Issues 0.3.0-beta.1 - -__Breaking change__ - -- [__#15__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/15) Update to Cake.Issues 0.3.0 - - -## 0.2.1 (May 25, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=3&state=closed) closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Cake.Issues 0.2.x - -__Documentation__ - -- [__#13__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/13) Update examples to current version of Cake.Issues.Reporting.Generic - - -## 0.2.0 (May 23, 2018) - - -As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=2&state=closed) closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Cake.Issues 0.2.x - -__Breaking changes__ - -- [__#10__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/10) Build against Cake 0.26.0 -- [__#9__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/9) Update to Cake.Issues 0.2.0 - - -## 0.2.0-beta.2 (May 23, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Cake.Issues 0.2.x - -__Breaking changes__ - -- Target .NET Framework 4.6.1 instead of 4.62 - - -## 0.2.0-beta.1 (May 23, 2018) - - -As part of this release we had 3 issues closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Cake.Issues 0.2.x - -__Breaking changes__ - -- [__#10__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/10) Build against Cake 0.26.0 -- [__#9__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/9) Update to Cake.Issues 0.2.0 - - -## 0.1.0 (October 16, 2017) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=1&state=closed) closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Cake.Issues 0.1.0 - -__Breaking change__ - -- [__#3__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/3) Update to Cake 0.22 - -__Feature__ - -- [__#1__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/1) Basic implementation - - -## 0.1.0-beta.6 (September 16, 2017) - - -As part of this release we had 2 issue closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Cake.Issues 0.1.0 - -__Breaking Changes__ - -- Build against Cake.Issues 0.1.0 - -__Features__ - -- Add alias for single issue provider -## 0.1.0-beta.5 (September 13, 2017) - - -As part of this release we had 3 issue closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Cake.Issues 0.1.0-beta.4 - -__Breaking Changes__ - -- Target .NET Framework 4.6 -- Build against Cake 0.22.0 -- Build against Cake.Issues 0.1.0-beta0004 -## 0.1.0-beta.4 (September 10, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Cake.Issues 0.1.0-beta.3 - -__Breaking Changes__ - -- Add `CreateIssueReportSettings` and requirement to pass in output file path -## 0.1.0-beta.3 (September 10, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Cake.Issues 0.1.0-beta.3 - -__Breaking Changes__ - -- Update Cake.Issues to 0.1.0-beta0003 -## 0.1.0-beta.2 (September 09, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Cake.Issues 0.1.0-beta.1 - -__Feature__ - -- Move everything into single namespace -## 0.1.0-beta.1 (September 09, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Cake.Issues 0.1.0-beta.1 - -__Feature__ - -- [__#1__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/1) Basic implementation - - -https://github.com/cake-contrib/Cake.Issues/issues/97) XML comment for `IIssue.ProjectFileRelativePath` mentions `string.Empty` as valid value - - -## 0.6.2 (September 05, 2018) - - -As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=10&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Bug__ - -- [__#60__](https://github.com/cake-contrib/Cake.Issues/issues/60) `ByteArrayExtensions.ToStringUsingEncoding` throws an exception if empty byte array is passed - -__Improvements__ - -- [__#62__](https://github.com/cake-contrib/Cake.Issues/issues/62) `ToStringUsingEncoding` should not throw if no preamble exists -- [__#46__](https://github.com/cake-contrib/Cake.Issues/issues/46) Add test cases for `Cake.Issues.Testing` - - -## 0.6.2-beta.2 (September 05, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Improvement__ - -- [__#46__](https://github.com/cake-contrib/Cake.Issues/issues/46) Add test cases for Cake.Issues.Testing - - -## 0.6.2-beta.1 (September 04, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Bug__ - -- [__#60__](https://github.com/cake-contrib/Cake.Issues/issues/60) ByteArrayExtensions.ToStringUsingEncoding throws an exception if empty byte array is passed - -__Improvement__ - -- [__#62__](https://github.com/cake-contrib/Cake.Issues/issues/62) ToStringUsingEncoding should not throw if no preamble exists - - -## 0.6.1 (September 02, 2018) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=9&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Features__ - -- [__#57__](https://github.com/cake-contrib/Cake.Issues/issues/57) Add method for replacing issues tokens in string -- [__#56__](https://github.com/cake-contrib/Cake.Issues/issues/56) Add extensions for `IIssue` project and file - - -## 0.6.1-beta.1 (August 26, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Features__ - -- [__#57__](https://github.com/cake-contrib/Cake.Issues/issues/57) Add method for replacing issues tokens in string -- [__#56__](https://github.com/cake-contrib/Cake.Issues/issues/56) Add extensions for `IIssue` project and file - - -## 0.6.0 (August 24, 2018) - - -As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=8&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#54__](https://github.com/cake-contrib/Cake.Issues/issues/54) `BaseMultiFormatIssueProvider.ReadIssues` ignores format -- [__#50__](https://github.com/cake-contrib/Cake.Issues/issues/50) Add method to check if initialized was called on `BaseIssueComponent` - -__Bug__ - -- [__#53__](https://github.com/cake-contrib/Cake.Issues/issues/53) Typo in comment for `BaseMultiFormatIssueProvider` - - -## 0.6.0-beta.2 (August 19, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#54__](https://github.com/cake-contrib/Cake.Issues/issues/54) BaseMultiFormatIssueProvider.ReadIssues ignores format -## 0.6.0-beta.1 (August 18, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#50__](https://github.com/cake-contrib/Cake.Issues/issues/50) Add method to check if initialized was called on BaseIssueComponent - -__Bug__ - -- [__#53__](https://github.com/cake-contrib/Cake.Issues/issues/53) Typo in comment for BaseMultiFormatIssueProvider - - -## 0.5.0 (August 17, 2018) - - -As part of this release we had [4 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=7&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#44__](https://github.com/cake-contrib/Cake.Issues/issues/44) Improve issue provider infrastructure - -__Features__ - -- [__#48__](https://github.com/cake-contrib/Cake.Issues/issues/48) Add helper for string / byte array conversion -- [__#47__](https://github.com/cake-contrib/Cake.Issues/issues/47) Add helper for working with embedded resources on file system - -__Improvement__ - -- [__#49__](https://github.com/cake-contrib/Cake.Issues/issues/49) Add repository metadata to nuspec - - -## 0.5.0-beta.3 (August 17, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Improvement__ - -- [__#49__](https://github.com/cake-contrib/Cake.Issues/issues/49) Add repository metadata to nuspec - - -## 0.5.0-beta.2 (August 06, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Features__ - -- [__#48__](https://github.com/cake-contrib/Cake.Issues/issues/48) Add helper for string / byte array conversion -- [__#47__](https://github.com/cake-contrib/Cake.Issues/issues/47) Add helper for working with embedded resources on file system - - -## 0.5.0-beta.1 (August 05, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues/issues?milestone=7&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#44__](https://github.com/cake-contrib/Cake.Issues/issues/44) Improve issue provider infrastructure - - -## 0.4.1 (August 03, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues/issues?milestone=6&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Feature__ - -- [__#39__](https://github.com/cake-contrib/Cake.Issues/issues/39) Provide infrastructure for issue provider with different formats - - -## 0.4.0 (July 28, 2018) - - -As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=5&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#35__](https://github.com/cake-contrib/Cake.Issues/issues/35) Replace `IIssue.Project` with `IIssue.ProjectFileRelativePath` and `IIssue.ProjectName` - -__Improvement__ - -- [__#38__](https://github.com/cake-contrib/Cake.Issues/issues/38) Update XUnit to 2.4.0 - - -## 0.4.0-beta.2 (July 24, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Improvement__ - -- [__#38__](https://github.com/cake-contrib/Cake.Issues/issues/38) Update XUnit to 2.4.0 - - -## 0.4.0-beta.1 (July 24, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#35__](https://github.com/cake-contrib/Cake.Issues/issues/35) Replace `IIssue.Project` with `IIssue.ProjectFileRelativePath` and `IIssue.ProjectName`. -## 0.3.1 (June 20, 2018) - - -As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues/issues?milestone=4&state=closed) closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Feature__ - -- [__#27__](https://github.com/cake-contrib/Cake.Issues/issues/27) Add alias for creating issues from Cake scripts - - -## 0.3.0 (June 03, 2018) - - -As part of this release we had [14 commits](https://github.com/cake-contrib/Cake.Issues/compare/0.2.0...0.3.0) which resulted in [6 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=3&state=closed) being closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#29__](https://github.com/cake-contrib/Cake.Issues/issues/29) Make priority optional -- [__#28__](https://github.com/cake-contrib/Cake.Issues/issues/28) Build against Cake 0.28.0 -- [__#26__](https://github.com/cake-contrib/Cake.Issues/issues/26) Add fluent API for Issue creation -- [__#22__](https://github.com/cake-contrib/Cake.Issues/issues/22) Add PriorityName to IIssue -- [__#21__](https://github.com/cake-contrib/Cake.Issues/issues/21) Add ProviderName to IIssue - -__Feature__ - -- [__#25__](https://github.com/cake-contrib/Cake.Issues/issues/25) Add constants for priority values and names - - -## 0.3.0-beta.4 (June 03, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Bug Fix__ - -- Fix argument checking in fluent API - -## 0.3.0-beta.3 (June 03, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Improvement__ - -- Allow default values in fluent API -## 0.3.0-beta.2 (June 01, 2018) - - -As part of this release we had 4 issues closed. - -__Requirements__ - -- Cake 0.28.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#29__](https://github.com/cake-contrib/Cake.Issues/issues/29) Make `IIssue.Priority` optional -- [__#28__](https://github.com/cake-contrib/Cake.Issues/issues/28) Build against Cake 0.28.0 -- [__#26__](https://github.com/cake-contrib/Cake.Issues/issues/26) Add fluent API for Issue creation - -__Feature__ - -- [__#25__](https://github.com/cake-contrib/Cake.Issues/issues/25) Add constants for priority values and names - - -## 0.3.0-beta.1 (May 31, 2018) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking changes__ - -- [__#22__](https://github.com/cake-contrib/Cake.Issues/issues/22) Add `PriorityName` to `IIssue` -- [__#21__](https://github.com/cake-contrib/Cake.Issues/issues/21) Add `ProviderName` to `IIssue` - - -## 0.2.0 (May 21, 2018) - - -As part of this release we had [6 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=2&state=closed) closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#13__](https://github.com/cake-contrib/Cake.Issues/issues/13) Build against Cake 0.26.0 - -__Features__ - -- [__#5__](https://github.com/cake-contrib/Cake.Issues/issues/5) Add project to `IIssue` -- [__#4__](https://github.com/cake-contrib/Cake.Issues/issues/4) Migrate to .NET Standard (Thanks [Tim Johnson](https://github.com/t-johnson)!) - -__Improvements__ - -- [__#20__](https://github.com/cake-contrib/Cake.Issues/issues/20) Make `IIssue.Rule` an optional parameter -- [__#8__](https://github.com/cake-contrib/Cake.Issues/issues/8) Upgrade XUnit to 2.3.0 - - -## 0.2.0-beta.4 (March 07, 2018) - - -As part of this release we had the following issues closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- Only target .NET Standard 2.0 -## 0.2.0-beta.3 (March 07, 2018) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.26.0 or higher -- Targeting .NET Standard 2.0 - -__Breaking change__ - -- [__#13__](https://github.com/cake-contrib/Cake.Issues/issues/13) Build against Cake 0.26.0 -## 0.2.0-beta.2 (December 24, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Targeting .NET Standard 2.0 - -__Improvements__ - -- [__#8__](https://github.com/cake-contrib/Cake.Issues/issues/8) Upgrade XUnit to 2.3.0 -## 0.2.0-beta.1 (October 15, 2017) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Targeting .NET Standard 2.0 - -__Features__ - -- [__#5__](https://github.com/cake-contrib/Cake.Issues/issues/5) Add project to `IIssue` -- [__#4__](https://github.com/cake-contrib/Cake.Issues/issues/4) Migrate to .NET Standard (Thanks [Tim Johnson](https://github.com/t-johnson)!) - - -## 0.1.0 (September 16, 2017) - - -As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=1&state=closed) closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Targeting .NET Framework 4.6 - -__Breaking change__ - -- [__#3__](https://github.com/cake-contrib/Cake.Issues/issues/3) Update to Cake 0.22 - -__Feature__ - -- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca - - -## 0.1.0-beta.4 (September 13, 2017) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.22.0 - Cake 0.25.0 -- Targeting .NET Framework 4.6 - -__Breaking Changes__ - -- Target .NET Framework 4.6 -- Build against Cake 0.22.0 -## 0.1.0-beta.3 (September 03, 2017) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Targeting .NET Framework 4.5.2 - -__Breaking Changes__ - -- Move everything into single namespace. -## 0.1.0-beta.2 (September 02, 2017) - - -As part of this release we had 2 issues closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Targeting .NET Framework 4.5.2 - -__Enhancements__ - -- Add method `Issue.GetProviderTypeName()` for returning provider type name -- Put aliases for reading issues in own category -## 0.1.0-beta.1 (September 01, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Targeting .NET Framework 4.5.2 - -__Feature__ - -- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca - - -d `Issue.GetProviderTypeName()` for returning provider type name -- Put aliases for reading issues in own category -## 0.1.0-beta.1 (September 01, 2017) - - -As part of this release we had 1 issue closed. - -__Requirements__ - -- Cake 0.16.2 - Cake 0.21.1 -- Targeting .NET Framework 4.5.2 - -__Feature__ - -- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca - - -_ - -- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca - - diff --git a/docs/input/docs/overview/release-notes/index.cshtml b/docs/input/docs/overview/release-notes/index.cshtml deleted file mode 100644 index cbb6d5a8f..000000000 --- a/docs/input/docs/overview/release-notes/index.cshtml +++ /dev/null @@ -1,11 +0,0 @@ ---- -Order: 30 -Description: Release notes for the Cake Issues core addins. ---- - -

    - For addin release notes see Issue Providers, - Report Formats and Pull Request Systems. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/overview/requirements.md b/docs/input/docs/overview/requirements.md deleted file mode 100644 index 901eb33c4..000000000 --- a/docs/input/docs/overview/requirements.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -Order: 30 -Description: Requirements for using Cake.Issues. ---- -The requirements for core addins are listed in the release notes for any specific version: - -* [Release notes Cake.Issues] -* [Release notes Cake.Issues.PullRequests] -* [Release notes Cake.Issues.Reporting] - -:::{.alert .alert-info} -Note that individual addins might require a newer version of Cake. -Please see in the documentation of the specific addin for additional requirements for individual addins. -::: - -[Release notes Cake.Issues]: release-notes/Cake.Issues -[Release notes Cake.Issues.PullRequests]: release-notes/Cake.Issues.PullRequests -[Release notes Cake.Issues.Reporting]: release-notes/Cake.Issues.Reporting \ No newline at end of file diff --git a/docs/input/docs/pull-request-systems/appveyor/examples/index.cshtml b/docs/input/docs/pull-request-systems/appveyor/examples/index.cshtml deleted file mode 100644 index f0d5372ef..000000000 --- a/docs/input/docs/pull-request-systems/appveyor/examples/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: Examples -Description: Examples for using the Cake.Issues.PullRequests.AppVeyor addin. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -
    -There's a demo repository -available which you can fork and to which you can create pull requests to test the integration functionality. -
    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/pull-request-systems/appveyor/features.md b/docs/input/docs/pull-request-systems/appveyor/features.md deleted file mode 100644 index 68211906f..000000000 --- a/docs/input/docs/pull-request-systems/appveyor/features.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.PullRequests.AppVeyor addin. ---- -The [Cake.Issues.PullRequests.AppVeyor addin] reports issues as messages to AppVeyor builds. - -![AppVeyor messages](appveyor-messages.png "AppVeyor messages") - -:::{.alert .alert-info} -There's a [demo repository] available which you can fork and to which you can create pull requests to test the integration functionality. -::: - -# Basic features - -* Reports issues as messages to AppVeyor builds. -* Messages can be written as comment to GitHub pull requests. - See [GitHub pull request integration] for an example. - -# Supported capabilities - -The [Cake.Issues.PullRequests.AppVeyor addin] doesn't support any additional capabilities. - -| | Capability | Remarks | -|--------------------------------------------------------------------|--------------------------------|--------------------------------| -| | Checking commit ID | | -| | Discussion threads | | -| | Filtering by modified files | | - -[demo repository]: https://github.com/pascalberger/Cake.Issues-Demo -[Cake.Issues.PullRequests.AppVeyor addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AppVeyor -[GitHub pull request integration]: ./examples/github-pullrequest-integration diff --git a/docs/input/docs/pull-request-systems/appveyor/index.cshtml b/docs/input/docs/pull-request-systems/appveyor/index.cshtml deleted file mode 100644 index f704df063..000000000 --- a/docs/input/docs/pull-request-systems/appveyor/index.cshtml +++ /dev/null @@ -1,10 +0,0 @@ ---- -Title: AppVeyor -Description: Support for AppVeyor. ---- -

    - Support for AppVeyor is implemented in the - Cake.Issues.PullRequests.AppVeyor addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/pull-request-systems/appveyor/requirements.md b/docs/input/docs/pull-request-systems/appveyor/requirements.md deleted file mode 100644 index 446b03b69..000000000 --- a/docs/input/docs/pull-request-systems/appveyor/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.PullRequests.AppVeyor addin. ---- -The requirements for using the [Cake.Issues.PullRequests.AppVeyor addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.PullRequests.AppVeyor addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AppVeyor -[release notes]: release-notes \ No newline at end of file diff --git a/docs/input/docs/pull-request-systems/azure-devops/examples/index.cshtml b/docs/input/docs/pull-request-systems/azure-devops/examples/index.cshtml deleted file mode 100644 index 17e2702db..000000000 --- a/docs/input/docs/pull-request-systems/azure-devops/examples/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: Examples -Description: Examples for using the Cake.Issues.PullRequests.AzureDevOps addin. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -
    -There's a demo repository -available which you can fork and to which you can create pull requests to test the integration functionality. -
    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/pull-request-systems/azure-devops/features.md b/docs/input/docs/pull-request-systems/azure-devops/features.md deleted file mode 100644 index b3b4bc228..000000000 --- a/docs/input/docs/pull-request-systems/azure-devops/features.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.PullRequests.AzureDevOps addin. ---- -The [Cake.Issues.PullRequests.AzureDevOps addin] provides the following features. - -:::{.alert .alert-info} -There's a [demo repository] available which you can fork and to which you can create pull requests to test the integration functionality. -::: - -# Basic features - -* Writes issues as comments to [Azure DevOps] pull requests. -* Identification of pull requests through source branch or pull request ID. -* Comments written by the addin will be rendered with a specific icon corresponding to the state of the issue. -* Adds rule number and, if provided by the issue provider, link to the rule description to the comment. -* Support for issues messages formatted in Markdown format. - -# Supported capabilities - -The [Cake.Issues.PullRequests.AzureDevOps addin] supports all [Core features]. - -| | Capability | Remarks | -|--------------------------------------------------------------------|--------------------------------|--------------------------------| -| | Checking commit ID | | -| | Discussion threads | | -| | Filtering by modified files | | - -# Supported authentication methods - -| Azure DevOps Server | Azure DevOps Service | Authentication method | -|--------------------------------------------------------------------|--------------------------------------------------------------------|--------------------------------| -| | | NTLM | -| | | Basic authentication | -| | | Personal access token | -| | | OAuth | -| | | Azure Active Directory | - -For detailed instructions how to connect using the different methods see [Setup instructions]. - -![Cake.Issues.PullRequests.AzureDevOps](cake.issues.pullrequests.azuredevops.png "Cake.Issues.PullRequests.AzureDevOps") - -[demo repository]: https://dev.azure.com/pberger/Cake.Issues-Demo -[Cake.Issues.PullRequests.AzureDevOps addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AzureDevOps -[Azure DevOps]: https://azure.microsoft.com/en-us/services/devops/ -[Core features]: ../../overview/features#supported-core-functionality -[Setup instructions]: setup diff --git a/docs/input/docs/pull-request-systems/azure-devops/index.cshtml b/docs/input/docs/pull-request-systems/azure-devops/index.cshtml deleted file mode 100644 index fbf68afda..000000000 --- a/docs/input/docs/pull-request-systems/azure-devops/index.cshtml +++ /dev/null @@ -1,10 +0,0 @@ ---- -Title: Azure DevOps -Description: Support for Azure DevOps. ---- -

    - Support for Azure DevOps is implemented in the - Cake.Issues.PullRequests.AzureDevOps addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/pull-request-systems/azure-devops/requirements.md b/docs/input/docs/pull-request-systems/azure-devops/requirements.md deleted file mode 100644 index 9c245110d..000000000 --- a/docs/input/docs/pull-request-systems/azure-devops/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.PullRequests.AzureDevOps addin. ---- -The requirements for using the [Cake.Issues.PullRequests.AzureDevOps addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.PullRequests.AzureDevOps addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AzureDevOps -[release notes]: release-notes diff --git a/docs/input/docs/pull-request-systems/github-actions/examples/index.cshtml b/docs/input/docs/pull-request-systems/github-actions/examples/index.cshtml deleted file mode 100644 index f6edfee20..000000000 --- a/docs/input/docs/pull-request-systems/github-actions/examples/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Title: Examples -Description: Examples for using the Cake.Issues.PullRequests.GitHubActions addin. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/pull-request-systems/github-actions/features.md b/docs/input/docs/pull-request-systems/github-actions/features.md deleted file mode 100644 index 91dea5e3c..000000000 --- a/docs/input/docs/pull-request-systems/github-actions/features.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.PullRequests.GitHubActions addin. ---- -The [Cake.Issues.PullRequests.GitHubActions addin] creates annotations from issues when running on GitHub actions. - -![Pull request integration](githubactions-pullrequest-integration.png "Pull request integration") - -# Basic features - -* Reports issues as annotations to GitHub Actions builds. -* Group issues in log output by provider and run information. - -# Supported capabilities - -The [Cake.Issues.PullRequests.GitHubActions addin] doesn't support any additional capabilities. - -| | Capability | Remarks | -|--------------------------------------------------------------------|--------------------------------|--------------------------------| -| | Checking commit ID | | -| | Discussion threads | | -| | Filtering by modified files | | - -[Cake.Issues.PullRequests.GitHubActions addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.GitHubActions diff --git a/docs/input/docs/pull-request-systems/github-actions/index.cshtml b/docs/input/docs/pull-request-systems/github-actions/index.cshtml deleted file mode 100644 index aba361913..000000000 --- a/docs/input/docs/pull-request-systems/github-actions/index.cshtml +++ /dev/null @@ -1,10 +0,0 @@ ---- -Title: GitHub Actions -Description: Support for GitHub Actions. ---- -

    - Support for GitHub Actions is implemented in the - Cake.Issues.PullRequests.GitHubActions addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/pull-request-systems/github-actions/requirements.md b/docs/input/docs/pull-request-systems/github-actions/requirements.md deleted file mode 100644 index e1e66947a..000000000 --- a/docs/input/docs/pull-request-systems/github-actions/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.PullRequests.GitHubActions addin. ---- -The requirements for using the [Cake.Issues.PullRequests.GitHubActions addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.PullRequests.GitHubActions addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.GitHubActions -[release notes]: release-notes diff --git a/docs/input/docs/pull-request-systems/index.cshtml b/docs/input/docs/pull-request-systems/index.cshtml deleted file mode 100644 index d97667a6c..000000000 --- a/docs/input/docs/pull-request-systems/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Order: 70 -Description: Documentation of the different pull request system implementations. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/recipe/index.cshtml b/docs/input/docs/recipe/index.cshtml deleted file mode 100644 index 79cf416ec..000000000 --- a/docs/input/docs/recipe/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Order: 40 -Description: Using Cake.Issues addins with a pre-made recipe script. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/recipe/usage/index.cshtml b/docs/input/docs/recipe/usage/index.cshtml deleted file mode 100644 index 190abe4f7..000000000 --- a/docs/input/docs/recipe/usage/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Order: 20 -Description: How to use Cake.Issues recipes in your build script. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/report-formats/console/index.cshtml b/docs/input/docs/report-formats/console/index.cshtml deleted file mode 100644 index 5003c9001..000000000 --- a/docs/input/docs/report-formats/console/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: Console -Description: Report format to print issues to the console. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - Support for printing issues to the console is implemented in the - Cake.Issues.Reporting.Console addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/report-formats/console/requirements.md b/docs/input/docs/report-formats/console/requirements.md deleted file mode 100644 index 469d4c60c..000000000 --- a/docs/input/docs/report-formats/console/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.Reporting.Console addin. ---- -The requirements for using the [Cake.Issues.Reporting.Console addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.Reporting.Console addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Console -[release notes]: release-notes \ No newline at end of file diff --git a/docs/input/docs/report-formats/generic/features.md b/docs/input/docs/report-formats/generic/features.md deleted file mode 100644 index 247752c6e..000000000 --- a/docs/input/docs/report-formats/generic/features.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.Reporting.Generic addin. ---- -The [Cake.Issues.Reporting.Generic addin] provides the following features: - -* Creates reports in any text based format like HTML or Markdown. -* Provides out of the box templates -* Possibility to use custom templates using Razor -* File linking support for different hosting providers (e.g. [GitHub], [Azure DevOps]) - -:::{.alert .alert-info} -See [Template Gallery] for a list of available out of the box and 3rd party templates. -::: - -[Cake.Issues.Reporting.Generic addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Generic -[Template Gallery]: templates/ -[GitHub]: ../../../api/Cake.Issues.Reporting.Generic/GenericIssueReportFormatAliases/025FE825 -[Azure DevOps]: ../../../api/Cake.Issues.Reporting.Generic/GenericIssueReportFormatAliases/61E51241 diff --git a/docs/input/docs/report-formats/generic/index.cshtml b/docs/input/docs/report-formats/generic/index.cshtml deleted file mode 100644 index 801250351..000000000 --- a/docs/input/docs/report-formats/generic/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: Generic -Description: Report format to create reports in any text based format (HTML, Markdown, ...). ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - Support for creating reports in any text based format like HTML or Markdown is implemented in the - Cake.Issues.Reporting.Generic addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/report-formats/generic/requirements.md b/docs/input/docs/report-formats/generic/requirements.md deleted file mode 100644 index e5c917073..000000000 --- a/docs/input/docs/report-formats/generic/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.Reporting.Generic addin. ---- -The requirements for using the [Cake.Issues.Reporting.Generic addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.Reporting.Generic addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Generic -[release notes]: release-notes \ No newline at end of file diff --git a/docs/input/docs/report-formats/generic/templates/.artifactignore b/docs/input/docs/report-formats/generic/templates/.artifactignore deleted file mode 100644 index 3c8fd7f2d..000000000 --- a/docs/input/docs/report-formats/generic/templates/.artifactignore +++ /dev/null @@ -1,2 +0,0 @@ -**/* -!*.html \ No newline at end of file diff --git a/docs/input/docs/report-formats/generic/templates/htmldatatable.md b/docs/input/docs/report-formats/generic/templates/htmldatatable.md deleted file mode 100644 index 68653531b..000000000 --- a/docs/input/docs/report-formats/generic/templates/htmldatatable.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -Order: 20 -Title: HTML Data Table -Description: Template for a HTML report containing a rich data table view with sorting and search functionality. ---- -Template for a HTML report containing a rich data table view with sorting and search functionality powered by [Simple-DataTables]. - -![HTML Data Table](htmldatatable01.png "HTML Data Table") - -# Features - -* Separate table for issues of each issue provider. -* Table with `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message`. -* Each column sortable by user. -* Paged table with possibility for user to change number of entries per page. -* Client-side full text search. -* No internet access required for displaying. - -# Requirements - -* Cake.Issues.Reporting.Generic 0.2.1 or higher - -# Usage - -To create a report using the HTML Data Table template you can use the [GenericIssueReportTemplate.HtmlDataTable] enum value: - -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDataTable), - @"c:\repo", - @"c:\report.html"); -``` - -# Options - -This template doesn't support any options. - -# Demos - -* Default - -# Source Code - -:::{.alert .alert-info} -You can use the source code as a template for your [custom template]. -::: - -Source code is available on [GitHub]. - -[Simple-DataTables]: https://github.com/fiduswriter/Simple-DataTables -[GenericIssueReportTemplate.HtmlDataTable]: ../../../../../Cake.Issues.Website/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/62ADE81F -[custom template]: ../examples/custom-template -[GitHub]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml diff --git a/docs/input/docs/report-formats/generic/templates/htmldiagnostic.md b/docs/input/docs/report-formats/generic/templates/htmldiagnostic.md deleted file mode 100644 index 8e3b8f023..000000000 --- a/docs/input/docs/report-formats/generic/templates/htmldiagnostic.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -Order: 30 -Title: HTML Diagnostic -Description: Template for a HTML report containing a list of all issues with all properties. ---- -Template for a HTML report containing a list of all issues with all properties. - -![HTML Diagnostic](htmldiagnostic01.png "HTML Diagnostic") - -# Features - -* Unstyled table listing all properties of [IIssue] -* No internet access required for displaying. - -# Requirements - -* No additional requirements. - -# Usage - -To create a report using the HTML diagnostic template you can use the [GenericIssueReportTemplate.HtmlDiagnostic] enum value: - -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), - @"c:\repo", - @"c:\report.html"); -``` - -# Options - -This template doesn't support any options. - -# Demos - -* Default - -# Source Code - -:::{.alert .alert-info} -You can use the source code as a template for your [custom template]. -::: - -Source code is available on [GitHub]. - -[IIssue]: ../../../../../Cake.Issues.Website/api/Cake.Issues/IIssue/ -[GenericIssueReportTemplate.HtmlDiagnostic]: ../../../../../Cake.Issues.Website/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/4F88BD05 -[custom template]: ../examples/custom-template -[GitHub]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/Diagnostic.cshtml \ No newline at end of file diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid.md b/docs/input/docs/report-formats/generic/templates/htmldxdatagrid.md deleted file mode 100644 index d0745306a..000000000 --- a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid.md +++ /dev/null @@ -1,240 +0,0 @@ ---- -Order: 10 -Title: HTML DevExtreme Data Grid -Description: Template for a HTML report containing a rich data grid with sorting, filtering, grouping and search capabilities. ---- -Template for a HTML report containing a rich data grid with sorting, filtering, grouping and search capabilities powered by [DevExtreme]. - -![HTML DevExtreme Data Grid](htmldxdatagrid01.png "HTML DevExtreme Data Grid") - -# Features - -* Table with `Provider`, `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message` by default. -* Support for grouping by multiple columns by user. -* Total number of issues by each group level. -* Each column sortable by user. -* Data can be filtered by any column by user. -* Paged view. -* Client-side full text search. -* Client-side export to Microsoft Excel or PDF. -* Fully customizable through [options](#options). - -# Requirements - -* Cake.Issues.Reporting.Generic 0.3.1 or higher - -# Usage - -To create a report using the HTML DevExtreme Data Grid template you can use the [GenericIssueReportTemplate.HtmlDxDataGrid] enum value: - -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDxDataGrid), - @"c:\repo", - @"c:\report.html"); -``` - -# Options - -See [HtmlDxDataGridOption] for a list of possible options. - -# Demos - -The following demo shows the template with its default options: - -* Default - (Source Code) - -## Themes - -The template supports the teams defined in the [DevExtremeTheme] enumeration which can be set using the [HtmlDxDataGridOption.Theme]: - -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate( - GenericIssueReportTemplate.HtmlDxDataGrid, - settings => settings.WithOption(HtmlDxDataGridOption.Theme, DevExtremeTheme.MaterialBlueLight)), - @"c:\repo", - @"c:\report.html"); -``` - -* Light Theme - (Source Code) -* Dark Theme - (Source Code) -* Contrast Theme - (Source Code) -* Carmine Theme - (Source Code) -* Dark Moon Theme - (Source Code) -* Soft Blue Theme - (Source Code) -* Dark Violet Theme - (Source Code) -* Green Mist Theme - (Source Code) -* Light Compact Theme - (Source Code) -* Dark Compact Theme - (Source Code) -* Contrast Compact Theme - (Source Code) -* Material Blue Light Theme - (Source Code) -* Material Lime Light Theme - (Source Code) -* Material Orange Light Theme - (Source Code) -* Material Purple Light Theme - (Source Code) -* Material Teal Light Theme - (Source Code) -* Material Blue Dark Theme - (Source Code) -* Material Lime Dark Theme - (Source Code) -* Material Orange Dark Theme - (Source Code) -* Material Purple Dark Theme - (Source Code) -* Material Teal Dark Theme - (Source Code) -* Material Blue Light Compact Theme - (Source Code) -* Material Lime Light Compact Theme - (Source Code) -* Material Orange Light Compact Theme - (Source Code) -* Material Purple Light Compact Theme - (Source Code) -* Material Teal Light Compact Theme - (Source Code) -* Material Blue Dark Compact Theme - (Source Code) -* Material Lime Dark Compact Theme - (Source Code) -* Material Orange Dark Compact Theme - (Source Code) -* Material Purple Dark Compact Theme - (Source Code) -* Material Teal Dark Compact Theme - (Source Code) - -## Column visibility - -Visible columns can be defined using the `ColumnNameVisible` option: - -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate( - GenericIssueReportTemplate.HtmlDxDataGrid, - settings => settings.WithOption(HtmlDxDataGridOption.LineVisible, false)), - @"c:\repo", - @"c:\report.html"); -``` - -Additional columns can be added using the [HtmlDxDataGridOption.AdditionalColumns] option. - -* Show and hide columns - (Source Code) -* Add additional columns - (Source Code) - -## Sorting - -Sorted columns can be defined using the [HtmlDxDataGridOption.SortedColumns] and the -`ColumnNameSortOder` options: - -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate( - GenericIssueReportTemplate.HtmlDxDataGrid, - settings => settings - .WithOption(HtmlDxDataGridOption.SortedColumns, new List { ReportColumn.RuleId }) - .WithOption(HtmlDxDataGridOption.RuleIdSortOder, ColumnSortOderDescending )), - @"c:\repo", - @"c:\report.html"); -``` - -* Change sorting - (Source Code) - -## Grouping - -Grouping can be defined using the [HtmlDxDataGridOption.GroupedColumns] option: - -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate( - GenericIssueReportTemplate.HtmlDxDataGrid, - settings => settings.WithOption(HtmlDxDataGridOption.GroupedColumns, new List { ReportColumn.RuleId })), - @"c:\repo", - @"c:\report.html"); -``` - -* Change grouping - (Source Code) -* Disable grouping - (Source Code) - -## Exporting - -Exporting can be enabled using the [HtmlDxDataGridOption.EnableExporting] option: - -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate( - GenericIssueReportTemplate.HtmlDxDataGrid, - settings => settings.WithOption(HtmlDxDataGridOption.EnableExporting, true)), - @"c:\repo", - @"c:\report.html"); -``` - -* Enable exporting - (Source Code) -* Microsoft Excel export (*.xlsx) - (Source Code) -* PDF export (*.pdf) - (Source Code) -* Custom export file name - (Source Code) - -## Other features - -* Change title - (Source Code) -* Disable header - (Source Code) -* Disable filtering - (Source Code) -* Disable searching - (Source Code) -* Custom script location and version - (Source Code) - -# Source Code - -:::{.alert .alert-info} -You can use the source code as a template for your [custom template]. -::: - -Source code is available on [GitHub]. - -[DevExtreme]: https://js.devexpress.com -[GenericIssueReportTemplate.HtmlDxDataGrid]: ../../../../../api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/0E9E9D94 -[HtmlDxDataGridOption]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/ -[DevExtremeTheme]: ../../../../../api/Cake.Issues.Reporting.Generic/DevExtremeTheme/ -[HtmlDxDataGridOption.Theme]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/EA83DCAB -[HtmlDxDataGridOption.AdditionalColumns]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/F9860912 -[HtmlDxDataGridOption.SortedColumns]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/D578E453 -[HtmlDxDataGridOption.GroupedColumns]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/0907599C -[HtmlDxDataGridOption.EnableExporting]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/1441E285 -[custom template]: ../examples/custom-template -[GitHub]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml diff --git a/docs/input/docs/report-formats/generic/templates/index.cshtml b/docs/input/docs/report-formats/generic/templates/index.cshtml deleted file mode 100644 index b7e0cc3c3..000000000 --- a/docs/input/docs/report-formats/generic/templates/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Title: Template Gallery -Description: Gallery of available out of the box and 3rd party templates. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/report-formats/index.cshtml b/docs/input/docs/report-formats/index.cshtml deleted file mode 100644 index b7df95e01..000000000 --- a/docs/input/docs/report-formats/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Order: 60 -Description: Documentation of the different report format addins. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/report-formats/sarif/features.md b/docs/input/docs/report-formats/sarif/features.md deleted file mode 100644 index b2ab2de32..000000000 --- a/docs/input/docs/report-formats/sarif/features.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -Order: 20 -Title: Features -Description: Features of the Cake.Issues.Reporting.Sarif addin. ---- -The [Cake.Issues.Reporting.Sarif addin] provides the following features: - -* Creates SARIF compatible files. -* Supports the following properties in the SARIF report: - * RuleId - * Message - * Kind - * Level - * Location - * RuleUrl - -[Cake.Issues.Reporting.Sarif addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Sarif diff --git a/docs/input/docs/report-formats/sarif/index.cshtml b/docs/input/docs/report-formats/sarif/index.cshtml deleted file mode 100644 index 55d163ac7..000000000 --- a/docs/input/docs/report-formats/sarif/index.cshtml +++ /dev/null @@ -1,12 +0,0 @@ ---- -Title: Sarif -Description: Report format to create SARIF compatible reports. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - Support for creating SARIF compatible reports is implemented in the - Cake.Issues.Reporting.Sarif addin. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/report-formats/sarif/requirements.md b/docs/input/docs/report-formats/sarif/requirements.md deleted file mode 100644 index ab7342854..000000000 --- a/docs/input/docs/report-formats/sarif/requirements.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -Order: 10 -Title: Requirements -Description: Requirements for the Cake.Issues.Reporting.Sarif addin. ---- -The requirements for using the [Cake.Issues.Reporting.Sarif addin] are listed in the [release notes] for any specific version. - -[Cake.Issues.Reporting.Sarif addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Sarif -[release notes]: release-notes \ No newline at end of file diff --git a/docs/input/docs/resources/index.cshtml b/docs/input/docs/resources/index.cshtml deleted file mode 100644 index 030806012..000000000 --- a/docs/input/docs/resources/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Order: 90 -Description: Resources about Cake.Issues. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/thanks.cshtml b/docs/input/docs/thanks.cshtml deleted file mode 100644 index 366ed21e1..000000000 --- a/docs/input/docs/thanks.cshtml +++ /dev/null @@ -1,127 +0,0 @@ ---- -Order: 110 -Title: Thanks -Description: People who brought you Cake Issues ---- - -@* -Based on Code from https://github.com/reactiveui/website - -The MIT License (MIT) - -Copyright (c) 2017 Geoffrey Huntley - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*@ - -

    Contributors

    - - - -
    - - - - diff --git a/docs/input/docs/usage/creating-issues/index.cshtml b/docs/input/docs/usage/creating-issues/index.cshtml deleted file mode 100644 index 901fac32f..000000000 --- a/docs/input/docs/usage/creating-issues/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Order: 20 -Description: How to create issues using Cake.Issues. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/usage/creating-reports/index.cshtml b/docs/input/docs/usage/creating-reports/index.cshtml deleted file mode 100644 index 7fae8a618..000000000 --- a/docs/input/docs/usage/creating-reports/index.cshtml +++ /dev/null @@ -1,11 +0,0 @@ ---- -Order: 40 -Description: How to create reports using Cake.Issues.Reporting. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - For report format specific examples see Report Format Examples. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/usage/index.cshtml b/docs/input/docs/usage/index.cshtml deleted file mode 100644 index ecdcaa164..000000000 --- a/docs/input/docs/usage/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Order: 30 -Description: How to obtain, configure, and use Cake.Issues. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/usage/reading-issues/index.cshtml b/docs/input/docs/usage/reading-issues/index.cshtml deleted file mode 100644 index 39c8dc63a..000000000 --- a/docs/input/docs/usage/reading-issues/index.cshtml +++ /dev/null @@ -1,11 +0,0 @@ ---- -Order: 30 -Description: How to read issues using Cake.Issues. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - For issue provider specific examples see Issue Provider Examples. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/usage/recipe/index.md b/docs/input/docs/usage/recipe/index.md deleted file mode 100644 index db51cae81..000000000 --- a/docs/input/docs/usage/recipe/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -Order: 10 -Description: How to use the pre-made recipe script. ---- - -Examples how to use Cake.Issues recipes can be found under [Recipe Usage]. - -[Recipe Usage]: /docs/recipe/usage \ No newline at end of file diff --git a/docs/input/docs/usage/reporting-issues-to-pull-requests/index.cshtml b/docs/input/docs/usage/reporting-issues-to-pull-requests/index.cshtml deleted file mode 100644 index 5e39a0942..000000000 --- a/docs/input/docs/usage/reporting-issues-to-pull-requests/index.cshtml +++ /dev/null @@ -1,11 +0,0 @@ ---- -Order: 50 -Description: How to report issues to pull requests using Cake.Issues.PullRequests. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -

    - For pull request system specific examples see Pull Request System Examples. -

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/dsl/index.cshtml b/docs/input/dsl/index.cshtml deleted file mode 100644 index 484704f4a..000000000 --- a/docs/input/dsl/index.cshtml +++ /dev/null @@ -1,74 +0,0 @@ ---- -Title: Reference -NoSidebar: true ---- -

    - This reference guide describes the various methods and properties which you can use directly from inside a Cake build script. - These are implemented as script aliases. -

    - -

    - Click on any alias to get detailed information about parameters and examples how to use the alias. -

    - -@{ - // We should only have one alias here - var aliasGroups = - Documents["DslAliases"] - .Single() - .DocumentList(Keys.GroupDocuments) - .SelectMany(x => x.DocumentList(CodeAnalysisKeys.Members)) - .Where(x => x.String("Kind") == "Method") - .Select(x => new - { - Doc = x, - MethodAlias = x.DocumentList(CodeAnalysisKeys.Attributes).Any(attr => attr.String(CodeAnalysisKeys.Name) == "CakeMethodAliasAttribute"), - PropertyAlias = x.DocumentList(CodeAnalysisKeys.Attributes).Any(attr => attr.String(CodeAnalysisKeys.Name) == "CakePropertyAliasAttribute") - }) - .Where(x => x.MethodAlias || x.PropertyAlias) - .GroupBy(x => x.Doc.DocumentList(CodeAnalysisKeys.Attributes) - .Where(attr => attr.String(CodeAnalysisKeys.Name) == "CakeAliasCategoryAttribute") - .Select(attr => attr.Get(CodeAnalysisKeys.AttributeData).ConstructorArguments.FirstOrDefault().Value) - .FirstOrDefault() as string ?? string.Empty) - .OrderBy(x => x.Key); -} - -@foreach(var aliasGroup in aliasGroups) -{ - string groupName = string.IsNullOrEmpty(aliasGroup.Key) ? "General" : aliasGroup.Key; -

    @groupName

    -
    -
    - - @foreach(var alias in aliasGroup.OrderBy(x => x.Doc.String(CodeAnalysisKeys.DisplayName))) - { - - - - - } -
    - @if(alias.MethodAlias) - { - @Context.GetTypeLink(alias.Doc) - } - else - { - @Context.GetTypeLink(alias.Doc, alias.Doc.String("Name")) - } - - @Html.Raw(alias.Doc.String(CodeAnalysisKeys.Summary)) - @{ - IDocument assemblyDoc = alias.Doc.Document(CodeAnalysisKeys.ContainingAssembly); - if(assemblyDoc != null) - { - -
    - Addin from @Context.GetTypeLink(assemblyDoc) -
    - } - } -
    -
    -
    -} \ No newline at end of file diff --git a/docs/input/index.cshtml b/docs/input/index.cshtml deleted file mode 100644 index d7995c017..000000000 --- a/docs/input/index.cshtml +++ /dev/null @@ -1,82 +0,0 @@ ---- -Title: Cake Issues -NoSidebar: true -NoContainer: true -NoGutter: true ---- - -
    -
    -

    Cake Issues

    -

    - Issue Management for the Cake Build System
    -

    - Learn more - Addins - Aliases -
    -
    - -
    -
    -
    - -

    Open-Source

    -

    - Cake Issues is free to use, improve, contribute and distribute. - Source code is available on GitHub under MIT license. -

    -
    -
    - -

    Rich ecosystem

    -

    - Unlike other Cake addins, Cake Issues consists of over 15 different addins, - working together and providing you with over 75 aliases which you can use in your Cake - build scripts to work with issues. -

    -
    -
    - -

    Supports your tooling

    -

    - Read issues from different analyzers, linters or tools. - The growing range of out-of-the-box supported tools include - MSBuild, - JetBrains InspectCode (ReSharper), - ESLint, - Markdownlint, - DocFX. -

    -
    -
    -
    -
    - -

    Reporting

    -

    - Cake Issues provides aliases to create reports from the parsed issues. - There's a generic reporting addin which allows to create reports using out-of-the-box or custom Razor templates - and an addin for creating SARIF compatible files. -

    -
    -
    - -

    Pull request and build workflow integration

    -

    - Issues found on a feature branch can be reported to pull requests or build runs giving developers instant and direct feedback. - There's out of the box support for Azure DevOps, - GitHub Actions and - AppVeyor. -

    -
    -
    - -

    Extensible

    -

    - The addins are built in a modular architecture and are providing different extension points - which allow you to easily enhance it for supporting additional analyzers, linters, report formats and pull request systems. -

    -
    -
    -
    \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml new file mode 100644 index 000000000..210da549b --- /dev/null +++ b/docs/mkdocs.yml @@ -0,0 +1,231 @@ +# Project information +site_name: Cake Issues +site_url: https://cakeissues.net +site_author: Cake Issues Contributors +site_description: Issue Management for the Cake Build System + +# Repository +repo_name: cake-contrib/Cake.Issues +repo_url: https://github.com/cake-contrib/Cake.Issues + +# Copyright +copyright: Copyright © Cake Issues Contributors + +# Build configuration +strict: true +validation: + omitted_files: warn + absolute_links: warn + unrecognized_links: warn + anchors: warn + +# Theme configuration +theme: + name: material + language: en + palette: + # Palette toggle for automatic mode + - media: "(prefers-color-scheme)" + toggle: + icon: material/brightness-auto + name: Switch to light mode + # Palette toggle for light mode + - media: "(prefers-color-scheme: light)" + scheme: default + primary: light blue + toggle: + icon: material/brightness-7 + name: Switch to dark mode + # Palette toggle for dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: deep purple + toggle: + icon: material/brightness-4 + name: Switch to system preference + features: + - content.action.edit + - content.code.copy + - navigation.indexes + - navigation.instant + - navigation.instant.progress + - navigation.tabs + - navigation.tabs.sticky + - search.highlight + - search.suggest + +# Plugins +plugins: + - blog: + post_readtime: true + - search + +# Extensions +markdown_extensions: + - admonition + - attr_list + - md_in_html + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences + - toc: + permalink: true + +# Additional configuration +extra: + social: + - icon: fontawesome/brands/github + link: https://github.com/cake-contrib/Cake.Issues + +# Page tree +nav: + - Home: index.md + - News: + - blog/index.md + - Documentation: + - Overview: + - Introduction: documentation/overview/introduction.md + - Features: documentation/overview/features.md + - Requirements: documentation/overview/requirements.md + - Fundamentals: + - Architecture: documentation/fundamentals/architecture.md + - Versioning: documentation/fundamentals/versioning.md + - Recipe: documentation/fundamentals/recipe.md + - Issue Provider: documentation/fundamentals/issue-provider.md + - Report Format: documentation/fundamentals/report-format.md + - Pull Request System: documentation/fundamentals/pull-request-system.md + - Usage: + - documentation/usage/index.md + - Recipe: documentation/usage/recipe/index.md + - Creating Issues: documentation/usage/creating-issues/creating-issues.md + - Reading Issues: + - documentation/usage/reading-issues/index.md + - Reading Issues: documentation/usage/reading-issues/reading-issues.md + - Additional Run Information: documentation/usage/reading-issues/run-information.md + - File Linking: documentation/usage/reading-issues/file-linking.md + - Creating Reports: + - documentation/usage/creating-reports/index.md + - Creating Reports: documentation/usage/creating-reports/creating-reports.md + - Reporting Issues To Pull Requests: + - documentation/usage/reporting-issues-to-pull-requests/index.md + - Report Issues To Pull Requests: documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md + - Custom Issue Filter: documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md + - Recipe: + - Overview: documentation/recipe/overview.md + - Usage: + - documentation/recipe/usage/index.md + - Cake.Issues.Recipe: documentation/recipe/usage/using-cake-issues-recipe.md + - Cake.Frosting.Issues.Recipe: documentation/recipe/usage/using-cake-frosting-issues-recipe.md + - Supported Tools: documentation/recipe/supported-tools.md + - Demos: documentation/recipe/demos.md + - Configuration: documentation/recipe/configuration.md + - Tasks: documentation/recipe/tasks.md + - Issue Providers: + - documentation/issue-providers/index.md + - DocFx: + - documentation/issue-providers/docfx/index.md + - Features: documentation/issue-providers/docfx/features.md + - Examples: documentation/issue-providers/docfx/examples.md + - ESLint: + - documentation/issue-providers/eslint/index.md + - Features: documentation/issue-providers/eslint/features.md + - Git Repository: + - documentation/issue-providers/gitrepository/index.md + - Features: documentation/issue-providers/gitrepository/features.md + - Examples: documentation/issue-providers/gitrepository/examples.md + - Rules: + - BinaryFileNotTrackedByLfs: documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md + - FilePathTooLong: documentation/issue-providers/gitrepository/rules/FilePathTooLong.md + - InspectCode: + - documentation/issue-providers/inspectcode/index.md + - Features: documentation/issue-providers/inspectcode/features.md + - Examples: documentation/issue-providers/inspectcode/examples.md + - markdownlint: + - documentation/issue-providers/markdownlint/index.md + - Features: documentation/issue-providers/markdownlint/features.md + - Examples: documentation/issue-providers/markdownlint/examples.md + - MsBuild: + - documentation/issue-providers/msbuild/index.md + - Features: documentation/issue-providers/msbuild/features.md + - Examples: documentation/issue-providers/msbuild/examples.md + - Terraform: + - documentation/issue-providers/terraform/index.md + - Features: documentation/issue-providers/terraform/features.md + - Report Formats: + - documentation/report-formats/index.md + - Console: + - documentation/report-formats/console/index.md + - Features: documentation/report-formats/console/features.md + - Examples: documentation/report-formats/console/examples.md + - Generic: + - documentation/report-formats/generic/index.md + - Features: documentation/report-formats/generic/features.md + - Examples: + - Embedded Default Template: documentation/report-formats/generic/examples/default-template.md + - Custom Template: documentation/report-formats/generic/examples/custom-template.md + - Template Gallery: + - documentation/report-formats/generic/templates/index.md + - HTML DevExtreme Data Grid: documentation/report-formats/generic/templates/htmldxdatagrid.md + - HTML Data Table: documentation/report-formats/generic/templates/htmldatatable.md + - HTML Diagnostic: documentation/report-formats/generic/templates/htmldiagnostic.md + - Sarif: + - documentation/report-formats/sarif/index.md + - Features: documentation/report-formats/sarif/features.md + - Examples: documentation/report-formats/sarif/examples.md + - Pull Request Systems: + - documentation/pull-request-systems/index.md + - AppVeyor: + - documentation/pull-request-systems/appveyor/index.md + - Features: documentation/pull-request-systems/appveyor/features.md + - Examples: + - documentation/pull-request-systems/appveyor/examples/index.md + - Writing Messages To AppVeyor: documentation/pull-request-systems/appveyor/examples/write-messages.md + - GitHub Pull Request Integration: documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md + - Azure DevOps: + - documentation/pull-request-systems/azure-devops/index.md + - Features: documentation/pull-request-systems/azure-devops/features.md + - Setup: documentation/pull-request-systems/azure-devops/setup.md + - Examples: + - documentation/pull-request-systems/azure-devops/examples/index.md + - Using With Pull Request ID: documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md + - Using With Repository Remote URL And Source Branch Name: documentation/pull-request-systems/azure-devops/examples/repository-information.md + - Using With Azure Pipelines: documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md + - GitHub Actions: + - documentation/pull-request-systems/github-actions/index.md + - Features: documentation/pull-request-systems/github-actions/features.md + - Examples: + - Create annotations in GitHub Actions: documentation/pull-request-systems/github-actions/examples/write-annotations.md + - Extending: + - documentation/extending/index.md + - Fundamentals: documentation/extending/fundamentals.md + - Issue Provider: + - Overview: documentation/extending/issue-provider/overview.md + - Alias Categories: documentation/extending/issue-provider/categories.md + - Tutorials: + - Simple Issue Provider: documentation/extending/issue-provider/tutorials/simple.md + - Provider Settings: documentation/extending/issue-provider/tutorials/settings.md + - Multiple Log File Formats: documentation/extending/issue-provider/tutorials/logfile-format.md + - Rule URL Resolving: documentation/extending/issue-provider/tutorials/rule-url-resolving.md + - Helper: documentation/extending/issue-provider/helper.md + - Report Format: + - Overview: documentation/extending/report-format/overview.md + - Alias Categories: documentation/extending/report-format/categories.md + - Pull Request System: + - Overview: documentation/extending/pull-request-system/overview.md + - Alias Categories: documentation/extending/pull-request-system/categories.md + - Testing: documentation/extending/testing.md + - Resources: + - Blog Posts: documentation/resources/blog-posts.md + - Presentations: documentation/resources/presentations.md + - Contributing: + - How To Contribute: documentation/contributing/how-to-contribute.md + - Build Instructions: documentation/contributing/how-to-build.md + - Release Instructions: documentation/contributing/how-to-release.md + - API: https://cakebuild.net/extensions/cake-issues/ \ No newline at end of file diff --git a/tests/Cake.Issues.Reporting.Generic/frosting/build/BuildContext.cs b/tests/Cake.Issues.Reporting.Generic/frosting/build/BuildContext.cs index 6547cbbaf..af71dc2fc 100644 --- a/tests/Cake.Issues.Reporting.Generic/frosting/build/BuildContext.cs +++ b/tests/Cake.Issues.Reporting.Generic/frosting/build/BuildContext.cs @@ -13,7 +13,7 @@ public BuildContext(ICakeContext context) : base(context) { this.RepoRootFolder = context.MakeAbsolute(context.Directory("./../..")); - this.TemplateGalleryFolder = this.RepoRootFolder.Combine("../../docs/input/docs/report-formats/generic/templates"); + this.TemplateGalleryFolder = this.RepoRootFolder.Combine("../../docs/docs/documentation/report-formats/generic/templates"); this.Issues = new List(); } diff --git a/tests/Cake.Issues.Reporting.Generic/script-runner/build.cake b/tests/Cake.Issues.Reporting.Generic/script-runner/build.cake index 8f0d44afc..52556e2bb 100644 --- a/tests/Cake.Issues.Reporting.Generic/script-runner/build.cake +++ b/tests/Cake.Issues.Reporting.Generic/script-runner/build.cake @@ -16,7 +16,7 @@ public class BuildData public BuildData(ICakeContext context) { this.RepoRootFolder = context.MakeAbsolute(context.Directory("./")); - this.TemplateGalleryFolder = this.RepoRootFolder.Combine("../../../docs/input/docs/report-formats/generic/templates"); + this.TemplateGalleryFolder = this.RepoRootFolder.Combine("../../../docs/docs/documentation/report-formats/generic/templates"); this.Issues = new List(); } From b43a246356298335143319546c531ea6d1054925 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 11:20:01 +0100 Subject: [PATCH 095/201] Add pip requirements (#824) --- docs/requirements.tx | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 docs/requirements.tx diff --git a/docs/requirements.tx b/docs/requirements.tx new file mode 100644 index 000000000..25adbf760 --- /dev/null +++ b/docs/requirements.tx @@ -0,0 +1,2 @@ +mkdocs==1.6.1 +mkdocs-material==9.5.47 \ No newline at end of file From 2d9d376461e1abf7c4407206aa91f9e7f8f95d9d Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 11:31:04 +0100 Subject: [PATCH 096/201] Add PushPreview pipeline (#825) --- .github/workflows/pushpreview.yml | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/pushpreview.yml diff --git a/.github/workflows/pushpreview.yml b/.github/workflows/pushpreview.yml new file mode 100644 index 000000000..e49431dc0 --- /dev/null +++ b/.github/workflows/pushpreview.yml @@ -0,0 +1,38 @@ +name: PushPreview + +# Workflow Trigger +on: + # Triggers the workflow if a pull request is labeled with 'preview' + pull_request_target: + types: + - labeled + +jobs: + preview: + runs-on: ubuntu-latest + if: github.event.label.name == 'preview' + steps: + - name: Get the sources + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - name: Comment + run: | + gh pr comment ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --body "⚙️ Hang tight! PushPreview is currently building your preview. We'll share the URL as soon as it's ready." + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: 3.13.1 + - name: Set BASE_URL + run: echo "BASE_URL=/github/${{ github.repository }}/${{ github.event.number }}/" >> $GITHUB_ENV + - name: Build site + run: | + cd docs + pip install -r requirements.txt + mkdocs build + - name: Generate preview + uses: PushLabsHQ/pushpreview-action@1.0.6 + with: + source-directory: ./docs/site + github-token: ${{ secrets.GITHUB_TOKEN }} + pushpreview-token: ${{ secrets.PUSHPREVIEW_TOKEN }} \ No newline at end of file From 078ee2a8ef639424a3e2e2b551d710c5894b61d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Dec 2024 11:32:35 +0100 Subject: [PATCH 097/201] Pin dependencies (#826) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/pushpreview.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pushpreview.yml b/.github/workflows/pushpreview.yml index e49431dc0..5526cba1b 100644 --- a/.github/workflows/pushpreview.yml +++ b/.github/workflows/pushpreview.yml @@ -20,7 +20,7 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install Python - uses: actions/setup-python@v4 + uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # v4 with: python-version: 3.13.1 - name: Set BASE_URL @@ -31,7 +31,7 @@ jobs: pip install -r requirements.txt mkdocs build - name: Generate preview - uses: PushLabsHQ/pushpreview-action@1.0.6 + uses: PushLabsHQ/pushpreview-action@cf958f7be2bf55d3f56d351bb9abf56b4c6b9a50 # 1.0.6 with: source-directory: ./docs/site github-token: ${{ secrets.GITHUB_TOKEN }} From 74f0b3515a5104e26b28e826494437194221ee28 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 12:17:47 +0100 Subject: [PATCH 098/201] Fix name of pip requirements file (#828) --- docs/{requirements.tx => requirements.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{requirements.tx => requirements.txt} (100%) diff --git a/docs/requirements.tx b/docs/requirements.txt similarity index 100% rename from docs/requirements.tx rename to docs/requirements.txt From 758f0c701ad297edcb4bf9e5a08109061a091726 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Dec 2024 12:21:30 +0100 Subject: [PATCH 099/201] Update dependency mkdocs-material to v9.5.49 (#829) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 25adbf760..2a17c45b3 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,2 @@ mkdocs==1.6.1 -mkdocs-material==9.5.47 \ No newline at end of file +mkdocs-material==9.5.49 \ No newline at end of file From aa4e1fcfabc047c392e08adc14dde6bb0e8bd11e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Dec 2024 12:22:29 +0100 Subject: [PATCH 100/201] Update actions/setup-python action to v5 (#827) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/pushpreview.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pushpreview.yml b/.github/workflows/pushpreview.yml index 5526cba1b..b34e58f8a 100644 --- a/.github/workflows/pushpreview.yml +++ b/.github/workflows/pushpreview.yml @@ -20,7 +20,7 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install Python - uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # v4 + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 with: python-version: 3.13.1 - name: Set BASE_URL From 27354719c9c6e439794a0daa5a232a204a0f3b08 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 12:29:49 +0100 Subject: [PATCH 101/201] Create CNAME --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..13e7ced67 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +cakeissues.net \ No newline at end of file From e2d833790fb1c8835e3d85c5f32043ab0fa99daa Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 12:46:03 +0100 Subject: [PATCH 102/201] Add support for multiple versions (#823) --- docs/mkdocs.yml | 3 +++ docs/overrides/main.html | 8 ++++++++ docs/requirements.txt | 1 + 3 files changed, 12 insertions(+) create mode 100644 docs/overrides/main.html diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 210da549b..4e67d9806 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -22,6 +22,7 @@ validation: # Theme configuration theme: name: material + custom_dir: overrides language: en palette: # Palette toggle for automatic mode @@ -80,6 +81,8 @@ markdown_extensions: # Additional configuration extra: + version: + provider: mike social: - icon: fontawesome/brands/github link: https://github.com/cake-contrib/Cake.Issues diff --git a/docs/overrides/main.html b/docs/overrides/main.html new file mode 100644 index 000000000..35591d61c --- /dev/null +++ b/docs/overrides/main.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} + +{% block outdated %} + You're not viewing the latest version. + + Click here to go to latest. + +{% endblock %} \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt index 2a17c45b3..0e4d464e6 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,3 @@ +mike==2.1.3 mkdocs==1.6.1 mkdocs-material==9.5.49 \ No newline at end of file From 0a3fbb5a99ce8fe8fff84010c78cd39b2da03322 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 12:53:04 +0100 Subject: [PATCH 103/201] Add pipelines for website publishing (#822) --- .github/workflows/publish-develop-docs.yml | 35 ++++++++++++++++++++++ .github/workflows/publish-release-docs.yml | 34 +++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 .github/workflows/publish-develop-docs.yml create mode 100644 .github/workflows/publish-release-docs.yml diff --git a/.github/workflows/publish-develop-docs.yml b/.github/workflows/publish-develop-docs.yml new file mode 100644 index 000000000..72d1a23b6 --- /dev/null +++ b/.github/workflows/publish-develop-docs.yml @@ -0,0 +1,35 @@ +name: Publish Develop Docs + +# Workflow Trigger +on: + # Triggers the workflow in the event there is a push to develop + push: + branches: + - develop + +permissions: + contents: write + +jobs: + deploy: + name: Build & Publish Docs + runs-on: ubuntu-latest + steps: + - name: Get the sources + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + with: + fetch-depth: 0 + - name: Install Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 + with: + python-version: 3.13.1 + - name: Install Dependencies + run: pip install -r requirements.txt + working-directory: ./docs + - name: Configure Git + run: | + git config --global user.name "Build Server" + git config --global user.email "ci@cakeissues.net" + - name: Build & Publish + run: mike deploy --push develop + working-directory: ./docs diff --git a/.github/workflows/publish-release-docs.yml b/.github/workflows/publish-release-docs.yml new file mode 100644 index 000000000..e45606e54 --- /dev/null +++ b/.github/workflows/publish-release-docs.yml @@ -0,0 +1,34 @@ +name: Publish Release Docs + +# Workflow Trigger +on: + # Triggers the workflow in the event there is a release created + release: + types: [published] + +permissions: + contents: write + +jobs: + deploy: + name: Build & Publish Docs + runs-on: ubuntu-latest + steps: + - name: Get the sources + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + with: + fetch-depth: 0 + - name: Install Python + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 + with: + python-version: 3.13.1 + - name: Install Dependencies + run: pip install -r requirements.txt + working-directory: ./docs + - name: Configure Git + run: | + git config --global user.name "Build Server" + git config --global user.email "ci@cakeissues.net" + - name: Build & Publish + run: mike deploy --push --update-aliases ${{ github.event.release.tag_name }} latest + working-directory: ./docs From 4df501fbc0c582307185805f3db26b846dba3a52 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 14:09:24 +0100 Subject: [PATCH 104/201] Don't run addin build / test pipelines if there are only documentation changes (#834) --- .github/workflows/integrationtests.yml | 8 ++++++-- .github/workflows/unittests.yml | 8 ++++++-- azure-pipelines.yml | 24 +++++++++++++++++------- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/.github/workflows/integrationtests.yml b/.github/workflows/integrationtests.yml index 890da6622..1a261e582 100644 --- a/.github/workflows/integrationtests.yml +++ b/.github/workflows/integrationtests.yml @@ -2,12 +2,16 @@ name: Integration tests # Workflow Trigger on: - # Trigger the workflow on a pull request to any branch + # Trigger the workflow on a pull request to any branch, ignoring changes to /docs pull_request: - # Triggers the workflow in the event there is a push to master + paths-ignore: + - 'docs/**' + # Trigger the workflow on pushes to the master branch, ignoring changes to /docs push: branches: - master + paths-ignore: + - 'docs/**' jobs: # Build diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index f3e116887..3abd78c8b 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -2,12 +2,16 @@ name: Unit tests # Workflow Trigger on: - # Trigger the workflow on a pull request to any branch + # Trigger the workflow on a pull request to any branch, ignoring changes to /docs pull_request: - # Triggers the workflow in the event there is a push to master + paths-ignore: + - 'docs/**' + # Trigger the workflow on pushes to the master branch, ignoring changes to /docs push: branches: - master + paths-ignore: + - 'docs/**' jobs: Test: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index c791689ec..d71eb25bc 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,13 +1,23 @@ trigger: -- develop -- master -- release/* -- hotfix/* + branches: + include: + - develop + - master + - release/* + - hotfix/* + paths: + exclude: + - docs/** pr: -- develop -- release/* -- hotfix/* + branches: + include: + - develop + - release/* + - hotfix/* + paths: + exclude: + - docs/** stages: - template: .azuredevops/pipelines/templates/stages/build.yml From bafc040856c17a524db575b0084d58d3834d2cb2 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 14:11:44 +0100 Subject: [PATCH 105/201] Open API link in new tab (#833) --- docs/mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 4e67d9806..842d98aee 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -231,4 +231,4 @@ nav: - How To Contribute: documentation/contributing/how-to-contribute.md - Build Instructions: documentation/contributing/how-to-build.md - Release Instructions: documentation/contributing/how-to-release.md - - API: https://cakebuild.net/extensions/cake-issues/ \ No newline at end of file + - API: https://cakebuild.net/extensions/cake-issues/" target="_blank \ No newline at end of file From 12b9b80f9986c57b2b31c58782a8b00dd08ad8f6 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 14:19:45 +0100 Subject: [PATCH 106/201] Remove no longer required CNAME (#835) --- CNAME | 1 - 1 file changed, 1 deletion(-) delete mode 100644 CNAME diff --git a/CNAME b/CNAME deleted file mode 100644 index 13e7ced67..000000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -cakeissues.net \ No newline at end of file From ca33e1adba247d4a49919fe97a1b4e713f300f86 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 16:36:45 +0100 Subject: [PATCH 107/201] Add build targets for website (#836) --- CONTRIBUTING.md | 38 +++++++++++++++++++++++++++++++++----- recipe.cake | 27 +++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 078295e35..cdc692810 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,25 +11,53 @@ To contribute: * Push your feature branch. * Create a pull request. -## Build +## Building -To build this package we are using Cake. +### Prerequisites + +General requirements: + +* .NET Core 2.1, .NET Core 3.0, .NET Core 3.1, .NET 5 or .NET 6 for running the build + +For building addins: + +* .NET 9 SKD + +For building website: + +* Python 3 + +### Building addins + +On Windows PowerShell run: + +```powershell +./build.ps1 +``` + +On OSX/Linux run: + +```bash +.\build.sh +``` + +### Start website On Windows PowerShell run: ```powershell -./build +./build.ps1 --target=website ``` On OSX/Linux run: ```bash -./build.sh +./build.sh --target=website ``` ## Release See [Cake.Recipe documentation] how to create a new release of this addin. -[GitFlow]: (http://nvie.com/posts/a-successful-git-branching-model/) +[GitFlow]: (https://nvie.com/posts/a-successful-git-branching-model/) [Cake.Recipe documentation]: https://cake-contrib.github.io/Cake.Recipe/docs/usage/creating-release \ No newline at end of file diff --git a/recipe.cake b/recipe.cake index 9e43db445..c0e49bee6 100644 --- a/recipe.cake +++ b/recipe.cake @@ -169,6 +169,33 @@ BuildParameters.Tasks.UploadCodecovReportTask // Custom tasks //************************************************************************************************* +Task("Install-WebsiteDependencies") + .Description("Install dependencies required for building website.") + .Does(() => +{ + StartProcess( + "pip", + new ProcessSettings { + Arguments = "install -r requirements.txt", + WorkingDirectory = "./docs" + } + ); +}); + +Task("Website") + .Description("Previews website.") + .IsDependentOn("Install-WebsiteDependencies") + .Does(() => +{ + StartProcess( + "mkdocs", + new ProcessSettings { + Arguments = "serve", + WorkingDirectory = "./docs" + } + ); +}); + Task("BreakBuildOnIssues") .Description("Breaks build if any issues in the code are found.") .Does((data) => From 5d7026e349377cb162e31ec5ad88e876a84c58dc Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 21 Dec 2024 16:38:12 +0100 Subject: [PATCH 108/201] Add blog post for new website (#837) --- .../docs/blog/posts/2024-12-21-new-website.md | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 docs/docs/blog/posts/2024-12-21-new-website.md diff --git a/docs/docs/blog/posts/2024-12-21-new-website.md b/docs/docs/blog/posts/2024-12-21-new-website.md new file mode 100644 index 000000000..e239016cf --- /dev/null +++ b/docs/docs/blog/posts/2024-12-21-new-website.md @@ -0,0 +1,31 @@ +--- +title: New website +date: 2024-12-21 +categories: + - Announcements +--- + +Today a new version of the Cake Issues website has been published. + + + +The Cake Issues website was introduced 2017 as a static website built using [Wyam](https://github.com/Wyamio/Wyam){target="_blank"}, +like the [Cake website](https://cakebuild.net/){target="_blank"}. +Using [Wyam](https://github.com/Wyamio/Wyam){target="_blank"} allowed to add full API documentation and other features like list of addins or overview of open issues across all addins. + +[Wyam](https://github.com/Wyamio/Wyam){target="_blank"} is no longer maintained, +with [Statiq](https://www.statiq.dev/){target="_blank"} as its successor. +Unfortunately also the deployment pipeline for the Cake Issues website stopped working in 2023, resulting in the website no longer receiving updates. + +Since the introduction of the Cake Issues website seven years ago, the [Cake website](https://cakebuild.net/){target="_blank"} also has been improved, +among other things, with a dedicated page for each addin listing the aliases the addin provides. +These improvements made a full API documentation on Cake Issues website somehow redundant. + +With .NET API documentation no longer being a requirement there are much more tooling options available. +The choice was made to use [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/){target="_blank"}, +which comes with a lot of features for writing technical documentation. + +One of the features of the new website is support for multiple versions using [mike](https://github.com/jimporter/mike){target="_blank"}. +`https://cakeissues.net/latest/` will always point to the documentation of the latest released version. +`https://cakeissues.net/develop/` points to the documentation of the current development branch. +Beside that there's now a version selector in the header to show documentation for any old version. From a93f6e84e1817e012af2baf84fb8a59397732b5a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 22 Dec 2024 19:36:05 +0100 Subject: [PATCH 109/201] Update dependency Verify.Xunit to 28.7.0 (#838) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .../packages.lock.json | 24 +++++++++---------- src/Directory.Packages.props | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/Cake.Issues.PullRequests.Tests/packages.lock.json b/src/Cake.Issues.PullRequests.Tests/packages.lock.json index 63d192735..4afb6e174 100644 --- a/src/Cake.Issues.PullRequests.Tests/packages.lock.json +++ b/src/Cake.Issues.PullRequests.Tests/packages.lock.json @@ -62,15 +62,15 @@ }, "Verify.Xunit": { "type": "Direct", - "requested": "[28.6.1, )", - "resolved": "28.6.1", - "contentHash": "eWnA699UxHjL1KUikEOiiOAU+6aynTHpZ5dByDPRHzvleGzqvfmMX4kyNIUED4nWkOzk9Qe9xxNKNCmae+w1qw==", + "requested": "[28.7.0, )", + "resolved": "28.7.0", + "contentHash": "i6/QuflCD9Ky3HVtTY9IaM9Z05jWtMq0hmu34gRXFYvPmEap8kKdFnT76K/06SkV8BbOYx6ZSnjeg4RyaW+B4g==", "dependencies": { "Argon": "0.26.0", "DiffEngine": "15.6.0", "SimpleInfoName": "3.1.0", "System.IO.Hashing": "9.0.0", - "Verify": "28.6.1", + "Verify": "28.7.0", "xunit.abstractions": "2.0.3", "xunit.extensibility.execution": "2.9.2" } @@ -224,8 +224,8 @@ }, "Verify": { "type": "Transitive", - "resolved": "28.6.1", - "contentHash": "XvwxRwquFTh4DD8Y2BUuvewIoQh+TT0gwIu9VUBXo5vssYgN748T5x5gwFWG9w4ScLZW1lo4WyqXMq2FQdJeBg==", + "resolved": "28.7.0", + "contentHash": "kbbDhWmzJXiijLuJ1ysL5jyJr2PJJ9sCgj/qbEG+LRKsXnYXCid6wVmUw/ciyVUeyH38iNtyAKtVj6YS7Q0zlg==", "dependencies": { "Argon": "0.26.0", "DiffEngine": "15.6.0", @@ -390,15 +390,15 @@ }, "Verify.Xunit": { "type": "Direct", - "requested": "[28.6.1, )", - "resolved": "28.6.1", - "contentHash": "eWnA699UxHjL1KUikEOiiOAU+6aynTHpZ5dByDPRHzvleGzqvfmMX4kyNIUED4nWkOzk9Qe9xxNKNCmae+w1qw==", + "requested": "[28.7.0, )", + "resolved": "28.7.0", + "contentHash": "i6/QuflCD9Ky3HVtTY9IaM9Z05jWtMq0hmu34gRXFYvPmEap8kKdFnT76K/06SkV8BbOYx6ZSnjeg4RyaW+B4g==", "dependencies": { "Argon": "0.26.0", "DiffEngine": "15.6.0", "SimpleInfoName": "3.1.0", "System.IO.Hashing": "9.0.0", - "Verify": "28.6.1", + "Verify": "28.7.0", "xunit.abstractions": "2.0.3", "xunit.extensibility.execution": "2.9.2" } @@ -552,8 +552,8 @@ }, "Verify": { "type": "Transitive", - "resolved": "28.6.1", - "contentHash": "XvwxRwquFTh4DD8Y2BUuvewIoQh+TT0gwIu9VUBXo5vssYgN748T5x5gwFWG9w4ScLZW1lo4WyqXMq2FQdJeBg==", + "resolved": "28.7.0", + "contentHash": "kbbDhWmzJXiijLuJ1ysL5jyJr2PJJ9sCgj/qbEG+LRKsXnYXCid6wVmUw/ciyVUeyH38iNtyAKtVj6YS7Q0zlg==", "dependencies": { "Argon": "0.26.0", "DiffEngine": "15.6.0", diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 9c057471a..ae1a14587 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -20,7 +20,7 @@ - + From bafeaf173d2595d0e1df9df1fc1c4ce86d25172b Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 24 Dec 2024 00:42:52 +0100 Subject: [PATCH 110/201] Improve addin overview pages (#839) --- .../fundamentals/architecture.md | 6 ++-- .../fundamentals/issue-provider.md | 13 --------- .../fundamentals/pull-request-system.md | 15 ---------- .../fundamentals/report-format.md | 15 ---------- .../documentation/issue-providers/index.md | 28 +++++++++++++++++++ .../pull-request-systems/index.md | 21 ++++++++++++++ .../documentation/report-formats/index.md | 21 ++++++++++++++ docs/mkdocs.yml | 3 -- 8 files changed, 73 insertions(+), 49 deletions(-) delete mode 100644 docs/docs/documentation/fundamentals/issue-provider.md delete mode 100644 docs/docs/documentation/fundamentals/pull-request-system.md delete mode 100644 docs/docs/documentation/fundamentals/report-format.md diff --git a/docs/docs/documentation/fundamentals/architecture.md b/docs/docs/documentation/fundamentals/architecture.md index 8ea4d8258..e1decb60e 100644 --- a/docs/docs/documentation/fundamentals/architecture.md +++ b/docs/docs/documentation/fundamentals/architecture.md @@ -16,6 +16,6 @@ The core consists of the following addins: | Cake.Issues.Reporting | Provides aliases for creating reports for issues. Support for different report formats can be provided through additional [report format] addins. | | Cake.Issues.PullRequests | Provides aliases for reporting issues as comments to pull requests. Support for different pull request systems can be provided through additional [pull request system] addins. | -[issue provider]: issue-provider.md -[report format]: report-format.md -[pull request system]: pull-request-system.md +[issue provider]: ../issue-providers/index.md +[report format]: ../report-formats/index.md +[pull request system]: ../pull-request-systems/index.md diff --git a/docs/docs/documentation/fundamentals/issue-provider.md b/docs/docs/documentation/fundamentals/issue-provider.md deleted file mode 100644 index 9f9032f25..000000000 --- a/docs/docs/documentation/fundamentals/issue-provider.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Issue Provider -description: Overview about issue providers. ---- - -Issue provider addins are responsible for providing the output of an analyzer or linter to the Cake Issues addin. - -See [Issue Provider] for a list of currently supported analyzers and linters. - -See [How to implement issue providers] for instruction on how to implement support for additional issue providers. - -[Issue Provider]: ../issue-providers/index.md -[How to implement issue providers]: ../extending/issue-provider/overview.md diff --git a/docs/docs/documentation/fundamentals/pull-request-system.md b/docs/docs/documentation/fundamentals/pull-request-system.md deleted file mode 100644 index e9f473e0e..000000000 --- a/docs/docs/documentation/fundamentals/pull-request-system.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Pull Request System -description: Overview about pull request system implementations. ---- - -Pull request addins implement specific Pull Request Systems and allow the -Cake Issues addin to write found issues as comments to pull requests. - -See [Pull Request Systems] for a list of currently supported pull request systems. - -See [How to implement pull request systems] for instruction on how to implement support for -additional pull request systems. - -[Pull Request Systems]: ../pull-request-systems/index.md -[How to implement pull request systems]: ../extending/pull-request-system/overview.md diff --git a/docs/docs/documentation/fundamentals/report-format.md b/docs/docs/documentation/fundamentals/report-format.md deleted file mode 100644 index 20d0b38b3..000000000 --- a/docs/docs/documentation/fundamentals/report-format.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Report Format -description: Overview about report format implementations. ---- - -Report format addins implement specific report formats and allow the -Cake Issues addin to create reports in the specific format. - -See [Report Formats] for a list of currently supported report formats. - -See [How to implement report format] for instruction on how to implement support for -additional report formats. - -[Report Formats]: ../report-formats/index.md -[How to implement report format]: ../extending/report-format/overview.md diff --git a/docs/docs/documentation/issue-providers/index.md b/docs/docs/documentation/issue-providers/index.md index 66eff4003..39054ed5f 100644 --- a/docs/docs/documentation/issue-providers/index.md +++ b/docs/docs/documentation/issue-providers/index.md @@ -2,3 +2,31 @@ title: Issue Providers description: Documentation of the different issue provider addins. --- + +Issue provider addins are responsible for providing the output of an analyzer or linter to the Cake Issues addin. + +
    + +- :material-layers-plus: __[DocFx]__ – Issue provider for reading DocFx warnings +- :material-layers-plus: __[ESLint]__ – Issue provider for reading ESLint issues +- :material-layers-plus: __[Git Repository]__ – Issue provider for analyzing Git repositories +- :material-layers-plus: __[Inspect Code]__ – Issue provider for reading JetBrains Inspect Code / ReSharper issues +- :material-layers-plus: __[Markdownlint]__ – Issue provider for reading issues from markdownlint +- :material-layers-plus: __[MsBuild]__ – Issue provider for reading MsBuild errors and warnings +- :material-layers-plus: __Sarif__ – Issue provider for reading SARIF reports +- :material-layers-plus: __[Terraform]__ – Issue provider for reading Terraform validation output + +
    + +[DocFx]: docfx/index.md +[ESLint]: eslint/index.md +[Git Repository]: gitrepository/index.md +[Inspect Code]: inspectcode/index.md +[Markdownlint]: markdownlint/index.md +[MsBuild]: msbuild/index.md +[Terraform]: terraform/index.md + +!!! tip + See [How to implement issue providers] for instruction on how to implement support for additional issue providers. + +[How to implement issue providers]: ../extending/issue-provider/overview.md diff --git a/docs/docs/documentation/pull-request-systems/index.md b/docs/docs/documentation/pull-request-systems/index.md index 40b483447..abd2d72b4 100644 --- a/docs/docs/documentation/pull-request-systems/index.md +++ b/docs/docs/documentation/pull-request-systems/index.md @@ -2,3 +2,24 @@ title: Pull Request Systems description: Documentation of the different pull request system implementations. --- + +Pull request addins implement specific Pull Request Systems and allow the +Cake Issues addin to write found issues as comments to pull requests. + +
    + +- :material-source-pull: __[AppVeyor]__ – Integration with AppVeyor builds +- :material-source-pull: __[Azure DevOps]__ – Integration with Azure DevOps pull requests +- :material-source-pull: __[GitHub Actions]__ – Integration with GitHub Actions + +
    + +[AppVeyor]: appveyor/index.md +[Azure DevOps]: azure-devops/index.md +[GitHub Actions]: github-actions/index.md + +!!! tip + See [How to implement pull request systems] for instruction on how to implement support for + additional pull request systems. + +[How to implement pull request systems]: ../extending/pull-request-system/overview.md diff --git a/docs/docs/documentation/report-formats/index.md b/docs/docs/documentation/report-formats/index.md index c0287e92b..e14771e2c 100644 --- a/docs/docs/documentation/report-formats/index.md +++ b/docs/docs/documentation/report-formats/index.md @@ -2,3 +2,24 @@ title: Report Formats description: Documentation of the different report format addins. --- + +Report format addins implement specific report formats and allow the +Cake Issues addin to create reports in the specific format. + +
    + +- :material-printer: __[Console]__ – Support for reporting issues to the console +- :material-printer: __[Generic]__ – Support for creating reports in any text based format (HTML, Markdown, ...) +- :material-printer: __[Sarif]__ – Support for creating reports in SARIF format + +
    + +[Console]: console/index.md +[Generic]: generic/index.md +[Sarif]: sarif/index.md + +!!! tip + See [How to implement report format] for instruction on how to implement support for + additional report formats. + +[How to implement report format]: ../extending/report-format/overview.md diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 842d98aee..976665bd0 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -101,9 +101,6 @@ nav: - Architecture: documentation/fundamentals/architecture.md - Versioning: documentation/fundamentals/versioning.md - Recipe: documentation/fundamentals/recipe.md - - Issue Provider: documentation/fundamentals/issue-provider.md - - Report Format: documentation/fundamentals/report-format.md - - Pull Request System: documentation/fundamentals/pull-request-system.md - Usage: - documentation/usage/index.md - Recipe: documentation/usage/recipe/index.md From fa3839ff060b1197d1307b4171cc3b233bb52dce Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 24 Dec 2024 10:51:45 +0100 Subject: [PATCH 111/201] Add list of known supported tools (#840) --- .../assets/tables/supported-tools.csv | 28 +++++++++++++++++++ docs/docs/documentation/supported-tools.md | 12 ++++++++ docs/mkdocs.yml | 2 ++ docs/requirements.txt | 3 +- 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 docs/docs/documentation/assets/tables/supported-tools.csv create mode 100644 docs/docs/documentation/supported-tools.md diff --git a/docs/docs/documentation/assets/tables/supported-tools.csv b/docs/docs/documentation/assets/tables/supported-tools.csv new file mode 100644 index 000000000..fd39d35f2 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools.csv @@ -0,0 +1,28 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[DocFx](https://dotnet.github.io/docfx/){target='_blank'}",,,"[Cake.Issues.DocFx](issue-providers/docfx/index.md)",0.1.0, +"[dupFinder](https://www.jetbrains.com/help/resharper/2021.2/dupFinder.html){target='_blank'}",,,"Cake.Issues.DupFinder",0.8.0,"Deprecated since [dupFinder Command Line Tool has been sunsetted](https://blog.jetbrains.com/dotnet/2021/08/12/sunsetting-dupfinder-command-line-tool/){target='_blank'}" +"[ESLint](https://eslint.org){target='_blank'}","Current","[json](https://eslint.org/docs/latest/use/formatters/#json){target='_blank'}","[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, +"[Hadolint](https://github.com/hadolint/hadolint){target='_blank'}",,"sarif","Cake.Issues.Sarif",4.2.0, +"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",,"xml","[Cake.Issues.InspectCode](issue-providers/inspectcode/index.md)",0.1.0, +"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",">= 2024.1","SARIF","Cake.Issues.Sarif",4.2.0, +"[markdownlint](https://github.com/DavidAnson/markdownlint){target='_blank'}",,"resultVersion=1","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.1.0, +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",< 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.2.0, +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.3.0, +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.19.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.1, +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.22.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.2, +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",,"json","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",1.1.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 7","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.6.1, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 8","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.8.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 9","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",2.0.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 16","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",3.0.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 17","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.0.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 18","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.1.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 20","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.3.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 21","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.7.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 22","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.10.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 23","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.11.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 24","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.12.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[XmlFileLogger](https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.1.0, +"[Terraform Validate](https://www.terraform.io/docs/cli/commands/validate.html){target='_blank'}",,,"[Cake.Issues.Terraform](issue-providers/terraform/index.md)",1.0.0, +"[TFLint](https://github.com/terraform-linters/tflint){target='_blank'}",,"sarif","Cake.Issues.Sarif",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/supported-tools.md b/docs/docs/documentation/supported-tools.md new file mode 100644 index 000000000..e15b93df7 --- /dev/null +++ b/docs/docs/documentation/supported-tools.md @@ -0,0 +1,12 @@ +--- +title: Supported Tools +description: List of tools know to be supported by Cake.Issues. +--- + +This pages lists tools known to be working with Cake Issues (1) +{ .annotate } + +1. If you have used Cake Issues with other we would like to hear from you. + You can add it to this list by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues/tree/develop/docs/docs/documentation/assets/tables/supported-tools.csv){target='_blank'}. + +{{ read_csv('assets/tables/supported-tools.csv',keep_default_na=False) }} diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 976665bd0..053a8fdf5 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -60,6 +60,7 @@ plugins: - blog: post_readtime: true - search + - table-reader # Extensions markdown_extensions: @@ -117,6 +118,7 @@ nav: - documentation/usage/reporting-issues-to-pull-requests/index.md - Report Issues To Pull Requests: documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md - Custom Issue Filter: documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md + - Supported Tools: documentation/supported-tools.md - Recipe: - Overview: documentation/recipe/overview.md - Usage: diff --git a/docs/requirements.txt b/docs/requirements.txt index 0e4d464e6..192ebbf09 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,3 +1,4 @@ mike==2.1.3 mkdocs==1.6.1 -mkdocs-material==9.5.49 \ No newline at end of file +mkdocs-material==9.5.49 +mkdocs-table-reader-plugin==3.1.0 \ No newline at end of file From 0438e7a91e864555e18b4bc9281c4bd726f80bde Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 24 Dec 2024 14:34:40 +0100 Subject: [PATCH 112/201] Link release notes on top-level navigation (#841) --- docs/mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 053a8fdf5..d77a4930f 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -230,4 +230,5 @@ nav: - How To Contribute: documentation/contributing/how-to-contribute.md - Build Instructions: documentation/contributing/how-to-build.md - Release Instructions: documentation/contributing/how-to-release.md + - Release Notes: https://github.com/cake-contrib/Cake.Issues/releases" target="_blank - API: https://cakebuild.net/extensions/cake-issues/" target="_blank \ No newline at end of file From cae019be16378b1d3220794c0a2b786b0f9c2e09 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Dec 2024 09:33:45 +0100 Subject: [PATCH 113/201] Update dotnet monorepo (#843) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- src/Images/Dockerfile.net8-bookworm | 2 +- src/Images/Dockerfile.net9-bookworm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Images/Dockerfile.net8-bookworm b/src/Images/Dockerfile.net8-bookworm index 1dfb9652a..ac126fa06 100644 --- a/src/Images/Dockerfile.net8-bookworm +++ b/src/Images/Dockerfile.net8-bookworm @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:8.0.404-bookworm-slim@sha256:032381bcea86fa0a408af5df63a930f1ff5b03116c940a7cd744d3b648e66749 +FROM mcr.microsoft.com/dotnet/sdk:8.0.404-bookworm-slim@sha256:f25e4f51fa06e3b14af1a1135013a3e96055b76caa0e76afc0096d64a77879fd RUN wget https://aka.ms/getvsdbgsh && \ sh getvsdbgsh -v latest -l /vsdbg \ No newline at end of file diff --git a/src/Images/Dockerfile.net9-bookworm b/src/Images/Dockerfile.net9-bookworm index f55e24169..e78664e44 100644 --- a/src/Images/Dockerfile.net9-bookworm +++ b/src/Images/Dockerfile.net9-bookworm @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:9.0.101-bookworm-slim@sha256:fe8ceeca5ee197deba95419e3b85c32744970b730ae11645e13f1cb74a848d98 +FROM mcr.microsoft.com/dotnet/sdk:9.0.101-bookworm-slim@sha256:3fcf6f1e809c0553f9feb222369f58749af314af6f063f389cbd2f913b4ad556 RUN wget https://aka.ms/getvsdbgsh && \ sh getvsdbgsh -v latest -l /vsdbg \ No newline at end of file From 540d58650cf0ea8025df7bc8356758247a618ea1 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 26 Dec 2024 11:34:48 +0100 Subject: [PATCH 114/201] Add more tools supported through SARIF (#842) --- .../assets/tables/supported-tools-ansible.csv | 4 + .../assets/tables/supported-tools-arm.csv | 4 + .../assets/tables/supported-tools-bicep.csv | 3 + .../assets/tables/supported-tools-cfn.csv | 5 + .../assets/tables/supported-tools-docker.csv | 5 + .../assets/tables/supported-tools-dotnet.csv | 16 ++++ .../tables/supported-tools-github-actions.csv | 3 + .../assets/tables/supported-tools-go.csv | 2 + .../assets/tables/supported-tools-groovy.csv | 2 + .../assets/tables/supported-tools-helm.csv | 4 + .../assets/tables/supported-tools-java.csv | 2 + .../tables/supported-tools-javascript.csv | 2 + .../assets/tables/supported-tools-json.csv | 3 + .../assets/tables/supported-tools-jsx.csv | 3 + .../assets/tables/supported-tools-kotlin.csv | 3 + .../tables/supported-tools-kubernetes.csv | 4 + .../tables/supported-tools-markdown.csv | 8 ++ .../assets/tables/supported-tools-openapi.csv | 4 + .../assets/tables/supported-tools-php.csv | 2 + .../tables/supported-tools-protobuf.csv | 2 + .../assets/tables/supported-tools-python.csv | 2 + .../assets/tables/supported-tools-secrets.csv | 6 ++ .../tables/supported-tools-terraform.csv | 6 ++ .../tables/supported-tools-typescript.csv | 2 + .../assets/tables/supported-tools.csv | 28 ------ docs/docs/documentation/supported-tools.md | 96 ++++++++++++++++++- 26 files changed, 192 insertions(+), 29 deletions(-) create mode 100644 docs/docs/documentation/assets/tables/supported-tools-ansible.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-arm.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-bicep.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-cfn.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-docker.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-dotnet.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-github-actions.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-go.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-groovy.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-helm.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-java.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-javascript.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-json.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-jsx.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-kotlin.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-markdown.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-openapi.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-php.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-protobuf.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-python.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-secrets.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-terraform.csv create mode 100644 docs/docs/documentation/assets/tables/supported-tools-typescript.csv delete mode 100644 docs/docs/documentation/assets/tables/supported-tools.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-ansible.csv b/docs/docs/documentation/assets/tables/supported-tools-ansible.csv new file mode 100644 index 000000000..052536470 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-ansible.csv @@ -0,0 +1,4 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[Ansible-lint](https://ansible.readthedocs.io/projects/lint/){target='_blank'}",,"[SARIF](https://ansible.readthedocs.io/projects/lint/usage/#sarif-json){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-arm.csv b/docs/docs/documentation/assets/tables/supported-tools-arm.csv new file mode 100644 index 000000000..c44b90eac --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-arm.csv @@ -0,0 +1,4 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-bicep.csv b/docs/docs/documentation/assets/tables/supported-tools-bicep.csv new file mode 100644 index 000000000..df25d5bb4 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-bicep.csv @@ -0,0 +1,3 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-cfn.csv b/docs/docs/documentation/assets/tables/supported-tools-cfn.csv new file mode 100644 index 000000000..d83ace04e --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-cfn.csv @@ -0,0 +1,5 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[cfn-lint](https://github.com/aws-cloudformation/cfn-lint){target='_blank'}",,"[SARIF](https://github.com/aws-cloudformation/cfn-lint?tab=readme-ov-file#parameters){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-docker.csv b/docs/docs/documentation/assets/tables/supported-tools-docker.csv new file mode 100644 index 000000000..2f38c65f7 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-docker.csv @@ -0,0 +1,5 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[Hadolint](https://github.com/hadolint/hadolint){target='_blank'}",,"[sarif](https://github.com/hadolint/hadolint?tab=readme-ov-file#cli){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv b/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv new file mode 100644 index 000000000..c3534822a --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv @@ -0,0 +1,16 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[dupFinder](https://www.jetbrains.com/help/resharper/2021.2/dupFinder.html){target='_blank'}",,,"Cake.Issues.DupFinder",0.8.0,"Deprecated since [dupFinder Command Line Tool has been sunsetted](https://blog.jetbrains.com/dotnet/2021/08/12/sunsetting-dupfinder-command-line-tool/){target='_blank'}" +"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",,"[xml](https://www.jetbrains.com/help/resharper/InspectCode.html#alternative-output-formats){target='_blank'}","[Cake.Issues.InspectCode](issue-providers/inspectcode/index.md)",0.1.0, +"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",">= 2024.1","[SARIF](https://www.jetbrains.com/help/resharper/InspectCode.html#understanding-output){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 7](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.6.1, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 8](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.8.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 9](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",2.0.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 16](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",3.0.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 17](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.0.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 18](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.1.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 20](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.3.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 21](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.7.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 22](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.10.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 23](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.11.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 24](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.12.0, +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[XmlFileLogger](https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.1.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv b/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv new file mode 100644 index 000000000..0531fc50d --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv @@ -0,0 +1,3 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[actionlint](https://github.com/rhysd/actionlint){target='_blank'}",,"[SARIF](https://github.com/rhysd/actionlint/blob/v1.7.4/docs/usage.md#example-sarif-format){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-go.csv b/docs/docs/documentation/assets/tables/supported-tools-go.csv new file mode 100644 index 000000000..e32688984 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-go.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[golangci-lint](https://github.com/golangci/golangci-lint){target='_blank'}",,"[sarif](https://golangci-lint.run/usage/configuration/#output-configuration){target='_blank'}","Cake.Issues.Sarif",4.2.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-groovy.csv b/docs/docs/documentation/assets/tables/supported-tools-groovy.csv new file mode 100644 index 000000000..22874b2f0 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-groovy.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[npm-groovy-lint](https://github.com/nvuillam/npm-groovy-lint){target='_blank'}",,"[sarif](https://github.com/nvuillam/npm-groovy-lint?tab=readme-ov-file#usage){target='_blank'}","Cake.Issues.Sarif",4.2.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-helm.csv b/docs/docs/documentation/assets/tables/supported-tools-helm.csv new file mode 100644 index 000000000..c44b90eac --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-helm.csv @@ -0,0 +1,4 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-java.csv b/docs/docs/documentation/assets/tables/supported-tools-java.csv new file mode 100644 index 000000000..8905aeee8 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-java.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[checkstyle](https://checkstyle.org/){target='_blank'}",,"[sarif](https://checkstyle.org/cmdline.html#Command_line_usage_Command_Line_Options){target='_blank'}","Cake.Issues.Sarif",4.2.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-javascript.csv b/docs/docs/documentation/assets/tables/supported-tools-javascript.csv new file mode 100644 index 000000000..3d6b4ed4c --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-javascript.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[ESLint](https://eslint.org){target='_blank'}","Current","[json](https://eslint.org/docs/latest/use/formatters/#json){target='_blank'}","[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-json.csv b/docs/docs/documentation/assets/tables/supported-tools-json.csv new file mode 100644 index 000000000..1af619815 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-json.csv @@ -0,0 +1,3 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[eslint-plugin-json](https://www.npmjs.com/package/eslint-plugin-json){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, +"[eslint-plugin-jsonc](https://www.npmjs.com/package/eslint-plugin-jsonc){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-jsx.csv b/docs/docs/documentation/assets/tables/supported-tools-jsx.csv new file mode 100644 index 000000000..694b9979a --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-jsx.csv @@ -0,0 +1,3 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, +"[eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv b/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv new file mode 100644 index 000000000..6f9e50e18 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv @@ -0,0 +1,3 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[detekt](https://detekt.dev/){target='_blank'}",,[sarif](https://detekt.dev/docs/introduction/reporting#sarif),"Cake.Issues.Sarif",4.2.0, +"[ktlint](https://pinterest.github.io/ktlint){target='_blank'}",,[sarif](https://pinterest.github.io/ktlint/latest/install/cli/#violation-reporting),"Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv b/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv new file mode 100644 index 000000000..d5fc2491d --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv @@ -0,0 +1,4 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-markdown.csv b/docs/docs/documentation/assets/tables/supported-tools-markdown.csv new file mode 100644 index 000000000..91ded375b --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-markdown.csv @@ -0,0 +1,8 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[DocFx](https://dotnet.github.io/docfx/){target='_blank'}",,,"[Cake.Issues.DocFx](issue-providers/docfx/index.md)",0.1.0, +"[markdownlint](https://github.com/DavidAnson/markdownlint){target='_blank'}",,"[resultVersion=1](https://github.com/DavidAnson/markdownlint?tab=readme-ov-file#optionsresultversion){target='_blank'}","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.1.0, +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",< 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.2.0, +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.3.0, +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.19.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.1, +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.22.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.2, +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",,"[json](https://github.com/igorshubovych/markdownlint-cli?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",1.1.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-openapi.csv b/docs/docs/documentation/assets/tables/supported-tools-openapi.csv new file mode 100644 index 000000000..0504f5f8a --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-openapi.csv @@ -0,0 +1,4 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[Spectral](https://meta.stoplight.io/docs/spectral/674b27b261c3c-overview){target='_blank'}",,[sarif](https://meta.stoplight.io/docs/spectral/9ffa04e052cc1-spectral-cli),"Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-php.csv b/docs/docs/documentation/assets/tables/supported-tools-php.csv new file mode 100644 index 000000000..e84c1a5a4 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-php.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[Psalm](https://psalm.dev/){target='_blank'}",,[results.sarif](https://psalm.dev/docs/security_analysis/#other-sarif-compatible-software),"Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv b/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv new file mode 100644 index 000000000..effbc0b02 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[protolint](https://github.com/yoheimuta/protolint){target='_blank'}",,[sarif](https://github.com/yoheimuta/protolint?tab=readme-ov-file#reporters),"Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-python.csv b/docs/docs/documentation/assets/tables/supported-tools-python.csv new file mode 100644 index 000000000..fd0008a16 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-python.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[Bandit](https://bandit.readthedocs.io/){target='_blank'}",,[sarif](https://bandit.readthedocs.io/en/latest/formatters/sarif.html),"Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-secrets.csv b/docs/docs/documentation/assets/tables/supported-tools-secrets.csv new file mode 100644 index 000000000..d04928497 --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-secrets.csv @@ -0,0 +1,6 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[DevSkim](https://github.com/microsoft/DevSkim){target='_blank'}",,[sarif](https://github.com/microsoft/DevSkim/wiki/Analyze-Command#output-file-and-format),"Cake.Issues.Sarif",4.2.0, +"[gitleaks](https://gitleaks.io/){target='_blank'}",,[sarif](https://github.com/gitleaks/gitleaks?tab=readme-ov-file#reporting),"Cake.Issues.Sarif",4.2.0, +"[secretlint](https://github.com/secretlint/secretlint){target='_blank'}",,[sarif](https://github.com/secretlint/secretlint?tab=readme-ov-file#sarif-format-support),"Cake.Issues.Sarif",4.2.0, +"[semgrep](https://semgrep.dev/){target='_blank'}",,[sarif](https://semgrep.dev/docs/getting-started/cli#scan-your-project),"Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-terraform.csv b/docs/docs/documentation/assets/tables/supported-tools-terraform.csv new file mode 100644 index 000000000..64e94bc3d --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-terraform.csv @@ -0,0 +1,6 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[Terraform Validate](https://www.terraform.io/docs/cli/commands/validate.html){target='_blank'}",,,"[Cake.Issues.Terraform](issue-providers/terraform/index.md)",1.0.0, +"[TFLint](https://github.com/terraform-linters/tflint){target='_blank'}",,"[sarif](https://github.com/terraform-linters/tflint?tab=readme-ov-file#usage){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-typescript.csv b/docs/docs/documentation/assets/tables/supported-tools-typescript.csv new file mode 100644 index 000000000..3d6b4ed4c --- /dev/null +++ b/docs/docs/documentation/assets/tables/supported-tools-typescript.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" +"[ESLint](https://eslint.org){target='_blank'}","Current","[json](https://eslint.org/docs/latest/use/formatters/#json){target='_blank'}","[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools.csv b/docs/docs/documentation/assets/tables/supported-tools.csv deleted file mode 100644 index fd39d35f2..000000000 --- a/docs/docs/documentation/assets/tables/supported-tools.csv +++ /dev/null @@ -1,28 +0,0 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[DocFx](https://dotnet.github.io/docfx/){target='_blank'}",,,"[Cake.Issues.DocFx](issue-providers/docfx/index.md)",0.1.0, -"[dupFinder](https://www.jetbrains.com/help/resharper/2021.2/dupFinder.html){target='_blank'}",,,"Cake.Issues.DupFinder",0.8.0,"Deprecated since [dupFinder Command Line Tool has been sunsetted](https://blog.jetbrains.com/dotnet/2021/08/12/sunsetting-dupfinder-command-line-tool/){target='_blank'}" -"[ESLint](https://eslint.org){target='_blank'}","Current","[json](https://eslint.org/docs/latest/use/formatters/#json){target='_blank'}","[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, -"[Hadolint](https://github.com/hadolint/hadolint){target='_blank'}",,"sarif","Cake.Issues.Sarif",4.2.0, -"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",,"xml","[Cake.Issues.InspectCode](issue-providers/inspectcode/index.md)",0.1.0, -"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",">= 2024.1","SARIF","Cake.Issues.Sarif",4.2.0, -"[markdownlint](https://github.com/DavidAnson/markdownlint){target='_blank'}",,"resultVersion=1","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.1.0, -"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",< 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.2.0, -"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.3.0, -"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.19.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.1, -"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.22.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.2, -"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",,"json","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",1.1.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 7","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.6.1, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 8","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.8.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 9","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",2.0.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 16","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",3.0.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 17","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.0.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 18","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.1.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 20","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.3.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 21","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.7.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 22","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.10.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 23","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.11.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"Binary Log 24","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.12.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[XmlFileLogger](https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.1.0, -"[Terraform Validate](https://www.terraform.io/docs/cli/commands/validate.html){target='_blank'}",,,"[Cake.Issues.Terraform](issue-providers/terraform/index.md)",1.0.0, -"[TFLint](https://github.com/terraform-linters/tflint){target='_blank'}",,"sarif","Cake.Issues.Sarif",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, diff --git a/docs/docs/documentation/supported-tools.md b/docs/docs/documentation/supported-tools.md index e15b93df7..c5bf9e43b 100644 --- a/docs/docs/documentation/supported-tools.md +++ b/docs/docs/documentation/supported-tools.md @@ -9,4 +9,98 @@ This pages lists tools known to be working with Cake Issues (1) 1. If you have used Cake Issues with other we would like to hear from you. You can add it to this list by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues/tree/develop/docs/docs/documentation/assets/tables/supported-tools.csv){target='_blank'}. -{{ read_csv('assets/tables/supported-tools.csv',keep_default_na=False) }} +## .NET + +{{ read_csv('assets/tables/supported-tools-dotnet.csv',keep_default_na=False) }} + +## Ansible + +{{ read_csv('assets/tables/supported-tools-ansible.csv',keep_default_na=False) }} + +## Amazon Cloud Formation Templates + +{{ read_csv('assets/tables/supported-tools-cfn.csv',keep_default_na=False) }} + +## Azure Resource Manager (ARM) + +{{ read_csv('assets/tables/supported-tools-arm.csv',keep_default_na=False) }} + +## Bicep + +{{ read_csv('assets/tables/supported-tools-bicep.csv',keep_default_na=False) }} + +## Dockerfile + +{{ read_csv('assets/tables/supported-tools-docker.csv',keep_default_na=False) }} + +## GitHub Actions + +{{ read_csv('assets/tables/supported-tools-github-actions.csv',keep_default_na=False) }} + +## Go + +{{ read_csv('assets/tables/supported-tools-go.csv',keep_default_na=False) }} + +## Groovy + +{{ read_csv('assets/tables/supported-tools-groovy.csv',keep_default_na=False) }} + +## Helm charts + +{{ read_csv('assets/tables/supported-tools-helm.csv',keep_default_na=False) }} + +## Java + +{{ read_csv('assets/tables/supported-tools-java.csv',keep_default_na=False) }} + +## JavaScript + +{{ read_csv('assets/tables/supported-tools-javascript.csv',keep_default_na=False) }} + +## JSON + +{{ read_csv('assets/tables/supported-tools-json.csv',keep_default_na=False) }} + +## JSX & TSX + +{{ read_csv('assets/tables/supported-tools-jsx.csv',keep_default_na=False) }} + +## Kotlin + +{{ read_csv('assets/tables/supported-tools-kotlin.csv',keep_default_na=False) }} + +## Kubernetes + +{{ read_csv('assets/tables/supported-tools-kubernetes.csv',keep_default_na=False) }} + +## Markdown + +{{ read_csv('assets/tables/supported-tools-markdown.csv',keep_default_na=False) }} + +## OpenAPI + +{{ read_csv('assets/tables/supported-tools-openapi.csv',keep_default_na=False) }} + +## PHP + +{{ read_csv('assets/tables/supported-tools-php.csv',keep_default_na=False) }} + +## Protobuf + +{{ read_csv('assets/tables/supported-tools-protobuf.csv',keep_default_na=False) }} + +## Python + +{{ read_csv('assets/tables/supported-tools-python.csv',keep_default_na=False) }} + +## Secrets + +{{ read_csv('assets/tables/supported-tools-secrets.csv',keep_default_na=False) }} + +## Terraform + +{{ read_csv('assets/tables/supported-tools-terraform.csv',keep_default_na=False) }} + +## TypeScript + +{{ read_csv('assets/tables/supported-tools-typescript.csv',keep_default_na=False) }} From bc9ca2fabd079b2a9dce78a876d6a85575505f33 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 26 Dec 2024 12:50:46 +0100 Subject: [PATCH 115/201] Add documentation for Cake.Issues.Sarif (#844) --- .../assets/tables/supported-tools-ansible.csv | 6 ++-- .../assets/tables/supported-tools-arm.csv | 6 ++-- .../assets/tables/supported-tools-bicep.csv | 4 +-- .../assets/tables/supported-tools-cfn.csv | 8 ++--- .../assets/tables/supported-tools-docker.csv | 8 ++--- .../assets/tables/supported-tools-dotnet.csv | 2 +- .../tables/supported-tools-github-actions.csv | 4 +-- .../assets/tables/supported-tools-go.csv | 2 +- .../assets/tables/supported-tools-groovy.csv | 2 +- .../assets/tables/supported-tools-helm.csv | 6 ++-- .../assets/tables/supported-tools-java.csv | 2 +- .../assets/tables/supported-tools-kotlin.csv | 4 +-- .../tables/supported-tools-kubernetes.csv | 6 ++-- .../assets/tables/supported-tools-openapi.csv | 6 ++-- .../assets/tables/supported-tools-php.csv | 2 +- .../tables/supported-tools-protobuf.csv | 2 +- .../assets/tables/supported-tools-python.csv | 2 +- .../assets/tables/supported-tools-secrets.csv | 10 +++--- .../tables/supported-tools-terraform.csv | 8 ++--- .../documentation/issue-providers/index.md | 3 +- .../issue-providers/sarif/features.md | 34 +++++++++++++++++++ .../issue-providers/sarif/index.md | 7 ++++ docs/mkdocs.yml | 3 ++ 23 files changed, 91 insertions(+), 46 deletions(-) create mode 100644 docs/docs/documentation/issue-providers/sarif/features.md create mode 100644 docs/docs/documentation/issue-providers/sarif/index.md diff --git a/docs/docs/documentation/assets/tables/supported-tools-ansible.csv b/docs/docs/documentation/assets/tables/supported-tools-ansible.csv index 052536470..b5dadbc80 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-ansible.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-ansible.csv @@ -1,4 +1,4 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[Ansible-lint](https://ansible.readthedocs.io/projects/lint/){target='_blank'}",,"[SARIF](https://ansible.readthedocs.io/projects/lint/usage/#sarif-json){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, \ No newline at end of file +"[Ansible-lint](https://ansible.readthedocs.io/projects/lint/){target='_blank'}",,"[SARIF](https://ansible.readthedocs.io/projects/lint/usage/#sarif-json){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-arm.csv b/docs/docs/documentation/assets/tables/supported-tools-arm.csv index c44b90eac..5c8e64840 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-arm.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-arm.csv @@ -1,4 +1,4 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-bicep.csv b/docs/docs/documentation/assets/tables/supported-tools-bicep.csv index df25d5bb4..97ab8a57a 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-bicep.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-bicep.csv @@ -1,3 +1,3 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-cfn.csv b/docs/docs/documentation/assets/tables/supported-tools-cfn.csv index d83ace04e..0a23e5644 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-cfn.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-cfn.csv @@ -1,5 +1,5 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[cfn-lint](https://github.com/aws-cloudformation/cfn-lint){target='_blank'}",,"[SARIF](https://github.com/aws-cloudformation/cfn-lint?tab=readme-ov-file#parameters){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[cfn-lint](https://github.com/aws-cloudformation/cfn-lint){target='_blank'}",,"[SARIF](https://github.com/aws-cloudformation/cfn-lint?tab=readme-ov-file#parameters){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-docker.csv b/docs/docs/documentation/assets/tables/supported-tools-docker.csv index 2f38c65f7..17ae8e30e 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-docker.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-docker.csv @@ -1,5 +1,5 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[Hadolint](https://github.com/hadolint/hadolint){target='_blank'}",,"[sarif](https://github.com/hadolint/hadolint?tab=readme-ov-file#cli){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[Hadolint](https://github.com/hadolint/hadolint){target='_blank'}",,"[sarif](https://github.com/hadolint/hadolint?tab=readme-ov-file#cli){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv b/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv index c3534822a..590189dea 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv @@ -1,7 +1,7 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" "[dupFinder](https://www.jetbrains.com/help/resharper/2021.2/dupFinder.html){target='_blank'}",,,"Cake.Issues.DupFinder",0.8.0,"Deprecated since [dupFinder Command Line Tool has been sunsetted](https://blog.jetbrains.com/dotnet/2021/08/12/sunsetting-dupfinder-command-line-tool/){target='_blank'}" "[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",,"[xml](https://www.jetbrains.com/help/resharper/InspectCode.html#alternative-output-formats){target='_blank'}","[Cake.Issues.InspectCode](issue-providers/inspectcode/index.md)",0.1.0, -"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",">= 2024.1","[SARIF](https://www.jetbrains.com/help/resharper/InspectCode.html#understanding-output){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",">= 2024.1","[SARIF](https://www.jetbrains.com/help/resharper/InspectCode.html#understanding-output){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, "[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 7](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.6.1, "[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 8](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.8.0, "[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 9](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",2.0.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv b/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv index 0531fc50d..c47bd5cba 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv @@ -1,3 +1,3 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[actionlint](https://github.com/rhysd/actionlint){target='_blank'}",,"[SARIF](https://github.com/rhysd/actionlint/blob/v1.7.4/docs/usage.md#example-sarif-format){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[actionlint](https://github.com/rhysd/actionlint){target='_blank'}",,"[SARIF](https://github.com/rhysd/actionlint/blob/v1.7.4/docs/usage.md#example-sarif-format){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-go.csv b/docs/docs/documentation/assets/tables/supported-tools-go.csv index e32688984..534e0e352 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-go.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-go.csv @@ -1,2 +1,2 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[golangci-lint](https://github.com/golangci/golangci-lint){target='_blank'}",,"[sarif](https://golangci-lint.run/usage/configuration/#output-configuration){target='_blank'}","Cake.Issues.Sarif",4.2.0, \ No newline at end of file +"[golangci-lint](https://github.com/golangci/golangci-lint){target='_blank'}",,"[sarif](https://golangci-lint.run/usage/configuration/#output-configuration){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-groovy.csv b/docs/docs/documentation/assets/tables/supported-tools-groovy.csv index 22874b2f0..d7914def3 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-groovy.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-groovy.csv @@ -1,2 +1,2 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[npm-groovy-lint](https://github.com/nvuillam/npm-groovy-lint){target='_blank'}",,"[sarif](https://github.com/nvuillam/npm-groovy-lint?tab=readme-ov-file#usage){target='_blank'}","Cake.Issues.Sarif",4.2.0, \ No newline at end of file +"[npm-groovy-lint](https://github.com/nvuillam/npm-groovy-lint){target='_blank'}",,"[sarif](https://github.com/nvuillam/npm-groovy-lint?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-helm.csv b/docs/docs/documentation/assets/tables/supported-tools-helm.csv index c44b90eac..5c8e64840 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-helm.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-helm.csv @@ -1,4 +1,4 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-java.csv b/docs/docs/documentation/assets/tables/supported-tools-java.csv index 8905aeee8..f9bc51517 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-java.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-java.csv @@ -1,2 +1,2 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkstyle](https://checkstyle.org/){target='_blank'}",,"[sarif](https://checkstyle.org/cmdline.html#Command_line_usage_Command_Line_Options){target='_blank'}","Cake.Issues.Sarif",4.2.0, \ No newline at end of file +"[checkstyle](https://checkstyle.org/){target='_blank'}",,"[sarif](https://checkstyle.org/cmdline.html#Command_line_usage_Command_Line_Options){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv b/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv index 6f9e50e18..feb8abbac 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv @@ -1,3 +1,3 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[detekt](https://detekt.dev/){target='_blank'}",,[sarif](https://detekt.dev/docs/introduction/reporting#sarif),"Cake.Issues.Sarif",4.2.0, -"[ktlint](https://pinterest.github.io/ktlint){target='_blank'}",,[sarif](https://pinterest.github.io/ktlint/latest/install/cli/#violation-reporting),"Cake.Issues.Sarif",4.2.0, +"[detekt](https://detekt.dev/){target='_blank'}",,[sarif](https://detekt.dev/docs/introduction/reporting#sarif),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[ktlint](https://pinterest.github.io/ktlint){target='_blank'}",,[sarif](https://pinterest.github.io/ktlint/latest/install/cli/#violation-reporting),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv b/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv index d5fc2491d..c29f0643f 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv @@ -1,4 +1,4 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, \ No newline at end of file +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-openapi.csv b/docs/docs/documentation/assets/tables/supported-tools-openapi.csv index 0504f5f8a..6237cf938 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-openapi.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-openapi.csv @@ -1,4 +1,4 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[Spectral](https://meta.stoplight.io/docs/spectral/674b27b261c3c-overview){target='_blank'}",,[sarif](https://meta.stoplight.io/docs/spectral/9ffa04e052cc1-spectral-cli),"Cake.Issues.Sarif",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[Spectral](https://meta.stoplight.io/docs/spectral/674b27b261c3c-overview){target='_blank'}",,[sarif](https://meta.stoplight.io/docs/spectral/9ffa04e052cc1-spectral-cli),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-php.csv b/docs/docs/documentation/assets/tables/supported-tools-php.csv index e84c1a5a4..47346b49c 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-php.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-php.csv @@ -1,2 +1,2 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[Psalm](https://psalm.dev/){target='_blank'}",,[results.sarif](https://psalm.dev/docs/security_analysis/#other-sarif-compatible-software),"Cake.Issues.Sarif",4.2.0, +"[Psalm](https://psalm.dev/){target='_blank'}",,[results.sarif](https://psalm.dev/docs/security_analysis/#other-sarif-compatible-software),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv b/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv index effbc0b02..1d794f5f7 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv @@ -1,2 +1,2 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[protolint](https://github.com/yoheimuta/protolint){target='_blank'}",,[sarif](https://github.com/yoheimuta/protolint?tab=readme-ov-file#reporters),"Cake.Issues.Sarif",4.2.0, +"[protolint](https://github.com/yoheimuta/protolint){target='_blank'}",,[sarif](https://github.com/yoheimuta/protolint?tab=readme-ov-file#reporters),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-python.csv b/docs/docs/documentation/assets/tables/supported-tools-python.csv index fd0008a16..c71372a7d 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-python.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-python.csv @@ -1,2 +1,2 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[Bandit](https://bandit.readthedocs.io/){target='_blank'}",,[sarif](https://bandit.readthedocs.io/en/latest/formatters/sarif.html),"Cake.Issues.Sarif",4.2.0, +"[Bandit](https://bandit.readthedocs.io/){target='_blank'}",,[sarif](https://bandit.readthedocs.io/en/latest/formatters/sarif.html),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-secrets.csv b/docs/docs/documentation/assets/tables/supported-tools-secrets.csv index d04928497..895093719 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-secrets.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-secrets.csv @@ -1,6 +1,6 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[DevSkim](https://github.com/microsoft/DevSkim){target='_blank'}",,[sarif](https://github.com/microsoft/DevSkim/wiki/Analyze-Command#output-file-and-format),"Cake.Issues.Sarif",4.2.0, -"[gitleaks](https://gitleaks.io/){target='_blank'}",,[sarif](https://github.com/gitleaks/gitleaks?tab=readme-ov-file#reporting),"Cake.Issues.Sarif",4.2.0, -"[secretlint](https://github.com/secretlint/secretlint){target='_blank'}",,[sarif](https://github.com/secretlint/secretlint?tab=readme-ov-file#sarif-format-support),"Cake.Issues.Sarif",4.2.0, -"[semgrep](https://semgrep.dev/){target='_blank'}",,[sarif](https://semgrep.dev/docs/getting-started/cli#scan-your-project),"Cake.Issues.Sarif",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[DevSkim](https://github.com/microsoft/DevSkim){target='_blank'}",,[sarif](https://github.com/microsoft/DevSkim/wiki/Analyze-Command#output-file-and-format),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[gitleaks](https://gitleaks.io/){target='_blank'}",,[sarif](https://github.com/gitleaks/gitleaks?tab=readme-ov-file#reporting),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[secretlint](https://github.com/secretlint/secretlint){target='_blank'}",,[sarif](https://github.com/secretlint/secretlint?tab=readme-ov-file#sarif-format-support),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[semgrep](https://semgrep.dev/){target='_blank'}",,[sarif](https://semgrep.dev/docs/getting-started/cli#scan-your-project),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/assets/tables/supported-tools-terraform.csv b/docs/docs/documentation/assets/tables/supported-tools-terraform.csv index 64e94bc3d..bb1c535e5 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-terraform.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-terraform.csv @@ -1,6 +1,6 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, "[Terraform Validate](https://www.terraform.io/docs/cli/commands/validate.html){target='_blank'}",,,"[Cake.Issues.Terraform](issue-providers/terraform/index.md)",1.0.0, -"[TFLint](https://github.com/terraform-linters/tflint){target='_blank'}",,"[sarif](https://github.com/terraform-linters/tflint?tab=readme-ov-file#usage){target='_blank'}","Cake.Issues.Sarif",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","Cake.Issues.Sarif",4.2.0, +"[TFLint](https://github.com/terraform-linters/tflint){target='_blank'}",,"[sarif](https://github.com/terraform-linters/tflint?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, diff --git a/docs/docs/documentation/issue-providers/index.md b/docs/docs/documentation/issue-providers/index.md index 39054ed5f..21a63aa15 100644 --- a/docs/docs/documentation/issue-providers/index.md +++ b/docs/docs/documentation/issue-providers/index.md @@ -13,7 +13,7 @@ Issue provider addins are responsible for providing the output of an analyzer or - :material-layers-plus: __[Inspect Code]__ – Issue provider for reading JetBrains Inspect Code / ReSharper issues - :material-layers-plus: __[Markdownlint]__ – Issue provider for reading issues from markdownlint - :material-layers-plus: __[MsBuild]__ – Issue provider for reading MsBuild errors and warnings -- :material-layers-plus: __Sarif__ – Issue provider for reading SARIF reports +- :material-layers-plus: __[Sarif]__ – Issue provider for reading SARIF reports - :material-layers-plus: __[Terraform]__ – Issue provider for reading Terraform validation output @@ -24,6 +24,7 @@ Issue provider addins are responsible for providing the output of an analyzer or [Inspect Code]: inspectcode/index.md [Markdownlint]: markdownlint/index.md [MsBuild]: msbuild/index.md +[Sarif]: sarif/index.md [Terraform]: terraform/index.md !!! tip diff --git a/docs/docs/documentation/issue-providers/sarif/features.md b/docs/docs/documentation/issue-providers/sarif/features.md new file mode 100644 index 000000000..7863b0f12 --- /dev/null +++ b/docs/docs/documentation/issue-providers/sarif/features.md @@ -0,0 +1,34 @@ +--- +title: Features +description: Features of the Cake.Issues.Sarif addin. +--- + +The [Cake.Issues.Sarif addin](https://cakebuild.net/extensions/cake-issues-terraform/){target="_blank"} provides the following features: + +## Basic features + +* Reads issues from files in [SARIF](https://sarifweb.azurewebsites.net/){target="_blank"} format. + +## Supported IIssue properties + +| | Property | Remarks | +|------------------|-----------------------------------|----------------------------------| +| :material-check: | `IIssue.ProviderType` | | +| :material-check: | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| :material-check: | `IIssue.AffectedFileRelativePath` | | +| :material-check: | `IIssue.Line` | | +| :material-check: | `IIssue.EndLine` | | +| :material-check: | `IIssue.Column` | | +| :material-check: | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| :material-check: | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| :material-check: | `IIssue.MessageMarkdown` | | +| :material-check: | `IIssue.Priority` | | +| :material-check: | `IIssue.PriorityName` | | +| :material-check: | `IIssue.Rule` | | +| :material-check: | `IIssue.RuleUrl` | | diff --git a/docs/docs/documentation/issue-providers/sarif/index.md b/docs/docs/documentation/issue-providers/sarif/index.md new file mode 100644 index 000000000..0ae370be0 --- /dev/null +++ b/docs/docs/documentation/issue-providers/sarif/index.md @@ -0,0 +1,7 @@ +--- +title: Sarif +description: Issue provider which allows you to read issues from SARIF files. +--- + +Support for reading issues in [SARIF](https://sarifweb.azurewebsites.net/){target="_blank"} format +is implemented in the [Cake.Issues.Sarif addin](https://cakebuild.net/extensions/cake-issues-sarif/){target="_blank"}. diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index d77a4930f..9c99db9c3 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -157,6 +157,9 @@ nav: - documentation/issue-providers/msbuild/index.md - Features: documentation/issue-providers/msbuild/features.md - Examples: documentation/issue-providers/msbuild/examples.md + - Sarif: + - documentation/issue-providers/sarif/index.md + - Features: documentation/issue-providers/sarif/features.md - Terraform: - documentation/issue-providers/terraform/index.md - Features: documentation/issue-providers/terraform/features.md From e130a2f9658026f7c4143df1fdbbe82e036ab79a Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 26 Dec 2024 13:12:59 +0100 Subject: [PATCH 116/201] Use annotation for pinning note (#845) --- .../documentation/issue-providers/docfx/examples.md | 12 +++++------- .../issue-providers/gitrepository/examples.md | 8 ++------ .../issue-providers/inspectcode/examples.md | 12 +++++------- .../issue-providers/markdownlint/examples.md | 12 +++++------- .../issue-providers/msbuild/examples.md | 12 +++++------- .../appveyor/examples/write-messages.md | 8 ++------ .../azure-devops/examples/azure-pipelines.md | 8 ++------ .../azure-devops/examples/pullrequest-id.md | 8 ++------ .../azure-devops/examples/repository-information.md | 8 ++------ .../github-actions/examples/write-annotations.md | 8 ++------ .../documentation/report-formats/console/examples.md | 10 +++------- .../generic/examples/custom-template.md | 10 +++------- .../generic/examples/default-template.md | 10 +++------- .../documentation/report-formats/sarif/examples.md | 10 +++------- .../usage/creating-issues/creating-issues.md | 8 ++------ .../usage/creating-reports/creating-reports.md | 12 +++++------- .../usage/reading-issues/reading-issues.md | 12 +++++------- .../custom-issue-filter.md | 10 +++------- .../report-issues-to-pull-requests.md | 12 +++++------- docs/mkdocs.yml | 1 + docs/snippets/pinning.md | 4 ++++ 21 files changed, 69 insertions(+), 126 deletions(-) create mode 100644 docs/snippets/pinning.md diff --git a/docs/docs/documentation/issue-providers/docfx/examples.md b/docs/docs/documentation/issue-providers/docfx/examples.md index 00f2d7ee7..776a20261 100644 --- a/docs/docs/documentation/issue-providers/docfx/examples.md +++ b/docs/docs/documentation/issue-providers/docfx/examples.md @@ -10,21 +10,19 @@ To call [DocFx](https://dotnet.github.io/docfx/){target="_blank"} from a Cake sc use the [Cake.DocFx](https://cakebuild.net/extensions/cake-docfx/){target="_blank"} addin. ```csharp -#addin "Cake.DocFx" +#addin "Cake.DocFx" // (1)! ``` +--8<-- "snippets/pinning.md" + To read issues from DocFx log files you need to import the core addin and the DocFx support: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.DocFx" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" We need some global variables: diff --git a/docs/docs/documentation/issue-providers/gitrepository/examples.md b/docs/docs/documentation/issue-providers/gitrepository/examples.md index d055e4159..582887eb8 100644 --- a/docs/docs/documentation/issue-providers/gitrepository/examples.md +++ b/docs/docs/documentation/issue-providers/gitrepository/examples.md @@ -13,15 +13,11 @@ The following example prints the number of binary files which are not tracked by To analyze Git repositories you need to import the core addin and the Git repository support: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.GitRepository" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" We need some global variables: diff --git a/docs/docs/documentation/issue-providers/inspectcode/examples.md b/docs/docs/documentation/issue-providers/inspectcode/examples.md index 2e535381e..8b42137d1 100644 --- a/docs/docs/documentation/issue-providers/inspectcode/examples.md +++ b/docs/docs/documentation/issue-providers/inspectcode/examples.md @@ -8,21 +8,19 @@ The following example will call [JetBrains InspectCode] and output the number of To call [JetBrains InspectCode] from a Cake script you need to add the `JetBrains.ReSharper.CommandLineTools`: ```csharp -#tool "nuget:?package=JetBrains.ReSharper.CommandLineTools" +#tool "nuget:?package=JetBrains.ReSharper.CommandLineTools" // (1)! ``` +--8<-- "snippets/pinning.md" + To read issues from InspectCode log files you need to import the core addin and the InspectCode support: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.InspectCode" ``` -!!! warning - Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the packages. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" We need some global variables: diff --git a/docs/docs/documentation/issue-providers/markdownlint/examples.md b/docs/docs/documentation/issue-providers/markdownlint/examples.md index 02e9c56ec..8919cea81 100644 --- a/docs/docs/documentation/issue-providers/markdownlint/examples.md +++ b/docs/docs/documentation/issue-providers/markdownlint/examples.md @@ -8,21 +8,19 @@ The following example will call [markdownlint-cli] to lint some markdown files a To call [markdownlint-cli] from a Cake script you can use the [Cake.Markdownlint] addin. ```csharp -#addin "Cake.Markdownlint" +#addin "Cake.Markdownlint" // (1)! ``` +--8<-- "snippets/pinning.md" + To read issues from markdownlint-cli log files you need to import the core addin and the markdownlint support: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.Markdownlint" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" We need some global variables: diff --git a/docs/docs/documentation/issue-providers/msbuild/examples.md b/docs/docs/documentation/issue-providers/msbuild/examples.md index 2c9154a57..17c23beae 100644 --- a/docs/docs/documentation/issue-providers/msbuild/examples.md +++ b/docs/docs/documentation/issue-providers/msbuild/examples.md @@ -8,22 +8,20 @@ The following example will call MsBuild to build the solution and outputs the nu To read issues from MsBuild log files you need to import the core addin and the MsBuild support: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.MsBuild" ``` +--8<-- "snippets/pinning.md" + In this example the log file is written by the `XmlFileLogger` class from [MSBuild Extension Pack]. In order to use the above logger, the following line will download and install the tool from NuGet.org: ```csharp -#tool "nuget:?package=MSBuild.Extension.Pack" +#tool "nuget:?package=MSBuild.Extension.Pack" // (1)! ``` -!!! warning - Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the packages. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" We need some global variables: diff --git a/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md b/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md index 9c03b8204..cc5b66f69 100644 --- a/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md +++ b/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md @@ -10,17 +10,13 @@ the core pull request addin, the AppVeyor support and one or more issue provider in this example for JetBrains InspectCode: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.InspectCode" #addin "Cake.Issues.PullRequests" #addin "Cake.Issues.PullRequests.AppVeyor" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" In the following task we'll first determine the remote repository URL and source branch of the pull request and with this information call the diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md index 1e82b3adc..5a7e2d29f 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md @@ -10,18 +10,14 @@ the core pull request addin, the Azure DevOps support including the Cake.AzureDe in this example for JetBrains InspectCode: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.InspectCode" #addin "Cake.Issues.PullRequests" #addin "Cake.Issues.PullRequests.AzureDevOps" #addin "Cake.AzureDevOps" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" In the following task we'll first determine if the build is running on Azure DevOps and for a pull request, then read the remote repository URL and pull request id from environment variables set by the Azure Pipelines build diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md index 0937bb78c..47529ff9a 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md @@ -16,18 +16,14 @@ the core pull request addin, the Azure DevOps support including the Cake.AzureDe in this example for JetBrains InspectCode: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.InspectCode" #addin "Cake.Issues.PullRequests" #addin "Cake.Issues.PullRequests.AzureDevOps" #addin "Cake.AzureDevOps" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" In the following task we'll first determine the remote repository URL and with this information call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md index e9e0fcff3..637bc1ea0 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md @@ -17,18 +17,14 @@ the core pull request addin, the Azure DevOps support including the Cake.AzureDe in this example for JetBrains InspectCode: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.InspectCode" #addin "Cake.Issues.PullRequests" #addin "Cake.Issues.PullRequests.AzureDevOps" #addin "Cake.AzureDevOps" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" In the following task we'll first determine the remote repository URL and source branch of the pull request and with this information call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} diff --git a/docs/docs/documentation/pull-request-systems/github-actions/examples/write-annotations.md b/docs/docs/documentation/pull-request-systems/github-actions/examples/write-annotations.md index 27e5d3531..9956f0d96 100644 --- a/docs/docs/documentation/pull-request-systems/github-actions/examples/write-annotations.md +++ b/docs/docs/documentation/pull-request-systems/github-actions/examples/write-annotations.md @@ -10,17 +10,13 @@ the core pull request addin, the GitHub Actions support and one or more issue pr in this example for JetBrains InspectCode: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.InspectCode" #addin "Cake.Issues.PullRequests" #addin "Cake.Issues.PullRequests.GitHubActions" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" In the following task we'll first determine the remote repository URL and source branch of the pull request and with this information call the diff --git a/docs/docs/documentation/report-formats/console/examples.md b/docs/docs/documentation/report-formats/console/examples.md index 5089d4ba0..bb3308371 100644 --- a/docs/docs/documentation/report-formats/console/examples.md +++ b/docs/docs/documentation/report-formats/console/examples.md @@ -5,14 +5,8 @@ description: Examples for using the Cake.Issues.Reporting.Console addin. The following example will print issues logged as warnings by MsBuild to the console. -!!! warning - Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the packages. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. - ```csharp -#tool "nuget:?package=MSBuild.Extension.Pack" +#tool "nuget:?package=MSBuild.Extension.Pack" // (1)! #addin "Cake.Issues" #addin "Cake.Issues.MsBuild" #addin "Cake.Issues.Reporting" @@ -54,3 +48,5 @@ Task("Create-IssueReport").Does(() => string.Empty); }); ``` + +--8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/report-formats/generic/examples/custom-template.md b/docs/docs/documentation/report-formats/generic/examples/custom-template.md index 893d0b076..49af47e9c 100644 --- a/docs/docs/documentation/report-formats/generic/examples/custom-template.md +++ b/docs/docs/documentation/report-formats/generic/examples/custom-template.md @@ -9,14 +9,8 @@ description: Example how to create a report using a custom template The following example will create a HTML report for issues logged as warnings by MsBuild using a custom template. -!!! warning - Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the packages. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. - ```csharp -#tool "nuget:?package=MSBuild.Extension.Pack" +#tool "nuget:?package=MSBuild.Extension.Pack" // (1)! #addin "Cake.Issues" #addin "Cake.Issues.MsBuild" #addin "Cake.Issues.Reporting" @@ -53,6 +47,8 @@ Task("Create-IssueReport").Does(() => }); ``` +--8<-- "snippets/pinning.md" + `ReportTemplate` looks like this: ```csharp diff --git a/docs/docs/documentation/report-formats/generic/examples/default-template.md b/docs/docs/documentation/report-formats/generic/examples/default-template.md index 1d51365f5..c9ed1d026 100644 --- a/docs/docs/documentation/report-formats/generic/examples/default-template.md +++ b/docs/docs/documentation/report-formats/generic/examples/default-template.md @@ -5,14 +5,8 @@ description: Example how to create a report using an embedded default template. The following example will create a HTML report for issues logged as warnings by MsBuild. -!!! warning - Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the packages. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. - ```csharp -#tool "nuget:?package=MSBuild.Extension.Pack" +#tool "nuget:?package=MSBuild.Extension.Pack" // (1)! #addin "Cake.Issues" #addin "Cake.Issues.MsBuild" #addin "Cake.Issues.Reporting" @@ -48,3 +42,5 @@ Task("Create-IssueReport").Does(() => @"c:\report.html"); }); ``` + +--8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/report-formats/sarif/examples.md b/docs/docs/documentation/report-formats/sarif/examples.md index 14524a177..bb39b1fef 100644 --- a/docs/docs/documentation/report-formats/sarif/examples.md +++ b/docs/docs/documentation/report-formats/sarif/examples.md @@ -5,14 +5,8 @@ description: Examples for using the Cake.Issues.Reporting.Sarif addin. The following example will create a SARIF report for issues logged as warnings by MsBuild. -!!! warning - Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the packages. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. - ```csharp -#tool "nuget:?package=MSBuild.Extension.Pack" +#tool "nuget:?package=MSBuild.Extension.Pack" // (1)! #addin "Cake.Issues" #addin "Cake.Issues.MsBuild" #addin "Cake.Issues.Reporting" @@ -48,3 +42,5 @@ Task("Create-IssueReport").Does(() => @"c:\report.sarif"); }); ``` + +--8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/usage/creating-issues/creating-issues.md b/docs/docs/documentation/usage/creating-issues/creating-issues.md index 86010308d..c47567936 100644 --- a/docs/docs/documentation/usage/creating-issues/creating-issues.md +++ b/docs/docs/documentation/usage/creating-issues/creating-issues.md @@ -9,14 +9,10 @@ This issues can for example be used to create reports. To create issues you need to import the following core addin: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" In the following task a new warning for the myfile.txt file on line 42 is created: diff --git a/docs/docs/documentation/usage/creating-reports/creating-reports.md b/docs/docs/documentation/usage/creating-reports/creating-reports.md index 7aa1c8aea..f55598900 100644 --- a/docs/docs/documentation/usage/creating-reports/creating-reports.md +++ b/docs/docs/documentation/usage/creating-reports/creating-reports.md @@ -6,24 +6,22 @@ description: Usage instructions how to create reports. To create report for issues you need to import the following core addins: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.Reporting" ``` +--8<-- "snippets/pinning.md" + Also you need to import at least one issue provider and report format. In the following example the issue provider for reading warnings from MsBuild log files and generic report format is imported: ```csharp -#addin "Cake.Issues.MsBuild" +#addin "Cake.Issues.MsBuild" // (1)! #addin "Cake.Issues.Reporting.Generic" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" Finally you can define a task where you call the reporting addin with the desired issue provider and report format: diff --git a/docs/docs/documentation/usage/reading-issues/reading-issues.md b/docs/docs/documentation/usage/reading-issues/reading-issues.md index a14250a9f..4d4025254 100644 --- a/docs/docs/documentation/usage/reading-issues/reading-issues.md +++ b/docs/docs/documentation/usage/reading-issues/reading-issues.md @@ -9,23 +9,21 @@ This can for example be useful to break builds based on the reported issues. To read issues you need to import the following core addin: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! ``` +--8<-- "snippets/pinning.md" + Also you need to import at least one issue provider. In the following example the issue providers for reading warnings from MsBuild log files and from JetBrains InspectCode are imported: ```csharp -#addin "Cake.Issues.MsBuild" +#addin "Cake.Issues.MsBuild" // (1)! #addin "Cake.Issues.InspectCode" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" Finally you can define a task where you call the core addin with the desired issue providers. The following example reads issues reported as MsBuild warnings by the `XmlFileLogger` diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md index b17c27373..b289a45b3 100644 --- a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md @@ -14,14 +14,8 @@ You can define custom filters which are applied to issues before they are posted The following example will filter out all issues from the rule `CA1000` from being posted to the pull request. -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. - ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.MsBuild" #addin "Cake.Issues.PullRequests" #addin "Cake.Issues.PullRequests.AzureDevOps" @@ -49,3 +43,5 @@ Task("ReportIssuesToPullRequest").Does(() => settings)); }); ``` + +--8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md index edc3f4a2c..e751ed090 100644 --- a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md @@ -6,24 +6,22 @@ description: Usage instructions how to report issues to pull requests. To use report issues to pull requests you need to import the following core addins: ```csharp -#addin "Cake.Issues" +#addin "Cake.Issues" // (1)! #addin "Cake.Issues.PullRequests" ``` +--8<-- "snippets/pinning.md" + Also you need to import at least one issue provider and pull request system. In the following example the issue provider for reading warnings from MsBuild log files and support for Azure DevOps pull requests is imported: ```csharp -#addin "Cake.Issues.MsBuild" +#addin "Cake.Issues.MsBuild" // (1)! #addin "Cake.Issues.PullRequests.AzureDevOps" ``` -!!! warning - Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. - - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. +--8<-- "snippets/pinning.md" Finally you can define a task where you call the core addin with the desired issue provider and pull request system: diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 9c99db9c3..bcfcf0c2d 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -46,6 +46,7 @@ theme: name: Switch to system preference features: - content.action.edit + - content.code.annotate - content.code.copy - navigation.indexes - navigation.instant diff --git a/docs/snippets/pinning.md b/docs/snippets/pinning.md new file mode 100644 index 000000000..26c8cb9ad --- /dev/null +++ b/docs/snippets/pinning.md @@ -0,0 +1,4 @@ +1. Please note that you always should pin addins to a specific version to make sure your builds are deterministic and + won't break due to updates to one of the addins. + + See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. From 5b400665f11e9dff5211e7acdff469ce5100b768 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 26 Dec 2024 13:22:14 +0100 Subject: [PATCH 117/201] Add navigation sections (#846) --- docs/mkdocs.yml | 274 ++++++++++++++++++++++++------------------------ 1 file changed, 139 insertions(+), 135 deletions(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index bcfcf0c2d..907519980 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -51,6 +51,7 @@ theme: - navigation.indexes - navigation.instant - navigation.instant.progress + - navigation.sections - navigation.tabs - navigation.tabs.sticky - search.highlight @@ -95,144 +96,147 @@ nav: - News: - blog/index.md - Documentation: - - Overview: - - Introduction: documentation/overview/introduction.md - - Features: documentation/overview/features.md - - Requirements: documentation/overview/requirements.md - - Fundamentals: - - Architecture: documentation/fundamentals/architecture.md - - Versioning: documentation/fundamentals/versioning.md - - Recipe: documentation/fundamentals/recipe.md - - Usage: - - documentation/usage/index.md - - Recipe: documentation/usage/recipe/index.md - - Creating Issues: documentation/usage/creating-issues/creating-issues.md - - Reading Issues: - - documentation/usage/reading-issues/index.md - - Reading Issues: documentation/usage/reading-issues/reading-issues.md - - Additional Run Information: documentation/usage/reading-issues/run-information.md - - File Linking: documentation/usage/reading-issues/file-linking.md - - Creating Reports: - - documentation/usage/creating-reports/index.md - - Creating Reports: documentation/usage/creating-reports/creating-reports.md - - Reporting Issues To Pull Requests: - - documentation/usage/reporting-issues-to-pull-requests/index.md - - Report Issues To Pull Requests: documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md - - Custom Issue Filter: documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md - - Supported Tools: documentation/supported-tools.md - - Recipe: - - Overview: documentation/recipe/overview.md + - Key concepts: + - Overview: + - Introduction: documentation/overview/introduction.md + - Features: documentation/overview/features.md + - Requirements: documentation/overview/requirements.md + - Fundamentals: + - Architecture: documentation/fundamentals/architecture.md + - Versioning: documentation/fundamentals/versioning.md + - Recipe: documentation/fundamentals/recipe.md + - How To Use: - Usage: - - documentation/recipe/usage/index.md - - Cake.Issues.Recipe: documentation/recipe/usage/using-cake-issues-recipe.md - - Cake.Frosting.Issues.Recipe: documentation/recipe/usage/using-cake-frosting-issues-recipe.md - - Supported Tools: documentation/recipe/supported-tools.md - - Demos: documentation/recipe/demos.md - - Configuration: documentation/recipe/configuration.md - - Tasks: documentation/recipe/tasks.md - - Issue Providers: - - documentation/issue-providers/index.md - - DocFx: - - documentation/issue-providers/docfx/index.md - - Features: documentation/issue-providers/docfx/features.md - - Examples: documentation/issue-providers/docfx/examples.md - - ESLint: - - documentation/issue-providers/eslint/index.md - - Features: documentation/issue-providers/eslint/features.md - - Git Repository: - - documentation/issue-providers/gitrepository/index.md - - Features: documentation/issue-providers/gitrepository/features.md - - Examples: documentation/issue-providers/gitrepository/examples.md - - Rules: - - BinaryFileNotTrackedByLfs: documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md - - FilePathTooLong: documentation/issue-providers/gitrepository/rules/FilePathTooLong.md - - InspectCode: - - documentation/issue-providers/inspectcode/index.md - - Features: documentation/issue-providers/inspectcode/features.md - - Examples: documentation/issue-providers/inspectcode/examples.md - - markdownlint: - - documentation/issue-providers/markdownlint/index.md - - Features: documentation/issue-providers/markdownlint/features.md - - Examples: documentation/issue-providers/markdownlint/examples.md - - MsBuild: - - documentation/issue-providers/msbuild/index.md - - Features: documentation/issue-providers/msbuild/features.md - - Examples: documentation/issue-providers/msbuild/examples.md - - Sarif: - - documentation/issue-providers/sarif/index.md - - Features: documentation/issue-providers/sarif/features.md - - Terraform: - - documentation/issue-providers/terraform/index.md - - Features: documentation/issue-providers/terraform/features.md - - Report Formats: - - documentation/report-formats/index.md - - Console: - - documentation/report-formats/console/index.md - - Features: documentation/report-formats/console/features.md - - Examples: documentation/report-formats/console/examples.md - - Generic: - - documentation/report-formats/generic/index.md - - Features: documentation/report-formats/generic/features.md - - Examples: - - Embedded Default Template: documentation/report-formats/generic/examples/default-template.md - - Custom Template: documentation/report-formats/generic/examples/custom-template.md - - Template Gallery: - - documentation/report-formats/generic/templates/index.md - - HTML DevExtreme Data Grid: documentation/report-formats/generic/templates/htmldxdatagrid.md - - HTML Data Table: documentation/report-formats/generic/templates/htmldatatable.md - - HTML Diagnostic: documentation/report-formats/generic/templates/htmldiagnostic.md - - Sarif: - - documentation/report-formats/sarif/index.md - - Features: documentation/report-formats/sarif/features.md - - Examples: documentation/report-formats/sarif/examples.md - - Pull Request Systems: - - documentation/pull-request-systems/index.md - - AppVeyor: - - documentation/pull-request-systems/appveyor/index.md - - Features: documentation/pull-request-systems/appveyor/features.md - - Examples: - - documentation/pull-request-systems/appveyor/examples/index.md - - Writing Messages To AppVeyor: documentation/pull-request-systems/appveyor/examples/write-messages.md - - GitHub Pull Request Integration: documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md - - Azure DevOps: - - documentation/pull-request-systems/azure-devops/index.md - - Features: documentation/pull-request-systems/azure-devops/features.md - - Setup: documentation/pull-request-systems/azure-devops/setup.md - - Examples: - - documentation/pull-request-systems/azure-devops/examples/index.md - - Using With Pull Request ID: documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md - - Using With Repository Remote URL And Source Branch Name: documentation/pull-request-systems/azure-devops/examples/repository-information.md - - Using With Azure Pipelines: documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md - - GitHub Actions: - - documentation/pull-request-systems/github-actions/index.md - - Features: documentation/pull-request-systems/github-actions/features.md - - Examples: - - Create annotations in GitHub Actions: documentation/pull-request-systems/github-actions/examples/write-annotations.md - - Extending: - - documentation/extending/index.md - - Fundamentals: documentation/extending/fundamentals.md - - Issue Provider: - - Overview: documentation/extending/issue-provider/overview.md - - Alias Categories: documentation/extending/issue-provider/categories.md - - Tutorials: - - Simple Issue Provider: documentation/extending/issue-provider/tutorials/simple.md - - Provider Settings: documentation/extending/issue-provider/tutorials/settings.md - - Multiple Log File Formats: documentation/extending/issue-provider/tutorials/logfile-format.md - - Rule URL Resolving: documentation/extending/issue-provider/tutorials/rule-url-resolving.md - - Helper: documentation/extending/issue-provider/helper.md - - Report Format: - - Overview: documentation/extending/report-format/overview.md - - Alias Categories: documentation/extending/report-format/categories.md - - Pull Request System: - - Overview: documentation/extending/pull-request-system/overview.md - - Alias Categories: documentation/extending/pull-request-system/categories.md - - Testing: documentation/extending/testing.md + - documentation/usage/index.md + - Recipe: documentation/usage/recipe/index.md + - Creating Issues: documentation/usage/creating-issues/creating-issues.md + - Reading Issues: + - documentation/usage/reading-issues/index.md + - Reading Issues: documentation/usage/reading-issues/reading-issues.md + - Additional Run Information: documentation/usage/reading-issues/run-information.md + - File Linking: documentation/usage/reading-issues/file-linking.md + - Creating Reports: + - documentation/usage/creating-reports/index.md + - Creating Reports: documentation/usage/creating-reports/creating-reports.md + - Reporting Issues To Pull Requests: + - documentation/usage/reporting-issues-to-pull-requests/index.md + - Report Issues To Pull Requests: documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md + - Custom Issue Filter: documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md + - Supported Tools: documentation/supported-tools.md + - Recipe: + - Overview: documentation/recipe/overview.md + - Usage: + - documentation/recipe/usage/index.md + - Cake.Issues.Recipe: documentation/recipe/usage/using-cake-issues-recipe.md + - Cake.Frosting.Issues.Recipe: documentation/recipe/usage/using-cake-frosting-issues-recipe.md + - Supported Tools: documentation/recipe/supported-tools.md + - Demos: documentation/recipe/demos.md + - Configuration: documentation/recipe/configuration.md + - Tasks: documentation/recipe/tasks.md + - Issue Providers: + - documentation/issue-providers/index.md + - DocFx: + - documentation/issue-providers/docfx/index.md + - Features: documentation/issue-providers/docfx/features.md + - Examples: documentation/issue-providers/docfx/examples.md + - ESLint: + - documentation/issue-providers/eslint/index.md + - Features: documentation/issue-providers/eslint/features.md + - Git Repository: + - documentation/issue-providers/gitrepository/index.md + - Features: documentation/issue-providers/gitrepository/features.md + - Examples: documentation/issue-providers/gitrepository/examples.md + - Rules: + - BinaryFileNotTrackedByLfs: documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md + - FilePathTooLong: documentation/issue-providers/gitrepository/rules/FilePathTooLong.md + - InspectCode: + - documentation/issue-providers/inspectcode/index.md + - Features: documentation/issue-providers/inspectcode/features.md + - Examples: documentation/issue-providers/inspectcode/examples.md + - markdownlint: + - documentation/issue-providers/markdownlint/index.md + - Features: documentation/issue-providers/markdownlint/features.md + - Examples: documentation/issue-providers/markdownlint/examples.md + - MsBuild: + - documentation/issue-providers/msbuild/index.md + - Features: documentation/issue-providers/msbuild/features.md + - Examples: documentation/issue-providers/msbuild/examples.md + - Sarif: + - documentation/issue-providers/sarif/index.md + - Features: documentation/issue-providers/sarif/features.md + - Terraform: + - documentation/issue-providers/terraform/index.md + - Features: documentation/issue-providers/terraform/features.md + - Report Formats: + - documentation/report-formats/index.md + - Console: + - documentation/report-formats/console/index.md + - Features: documentation/report-formats/console/features.md + - Examples: documentation/report-formats/console/examples.md + - Generic: + - documentation/report-formats/generic/index.md + - Features: documentation/report-formats/generic/features.md + - Examples: + - Embedded Default Template: documentation/report-formats/generic/examples/default-template.md + - Custom Template: documentation/report-formats/generic/examples/custom-template.md + - Template Gallery: + - documentation/report-formats/generic/templates/index.md + - HTML DevExtreme Data Grid: documentation/report-formats/generic/templates/htmldxdatagrid.md + - HTML Data Table: documentation/report-formats/generic/templates/htmldatatable.md + - HTML Diagnostic: documentation/report-formats/generic/templates/htmldiagnostic.md + - Sarif: + - documentation/report-formats/sarif/index.md + - Features: documentation/report-formats/sarif/features.md + - Examples: documentation/report-formats/sarif/examples.md + - Pull Request Systems: + - documentation/pull-request-systems/index.md + - AppVeyor: + - documentation/pull-request-systems/appveyor/index.md + - Features: documentation/pull-request-systems/appveyor/features.md + - Examples: + - documentation/pull-request-systems/appveyor/examples/index.md + - Writing Messages To AppVeyor: documentation/pull-request-systems/appveyor/examples/write-messages.md + - GitHub Pull Request Integration: documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md + - Azure DevOps: + - documentation/pull-request-systems/azure-devops/index.md + - Features: documentation/pull-request-systems/azure-devops/features.md + - Setup: documentation/pull-request-systems/azure-devops/setup.md + - Examples: + - documentation/pull-request-systems/azure-devops/examples/index.md + - Using With Pull Request ID: documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md + - Using With Repository Remote URL And Source Branch Name: documentation/pull-request-systems/azure-devops/examples/repository-information.md + - Using With Azure Pipelines: documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md + - GitHub Actions: + - documentation/pull-request-systems/github-actions/index.md + - Features: documentation/pull-request-systems/github-actions/features.md + - Examples: + - Create annotations in GitHub Actions: documentation/pull-request-systems/github-actions/examples/write-annotations.md + - How To Develop: + - Extending: + - documentation/extending/index.md + - Fundamentals: documentation/extending/fundamentals.md + - Issue Provider: + - Overview: documentation/extending/issue-provider/overview.md + - Alias Categories: documentation/extending/issue-provider/categories.md + - Tutorials: + - Simple Issue Provider: documentation/extending/issue-provider/tutorials/simple.md + - Provider Settings: documentation/extending/issue-provider/tutorials/settings.md + - Multiple Log File Formats: documentation/extending/issue-provider/tutorials/logfile-format.md + - Rule URL Resolving: documentation/extending/issue-provider/tutorials/rule-url-resolving.md + - Helper: documentation/extending/issue-provider/helper.md + - Report Format: + - Overview: documentation/extending/report-format/overview.md + - Alias Categories: documentation/extending/report-format/categories.md + - Pull Request System: + - Overview: documentation/extending/pull-request-system/overview.md + - Alias Categories: documentation/extending/pull-request-system/categories.md + - Testing: documentation/extending/testing.md + - Contributing: + - How To Contribute: documentation/contributing/how-to-contribute.md + - Build Instructions: documentation/contributing/how-to-build.md + - Release Instructions: documentation/contributing/how-to-release.md - Resources: - Blog Posts: documentation/resources/blog-posts.md - Presentations: documentation/resources/presentations.md - - Contributing: - - How To Contribute: documentation/contributing/how-to-contribute.md - - Build Instructions: documentation/contributing/how-to-build.md - - Release Instructions: documentation/contributing/how-to-release.md - Release Notes: https://github.com/cake-contrib/Cake.Issues/releases" target="_blank - API: https://cakebuild.net/extensions/cake-issues/" target="_blank \ No newline at end of file From bad54a7889d8b1ebb03903a7e9a1cc42e53e14ae Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 26 Dec 2024 17:05:45 +0100 Subject: [PATCH 118/201] Improve Recipe usage documentation (#847) --- .../2021-08-04-cake-issues-recipe-v1.0.0-released.md | 2 +- docs/docs/documentation/fundamentals/recipe.md | 10 ---------- docs/docs/documentation/recipe/usage/index.md | 4 ---- docs/docs/documentation/usage/recipe/index.md | 8 -------- .../recipe}/using-cake-frosting-issues-recipe.md | 6 +++--- .../usage => usage/recipe}/using-cake-issues-recipe.md | 6 +++--- docs/mkdocs.yml | 9 +++------ 7 files changed, 10 insertions(+), 35 deletions(-) delete mode 100644 docs/docs/documentation/fundamentals/recipe.md delete mode 100644 docs/docs/documentation/recipe/usage/index.md delete mode 100644 docs/docs/documentation/usage/recipe/index.md rename docs/docs/documentation/{recipe/usage => usage/recipe}/using-cake-frosting-issues-recipe.md (96%) rename docs/docs/documentation/{recipe/usage => usage/recipe}/using-cake-issues-recipe.md (94%) diff --git a/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md b/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md index 12841c9e3..687ce9b0f 100644 --- a/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md +++ b/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md @@ -39,7 +39,7 @@ See [Using Cake.Frosting.Issues.Recipe] for an example. [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe/ [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe/ -[Using Cake.Frosting.Issues.Recipe]: ../../documentation/recipe/usage/using-cake-frosting-issues-recipe.md +[Using Cake.Frosting.Issues.Recipe]: ../../documentation/usage/recipe/using-cake-frosting-issues-recipe.md ## Support for environments not compatible with Cake.Git addin diff --git a/docs/docs/documentation/fundamentals/recipe.md b/docs/docs/documentation/fundamentals/recipe.md deleted file mode 100644 index 414306743..000000000 --- a/docs/docs/documentation/fundamentals/recipe.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Recipe -description: Pre-made recipe script. ---- - -Recipes are pre-made Cake scripts which you can use in your project specific Cake script to get you quickly up and running. - -See [Recipe] for detailed documentation of the available recipe for Cake.Issues. - -[Recipe]: ../recipe/overview.md diff --git a/docs/docs/documentation/recipe/usage/index.md b/docs/docs/documentation/recipe/usage/index.md deleted file mode 100644 index ba4113ced..000000000 --- a/docs/docs/documentation/recipe/usage/index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Usage -description: How to use Cake.Issues recipes in your build script. ---- diff --git a/docs/docs/documentation/usage/recipe/index.md b/docs/docs/documentation/usage/recipe/index.md deleted file mode 100644 index df434914f..000000000 --- a/docs/docs/documentation/usage/recipe/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Recipe -description: How to use the pre-made recipe script. ---- - -Examples how to use Cake.Issues recipes can be found under [Recipe Usage]. - -[Recipe Usage]: ../../recipe/usage/index.md diff --git a/docs/docs/documentation/recipe/usage/using-cake-frosting-issues-recipe.md b/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md similarity index 96% rename from docs/docs/documentation/recipe/usage/using-cake-frosting-issues-recipe.md rename to docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md index 78d88a529..56af6ec77 100644 --- a/docs/docs/documentation/recipe/usage/using-cake-frosting-issues-recipe.md +++ b/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md @@ -119,6 +119,6 @@ public class DefaultTask : FrostingTask } ``` -[Cake.Frosting.Issues.Recipe]: ../overview.md -[configuration]: ../configuration.md -[tasks]: ../tasks.md \ No newline at end of file +[Cake.Frosting.Issues.Recipe]: ../../recipe/overview.md +[configuration]: ../../recipe/configuration.md +[tasks]: ../../recipe/tasks.md \ No newline at end of file diff --git a/docs/docs/documentation/recipe/usage/using-cake-issues-recipe.md b/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md similarity index 94% rename from docs/docs/documentation/recipe/usage/using-cake-issues-recipe.md rename to docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md index abe51a886..67f7774b2 100644 --- a/docs/docs/documentation/recipe/usage/using-cake-issues-recipe.md +++ b/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md @@ -62,6 +62,6 @@ Task("Default") .IsDependentOn("Issues"); ``` -[Cake.Issues.Recipe]: ../overview.md -[configuration]: ../configuration.md -[tasks]: ../tasks.md \ No newline at end of file +[Cake.Issues.Recipe]: ../../recipe/overview.md +[configuration]: ../../recipe/configuration.md +[tasks]: ../../recipe/tasks.md \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 907519980..423977f6e 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -104,11 +104,12 @@ nav: - Fundamentals: - Architecture: documentation/fundamentals/architecture.md - Versioning: documentation/fundamentals/versioning.md - - Recipe: documentation/fundamentals/recipe.md - How To Use: - Usage: - documentation/usage/index.md - - Recipe: documentation/usage/recipe/index.md + - Recipe: + - Cake.Issues.Recipe: documentation/usage/recipe/using-cake-issues-recipe.md + - Cake.Frosting.Issues.Recipe: documentation/usage/recipe/using-cake-frosting-issues-recipe.md - Creating Issues: documentation/usage/creating-issues/creating-issues.md - Reading Issues: - documentation/usage/reading-issues/index.md @@ -125,10 +126,6 @@ nav: - Supported Tools: documentation/supported-tools.md - Recipe: - Overview: documentation/recipe/overview.md - - Usage: - - documentation/recipe/usage/index.md - - Cake.Issues.Recipe: documentation/recipe/usage/using-cake-issues-recipe.md - - Cake.Frosting.Issues.Recipe: documentation/recipe/usage/using-cake-frosting-issues-recipe.md - Supported Tools: documentation/recipe/supported-tools.md - Demos: documentation/recipe/demos.md - Configuration: documentation/recipe/configuration.md From 0571c239e367f0f91dc92b5d7a8f67a8ce0f6532 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 26 Dec 2024 18:31:16 +0100 Subject: [PATCH 119/201] Improve home page (#848) --- docs/docs/index.md | 63 +++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/docs/docs/index.md b/docs/docs/index.md index aed741635..23b6de197 100644 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -8,23 +8,25 @@ search: title: Home --- -
    + -- :material-scale-balance:{ .lg .middle } __Open-Source__ +Extensive and flexible solution for processing output of linters and other tools using [Cake build system](https://cakebuild.net){target="_blank"}. - --- +## Why use Cake Issues? - Cake Issues is free to use, improve, contribute and distribute. - Source code is available on [GitHub](https://github.com/cake-contrib/Cake.Issues){target="_blank"} under MIT license. - - [:octicons-arrow-right-24: Source code & license](https://github.com/cake-contrib/Cake.Issues){target="_blank"} +
    - :material-globe-model:{ .lg .middle } __Rich ecosystem__ --- Unlike other Cake addins, Cake Issues consists of over 15 different addins, - working together and providing you with over 75 [aliases](https://cakebuild.net/extensions/cake-issues/){target="_blank"} which you can use in your Cake + working together and providing you with over 75 aliases which you can use in your Cake build scripts to work with issues. [:octicons-arrow-right-24: Reference](https://cakebuild.net/extensions/cake-issues/){target="_blank"} @@ -34,24 +36,10 @@ title: Home --- Read issues from different analyzers, linters or tools. - The growing range of out-of-the-box supported tools include - [MSBuild](documentation/issue-providers/msbuild/index.md), - [JetBrains InspectCode (ReSharper)](documentation/issue-providers/inspectcode/index.md), - [ESLint](documentation/issue-providers/eslint/index.md), - [Markdownlint](documentation/issue-providers/markdownlint/index.md), - [DocFX](documentation/issue-providers/docfx/index.md). + The growing range of out-of-the-box supported tools include support for + .NET, Java, TypeScript, Infrastructure As Code or security tools. - [:octicons-arrow-right-24: Issue Providers](documentation/issue-providers/index.md) - -- :material-monitor-dashboard:{ .lg .middle } __Reporting__ - - --- - - Cake Issues provides aliases to create reports from the parsed issues. - There's a [generic reporting addin](documentation/report-formats/generic/index.md) which allows to create reports using out-of-the-box or custom Razor templates - and [an addin for creating SARIF compatible files](documentation/report-formats/sarif/index.md). - - [:octicons-arrow-right-24: Report Formats](documentation/report-formats/index.md) + [:octicons-arrow-right-24: Supported Tools](documentation/supported-tools.md) - :material-eye:{ .lg .middle } __Pull request and build workflow integration__ @@ -64,12 +52,31 @@ title: Home [:octicons-arrow-right-24: Pull Request Systems](documentation/pull-request-systems/index.md) +- :material-monitor-dashboard:{ .lg .middle } __Reporting__ + + --- + + Cake Issues provides aliases to create reports from the parsed issues. + There are addins to create feature rich HTML reports, SARIF standard compatible reports or to report issues to the console. + + [:octicons-arrow-right-24: Report Formats](documentation/report-formats/index.md) + - :material-table:{ .lg .middle } __Extensible__ --- - The addins are built in a modular architecture and are providing different [extension points](documentation/extending/index.md) - which allow you to easily enhance it for supporting additional analyzers, linters, report formats and pull request systems. + The addins are built in a modular architecture and are providing different extension points which allow you + to easily enhance it for supporting additional analyzers, linters, report formats and pull request systems. [:octicons-arrow-right-24: Documentation](documentation/extending/index.md) -
    \ No newline at end of file + +- :material-scale-balance:{ .lg .middle } __Open-Source__ + + --- + + Cake Issues is free to use, improve, contribute and distribute. + Source code is available on [GitHub](https://github.com/cake-contrib/Cake.Issues){target="_blank"} under MIT license. + + [:octicons-arrow-right-24: Source code & license](https://github.com/cake-contrib/Cake.Issues){target="_blank"} + +
    From 4b663b7d674363740181bc8a85688d2b41361d16 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 26 Dec 2024 19:10:31 +0100 Subject: [PATCH 120/201] Use home page template (#849) --- docs/docs/index.md | 9 +-------- docs/overrides/home.html | 9 +++++++++ 2 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 docs/overrides/home.html diff --git a/docs/docs/index.md b/docs/docs/index.md index 23b6de197..252134c36 100644 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -2,19 +2,12 @@ hide: - navigation - toc -layout: default +template: home.html search: exclude: true title: Home --- - - Extensive and flexible solution for processing output of linters and other tools using [Cake build system](https://cakebuild.net){target="_blank"}. ## Why use Cake Issues? diff --git a/docs/overrides/home.html b/docs/overrides/home.html new file mode 100644 index 000000000..f2b4ba196 --- /dev/null +++ b/docs/overrides/home.html @@ -0,0 +1,9 @@ +{#- + Override to hide title and edit button on homepage +-#} + +{% extends "main.html" %} + +{% block content %} + {{ page.content }} +{% endblock %} From 64954976e1496bf0ceba1207ec7c0888ac02de36 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 26 Dec 2024 21:27:38 +0100 Subject: [PATCH 121/201] Add "Back to top" button (#850) --- docs/mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 423977f6e..f5a69a77a 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -54,6 +54,7 @@ theme: - navigation.sections - navigation.tabs - navigation.tabs.sticky + - navigation.top - search.highlight - search.suggest From 6a86f6f31e4bbf51f68e260cdd5339676ffb50e6 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 26 Dec 2024 22:37:15 +0100 Subject: [PATCH 122/201] Improve key concepts (#851) --- .../images}/overview.png | Bin docs/docs/documentation/features.md | 161 ++++++++++++++++++ .../fundamentals/architecture.md | 21 --- .../documentation/fundamentals/versioning.md | 21 --- .../documentation/how-cake-issues-works.md | 45 +++++ docs/docs/documentation/overview.md | 106 ++++++++++++ docs/docs/documentation/overview/features.md | 77 --------- .../documentation/overview/introduction.md | 36 ---- .../documentation/overview/requirements.md | 8 - .../azure-devops/features.md | 3 +- docs/mkdocs.yml | 10 +- 11 files changed, 316 insertions(+), 172 deletions(-) rename docs/docs/documentation/{fundamentals => assets/images}/overview.png (100%) create mode 100644 docs/docs/documentation/features.md delete mode 100644 docs/docs/documentation/fundamentals/architecture.md delete mode 100644 docs/docs/documentation/fundamentals/versioning.md create mode 100644 docs/docs/documentation/how-cake-issues-works.md create mode 100644 docs/docs/documentation/overview.md delete mode 100644 docs/docs/documentation/overview/features.md delete mode 100644 docs/docs/documentation/overview/introduction.md delete mode 100644 docs/docs/documentation/overview/requirements.md diff --git a/docs/docs/documentation/fundamentals/overview.png b/docs/docs/documentation/assets/images/overview.png similarity index 100% rename from docs/docs/documentation/fundamentals/overview.png rename to docs/docs/documentation/assets/images/overview.png diff --git a/docs/docs/documentation/features.md b/docs/docs/documentation/features.md new file mode 100644 index 000000000..5b80fdedd --- /dev/null +++ b/docs/docs/documentation/features.md @@ -0,0 +1,161 @@ +--- +title: Features +description: Overview about core features. +--- + +## Ready To Use Distributions + +
    + +- :material-arrow-collapse-all:{ .lg .middle } __Cake Recipe Packages__ + + --- + + Cake Issues recipes provide build scripts, delivered as a NuGet package, + which can be used inside your projects Cake build to add issue management. + + It handles all the parsing, integration with build and pull request systems for you, + using the individual Cake Issues addins. + + [:octicons-arrow-right-24: Recipes](recipe/overview.md) + +
    + +## Reading & Creating Issues + +
    + +- :material-import:{ .lg .middle } __Read issues provided by tools__ + + --- + + The `ReadIssues` aliases can be used for reading issues reported by a linter to tool using an [issue provider]. + + There are overloads for reading using a single or multiple [issue provider]. + + [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues/#Reading-Issues){target="_blank"} + +- :material-creation-outline:{ .lg .middle } __Create issues in your build__ + + --- + + The `NewIssue` aliases can be used for creating issues in the build script. + + [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues/#Creating-Issues){target="_blank"} + +- :material-file-link:{ .lg .middle } __Support for file links__ + + --- + + Support for creating links to file & location on source code hosting system (GitHub, Azure Repos, etc). + + [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues/#File-Linking){target="_blank"} + +- :material-swap-vertical-bold:{ .lg .middle } __Issue serialization__ + + --- + + Support for serializing and deserializing created issues and issues read from tools. + + [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues/#Issue-Serialization){target="_blank"} + +- :material-format-title:{ .lg .middle } __Support for multiple message formats__ + + --- + + Support for reading issues in multiple formats (Plain text, Markdown, HTML) if supported by [issue provider]. + +- :material-information:{ .lg .middle } __Support for run information__ + + --- + + Support for passing additional run information to identify specific runs. + +
    + +## Breaking builds + +
    + +- :material-exclamation:{ .lg .middle } __Fail builds on reported issues__ + + --- + + The `BreakBuildOnIssues` aliases can be used for failing builds if specific issues were reported. + + There are overloads for failing if issues of certain minimum priority or issue providers are found, + or by passing any custom function. + + [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues/#Build-Breaking){target="_blank"} + +
    + +## Reporting + +
    + +- :material-monitor-dashboard:{ .lg .middle } __Create reports__ + + --- + + The `CreateIssueReport` aliases can be used for creating reports in a supported [reporting format]. + + There are overloads for reading issues from a single or multiple [issue provider] or for passing an existing list of issues. + + [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues-reporting/#Creating-Issue-Reports){target="_blank"} + +
    + +## Build & Pull Request System Integration + +
    + +- :material-comment-text:{ .lg .middle } __Add comments to pull requests__ + + --- + + The `ReportIssuesToPullRequest` aliases can be used for writing issues as comments to [pull requests]. + + There are overloads for reading issues from a single or multiple [issue provider] or for passing an existing list of issues. + + [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues-pullrequests/#Reporting-Issues-To-Pull-Requests){target="_blank"} + +- :material-message-plus:{ .lg .middle } __Report issues to build runs__ + + --- + + The `ReportIssuesToPullRequest` aliases can be used for reporting issues to [build runs]. + + There are overloads for reading issues from a single or multiple [issue provider] or for passing an existing list of issues. + + [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues-pullrequests/#Reporting-Issues-To-Pull-Requests){target="_blank"} + +- :material-filter:{ .lg .middle } __Issue filters__ + + --- + + Support for passing custom issue filter routines. + + [:octicons-arrow-right-24: Setting](https://cakebuild.net/api/Cake.Issues.PullRequests/IReportIssuesToPullRequestSettings/48CB35E4){target="_blank"} + +- :material-car-speed-limiter:{ .lg .middle } __Limit reported issues__ + + --- + + Advanced support to limit number of maximum issues per run, across multiple runs or per issue provider through settings. + + [:octicons-arrow-right-24: Settings](https://cakebuild.net/api/Cake.Issues.PullRequests/IReportIssuesToPullRequestSettings/){target="_blank"} + +- :material-comment-check:{ .lg .middle } __Automatic comment resolving__ + + --- + + If supported by the [pull request system], comments for issues are automatic resolved if fixed in subsequent commits. + +
    + +[issue provider]: issue-providers/index.md +[reporting format]: report-formats/index.md +[pull requests]: pull-request-systems/index.md +[build runs]: pull-request-systems/index.md +[pull request system]: pull-request-systems/index.md diff --git a/docs/docs/documentation/fundamentals/architecture.md b/docs/docs/documentation/fundamentals/architecture.md deleted file mode 100644 index e1decb60e..000000000 --- a/docs/docs/documentation/fundamentals/architecture.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Architecture -description: Architecture overview. ---- - -The Cake Issues addins are built in a modular architecture, allowing to easily -enhance it for supporting additional analyzers, linters, report formats and pull request systems. - -![Architecture Overview](overview.png "Architecture Overview") - -The core consists of the following addins: - -| Addin | Description | -|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Cake.Issues | Provides aliases for creating issues or reading issues using one or more issue providers. Support for different code analyzers and linters can be provided through additional [issue provider] addins. | -| Cake.Issues.Reporting | Provides aliases for creating reports for issues. Support for different report formats can be provided through additional [report format] addins. | -| Cake.Issues.PullRequests | Provides aliases for reporting issues as comments to pull requests. Support for different pull request systems can be provided through additional [pull request system] addins. | - -[issue provider]: ../issue-providers/index.md -[report format]: ../report-formats/index.md -[pull request system]: ../pull-request-systems/index.md diff --git a/docs/docs/documentation/fundamentals/versioning.md b/docs/docs/documentation/fundamentals/versioning.md deleted file mode 100644 index 0e119588f..000000000 --- a/docs/docs/documentation/fundamentals/versioning.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Versioning -description: Compatible versions. ---- - -The core addins and all issue providers and pull request systems need to be build against a compatible core API. -You can check the required dependencies in the release notes of the addin. - -This means that it's not possible to use a version of an issue provider build against `Cake.Issues` 1.0.0 -together with a version of a pull request system build against `Cake.Issues` 2.0.0. - -We use strict [semantic versioning](http://semver.org/){target="_blank"}. -Therefore it's possible to use issue provider and pull request system built against `Cake.Issues` 1.0.0 -together with `Cake.Issues` 1.1.0. - -!!! info - Please note that versions below 1.0.0 are not considered stable and their API will break regularly. - Expect breaking changes in each minor version. - - Therefore we strongly advise to pin to specific versions of the addins to avoid breaking builds - once we update the addin. diff --git a/docs/docs/documentation/how-cake-issues-works.md b/docs/docs/documentation/how-cake-issues-works.md new file mode 100644 index 000000000..b9b8db2df --- /dev/null +++ b/docs/docs/documentation/how-cake-issues-works.md @@ -0,0 +1,45 @@ +--- +title: How Cake Issues Works +description: Overview about the architecture of Cake Issues. +--- + +The Cake Issues addins are built in a modular architecture, allowing to easily +enhance it for supporting additional analyzers, linters, report formats and pull request systems. + +![Architecture Overview](assets/images/overview.png "Architecture Overview") + +## Cake.Issues addin + +The `Cake.Issues` addin provides aliases for creating issues or reading issues using one or more issue providers. + +Support for different code analyzers and linters is provided through [issue provider] addins +which cover a wide range of [linters and tools]. + +The issues are read into [IIssue](https://cakebuild.net/api/Cake.Issues/IIssue/){target="_blank"} objects +which then can be passed to [Cake.Issues.Reporting addin](#cakeissuesreporting-addin), +[Cake.Issues.PullRequests addin](#cakeissuespullrequests-addin) or further processed in the build script. + +The use of [issue provider] addins, which contain the parsing logic for individual tool output formats, +and the use of [IIssue](https://cakebuild.net/api/Cake.Issues/IIssue/){target="_blank"} as common data structure, +allows to abstract the tooling output from other concerns like integration with +build systems, pull request workflow or the creation of reports. + +## Cake.Issues.Reporting addin + +The `Cake.Issues.Reporting` addin provides aliases for creating reports for issues +which are read or have been created using the [Cake.Issues addin](#cakeissues-addin). + +Support for different report formats is provided through [report format] addins. + +## Cake.Issues.PullRequests addin + +The `Cake.Issues.PullRequests` addin provides aliases for reporting issues +which are read or have been created using the [Cake.Issues addin](#cakeissues-addin) +as comments to pull requests or builds. + +Support for different pull request systems is provided through [pull request system] addins. + +[issue provider]: issue-providers/index.md +[linters and tools]: supported-tools.md +[report format]: report-formats/index.md +[pull request system]: pull-request-systems/index.md diff --git a/docs/docs/documentation/overview.md b/docs/docs/documentation/overview.md new file mode 100644 index 000000000..0f91c525b --- /dev/null +++ b/docs/docs/documentation/overview.md @@ -0,0 +1,106 @@ +--- +title: Introduction +description: Introduction +--- + +The Cake.Issues addins for the [Cake build automation system](https://cakebuild.net){target="_blank"} +offer an extensive and flexible solution for reading linting issues. + +Cake.Issues redefines issue management within the Cake build system by offering a comprehensive, universal, and extensible solution. +The unique capabilities of the addins empower development teams to enforce coding standards, generate insightful reports, +seamlessly incorporate various linting tools, and streamlining the integration with pull requests. +With its [modular architecture] and extensive [set of aliases](https://cakebuild.net/extensions/cake-issues/){target="_blank"}, +Cake.Issues provides a future-proof infrastructure for issue management in Cake builds, +fostering a more efficient and adaptable development process. + +## Unique Problem Solving + +Some examples how Cake.Issues can help development teams to improve code quality. + +### Break build on linting issues + +Cake.Issues provides a seamless integration, allowing you to enforce coding standards by breaking builds when linting issues are detected. + +[:octicons-arrow-right-24: Aliases for build breaking](https://cakebuild.net/extensions/cake-issues/#Build-Breaking){target="_blank"} + +### Pull Requests integration + +Ensure linting issues are promptly addressed by having them reported as comments on pull requests. +Cake.Issues bridges the gap between linting tools and version control systems, fostering efficient collaboration during code reviews. + +[:octicons-arrow-right-24: Integrate with pull request systems](pull-request-systems/index.md) + +### Reports + +Craft detailed and visually appealing reports for linting issues directly within your Cake build. +The addins facilitates easy identification and resolution of linting concerns, enhancing the overall code quality. + +[:octicons-arrow-right-24: Creating Reports](report-formats/index.md) + +## Universal Compatibility + +### Diverse Linting Tool Support + +Regardless of the linting tools you use, Cake.Issues ensures that you're not left out. +Cake.Issues supports a variety of analyzers and linters, allowing you to incorporate new tools effortlessly +while maintaining integration with existing ones. + +[:octicons-arrow-right-24: Supported Tools](supported-tools.md) + +### Build System Agnosticism + +Embrace the freedom to choose the build system that best suit your needs. +If your current build system lacks tasks for reporting issues in pull requests, Cake.Issues steps in to fill that void seamlessly. +In the case of using multiple CI services, Cake.Issues guarantees a consistent feature set across all of them. + +[:octicons-arrow-right-24: Supported Build and pull request systems](pull-request-systems/index.md) + +## Unprecedented Extensibility + +### Modular Architecture + +The Cake.Issues addin breaks away from the norm by offering a modular architecture. +Comprising over 15 distinct addins, it presents a cohesive solution through more than 75 aliases for Cake builds, +providing unparalleled flexibility. + +[:octicons-arrow-right-24: Architecture](how-cake-issues-works.md) + +### Extensible Infrastructure + +Designed with extensibility in mind, Cake.Issues provides extension points for supporting additional +analyzers, linters,report formats, and code review systems. +This adaptability ensures that your build scripts can evolve with the ever-changing landscape of development tools. + +[:octicons-arrow-right-24: Documentation](extending/index.md) + + + +[modular architecture]: how-cake-issues-works.md + diff --git a/docs/docs/documentation/overview/features.md b/docs/docs/documentation/overview/features.md deleted file mode 100644 index f7c82a6c5..000000000 --- a/docs/docs/documentation/overview/features.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Features -description: Overview about core features. ---- - -The Cake Issues addins for Cake allows you to read issues from any analyzer or linter, -create reports or write issues to comments in pull requests. - -## Recipe Functionality - -See [Supported Tools] for a list of tools supported by [Cake.Issues.Recipe]. - -## Supported Core Functionality - -The core addins provide a modular architecture, allowing to easily enhance it for supporting additional analyzers, linters, -report formats and code review systems. - -### Cake.Issues - -Addin for creating and reading issues providing the following functionality: - -* [NewIssue](https://cakebuild.net/api/Cake.Issues/Aliases/5BAA8171){target="_blank"} alias for creating issues in the build script. -* [ReadIssues](https://cakebuild.net/api/Cake.Issues/Aliases/2C801A33){target="_blank"} aliases for reading issues from an issue provider. -* Support for reading issues from multiple issue providers. -* Support for reading issues in multiple formats (Plain text, Markdown, HTML) if supported by issue provider. -* Support for creating links to file & location on source code hosting system (GitHub, Azure Repos, etc). -* Support for passing additional run information to identify specific runs. - -### Cake.Issues.Reporting - -Addin for creating reports providing the following functionality: - -* [CreateIssueReport](https://cakebuild.net/api/Cake.Issues.Reporting/Aliases/39023BBC){target="_blank"} - aliases for creating reports about issues. -* Support for creating reports with issues from multiple issue providers. - -### Cake.Issues.PullRequests - -Addin for writing issues as comments to pull requests providing the following functionality: - -* [ReportIssuesToPullRequest](https://cakebuild.net/api/Cake.Issues.PullRequests/Aliases/C0F2D0B8){target="_blank"} - aliases for writing issues as comments to pull requests. -* Support for reporting issues from multiple issue providers. -* Support for passing custom issue filter routines in `ReportIssuesToPullRequestSettings.IssueFilters`. -* Advanced support to limit number of maximum issues per run, across multiple runs or per issue provider by setting - `ReportIssuesToPullRequestSettings.MaxIssuesToPost`, `ReportIssuesToPullRequestSettings.MaxIssuesToPostAcrossRuns`, - `ReportIssuesToPullRequestSettings.MaxIssuesToPostForEachIssueProvider` and `ReportIssuesToPullRequestSettings.ProviderIssueLimits`. -* Returns all issues as provided by the issue providers and the issues reported to the pull request. - -Concrete pull request systems can implement optional capabilities which will provide the following functionality: - -* Filter by modified files ([BaseFilteringByModifiedFilesCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseFilteringByModifiedFilesCapability_1/){target="_blank"}) - * Filtering issues to only those related to changed files in a pull request. -* Check commit ID ([BaseCheckingCommitIdCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseCheckingCommitIdCapability_1/){target="_blank"}) - * Skipping posting of issues if checked source code is outdated by setting `ReportIssuesToPullRequestSettings.CommitId`. -* Support for discussion threads ([BaseDiscussionThreadsCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseDiscussionThreadsCapability_1/){target="_blank"}) - * Automatic resolving of issues fixed in subsequent commits. - * Automatic reopening of still existing issues which are already closed on pull request. - * Comparing issues by identifier to not rely on message or line numbers. - -## Supported Issue Providers - -See [Issue Provider Addins] for a list of currently supported analyzers and linters. - -## Supported Report Formats - -See [Report Format Addins] for a list of currently supported report output formats. - -## Supported Pull Request Systems - -See [Pull Request System Addins] for a list of currently supported pull request systems. - -[Supported Tools]: ../recipe/supported-tools.md -[Cake.Issues.Recipe]: ../recipe/overview.md -[Issue Provider Addins]: ../issue-providers/index.md -[Report Format Addins]: ../report-formats/index.md -[Pull Request System Addins]: ../pull-request-systems/index.md diff --git a/docs/docs/documentation/overview/introduction.md b/docs/docs/documentation/overview/introduction.md deleted file mode 100644 index 85df2480e..000000000 --- a/docs/docs/documentation/overview/introduction.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Introduction -description: Introduction ---- - -Do you want to break your build on JetBrains InspectCode issues? -Do you want to create nice reports for StyleCop issues in your code? -Do you want to have ESLint issues reported as comments to pull requests? -The Cake.Issues addins allows you to do this and much more. -Read issues from different analyzer or linters, create reports or add them as comments to pull requests. - -While some linting tools provide nice reporting capabilities, others don't. -Some build systems provide tasks to report issues into pull requests. -But if you're using another build system your out of luck. -Maybe you found a new nice linting tool which does exactly what you need, -but probably it won't integrate well with your existing other linting tools. - -The Cake.Issues addins tries to solve this, by providing a common and extensible infrastructure -for issue management in Cake build scripts. - -Unlike other Cake addins, the Cake Issues addin consists of over 15 different addins, -working together and providing over 75 aliases which can be used in Cake build scripts to work with issues. -The addins are built in a [modular architecture] and are providing different [extension points] which allows to easily -enhance them for supporting additional analyzers, linters, report formats and code review systems. - -!!! tip - To get started you can use one of the [Cake.Issues recipes], which bring support for different linters and - integration with build and pull request systems out-of-the box in a single and easy to use NuGet package. - -[:fontawesome-solid-video: Presentation](https://gitpitch.com/pascalberger/Cake.Issues-Presentation){ .md-button } - -[:fontawesome-solid-graduation-cap: Tutorials](../usage/index.md){ .md-button } - -[modular architecture]: ../fundamentals/architecture.md -[extension points]: ../extending/index.md -[Cake.Issues recipes]: ../recipe/overview.md diff --git a/docs/docs/documentation/overview/requirements.md b/docs/docs/documentation/overview/requirements.md deleted file mode 100644 index 0c67ccd3c..000000000 --- a/docs/docs/documentation/overview/requirements.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Requirements -description: Requirements for using Cake.Issues. ---- - -The requirements are listed in the [release notes] for any specific version - -[Release notes]: https://github.com/cake-contrib/Cake.Issues/releases diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/features.md b/docs/docs/documentation/pull-request-systems/azure-devops/features.md index b7a0d33ea..50ff5fcb0 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/features.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/features.md @@ -20,7 +20,7 @@ provides the following features. ## Supported capabilities The [Cake.Issues.PullRequests.AzureDevOps addin](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/){target="_blank"} -supports all [Core features]. +supports the following capabilities. | | Capability | Remarks | |------------------|--------------------------------|--------------------------------| @@ -43,5 +43,4 @@ For detailed instructions how to connect using the different methods see [Setup ![Cake.Issues.PullRequests.AzureDevOps](cake.issues.pullrequests.azuredevops.png "Cake.Issues.PullRequests.AzureDevOps") [demo repository]: https://dev.azure.com/pberger/Cake.Issues-Demo -[Core features]: ../../overview/features.md#supported-core-functionality [Setup instructions]: setup.md diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index f5a69a77a..97748da23 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -98,13 +98,9 @@ nav: - blog/index.md - Documentation: - Key concepts: - - Overview: - - Introduction: documentation/overview/introduction.md - - Features: documentation/overview/features.md - - Requirements: documentation/overview/requirements.md - - Fundamentals: - - Architecture: documentation/fundamentals/architecture.md - - Versioning: documentation/fundamentals/versioning.md + - Overview: documentation/overview.md + - How Cake Issues Works: documentation/how-cake-issues-works.md + - Features: documentation/features.md - How To Use: - Usage: - documentation/usage/index.md From e18c07d3e616ae8f50977cbfcc791d8679f310bc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Dec 2024 06:40:21 +0100 Subject: [PATCH 123/201] Update actions/setup-dotnet digest to 87b7050 (#852) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/actions/prepare-integration-test/action.yml | 2 +- .github/workflows/integrationtests.yml | 2 +- .github/workflows/unittests.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/prepare-integration-test/action.yml b/.github/actions/prepare-integration-test/action.yml index 8325cfb16..b08c2d1c6 100644 --- a/.github/actions/prepare-integration-test/action.yml +++ b/.github/actions/prepare-integration-test/action.yml @@ -13,6 +13,6 @@ runs: name: NuGet Package path: ./BuildArtifacts/Packages/NuGet - name: Install .NET - uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4 + uses: actions/setup-dotnet@87b7050bc53ea08284295505d98d2aa94301e852 # v4 with: dotnet-version: ${{ inputs.dotnet-version }} \ No newline at end of file diff --git a/.github/workflows/integrationtests.yml b/.github/workflows/integrationtests.yml index 1a261e582..08fe1ce69 100644 --- a/.github/workflows/integrationtests.yml +++ b/.github/workflows/integrationtests.yml @@ -24,7 +24,7 @@ jobs: - name: Fetch all tags and branches run: git fetch --prune --unshallow - name: Install .NET - uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4 + uses: actions/setup-dotnet@87b7050bc53ea08284295505d98d2aa94301e852 # v4 with: # .NET 5 required for GitVersion dotnet-version: | diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index 3abd78c8b..4da8090f0 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -31,7 +31,7 @@ jobs: - name: Fetch all tags and branches run: git fetch --prune --unshallow - name: Install .NET - uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4 + uses: actions/setup-dotnet@87b7050bc53ea08284295505d98d2aa94301e852 # v4 with: # .NET 5 required for GitVersion dotnet-version: | From 2f3cac915bace2bb49f8721e1347da7cb1f438e2 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 27 Dec 2024 19:47:29 +0100 Subject: [PATCH 124/201] Add usage instructions for breaking builds (#853) --- docs/docs/documentation/overview.md | 2 +- .../usage/breaking-builds/breaking-builds.md | 28 +++++++++++++++++++ docs/mkdocs.yml | 1 + 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 docs/docs/documentation/usage/breaking-builds/breaking-builds.md diff --git a/docs/docs/documentation/overview.md b/docs/docs/documentation/overview.md index 0f91c525b..6251947e6 100644 --- a/docs/docs/documentation/overview.md +++ b/docs/docs/documentation/overview.md @@ -21,7 +21,7 @@ Some examples how Cake.Issues can help development teams to improve code quality Cake.Issues provides a seamless integration, allowing you to enforce coding standards by breaking builds when linting issues are detected. -[:octicons-arrow-right-24: Aliases for build breaking](https://cakebuild.net/extensions/cake-issues/#Build-Breaking){target="_blank"} +[:octicons-arrow-right-24: Breaking builds](usage/breaking-builds/breaking-builds.md) ### Pull Requests integration diff --git a/docs/docs/documentation/usage/breaking-builds/breaking-builds.md b/docs/docs/documentation/usage/breaking-builds/breaking-builds.md new file mode 100644 index 000000000..f9ee9e21a --- /dev/null +++ b/docs/docs/documentation/usage/breaking-builds/breaking-builds.md @@ -0,0 +1,28 @@ +--- +title: Breaking builds +description: Usage instructions how to break builds. +--- + +The `Cake.Issues` addin can be used to break builds if specific issues were reported. + +To break builds you need to import the following core addin: + +```csharp +#addin "Cake.Issues" // (1)! +``` + +--8<-- "snippets/pinning.md" + +The following task will fail the build if any issues were added to the `issues` global variable: + +```csharp +// Global issues list into which issues need to be added. +IEnumerable issues = null; + +Task("BreakBuildOnIssues") + .Description("Breaks build if any issues in the code are found.") + .Does(() => +{ + BreakBuildOnIssues(issues); +}); +``` diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 97748da23..e678af24d 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -120,6 +120,7 @@ nav: - documentation/usage/reporting-issues-to-pull-requests/index.md - Report Issues To Pull Requests: documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md - Custom Issue Filter: documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md + - Breaking Builds: documentation/usage/breaking-builds/breaking-builds.md - Supported Tools: documentation/supported-tools.md - Recipe: - Overview: documentation/recipe/overview.md From c58cdce88fb19976a1a4bf3e387fd6b40a694fac Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 27 Dec 2024 21:01:31 +0100 Subject: [PATCH 125/201] Improve usage documentation (#854) --- .../usage/creating-reports/index.md | 9 ++++- docs/docs/documentation/usage/index.md | 18 +++++++++- .../usage/reading-issues/index.md | 11 ++++++- docs/docs/documentation/usage/recipe/index.md | 33 +++++++++++++++++++ .../using-cake-frosting-issues-recipe.md | 8 +++-- .../usage/recipe/using-cake-issues-recipe.md | 7 ++-- .../custom-issue-filter.md | 2 +- .../index.md | 10 +++++- docs/mkdocs.yml | 2 ++ 9 files changed, 89 insertions(+), 11 deletions(-) create mode 100644 docs/docs/documentation/usage/recipe/index.md diff --git a/docs/docs/documentation/usage/creating-reports/index.md b/docs/docs/documentation/usage/creating-reports/index.md index d54f26e7e..22de03ec9 100644 --- a/docs/docs/documentation/usage/creating-reports/index.md +++ b/docs/docs/documentation/usage/creating-reports/index.md @@ -3,4 +3,11 @@ title: Creating Reports description: How to create reports using Cake.Issues.Reporting. --- -For report format specific examples see [Report Format Examples](../../report-formats/index.md). +
    + +- :material-test-tube: [Create Reports](creating-reports.md) + +
    + +!!! tip + For more report format specific examples see [Report Format Examples](../../report-formats/index.md). diff --git a/docs/docs/documentation/usage/index.md b/docs/docs/documentation/usage/index.md index bd8e97953..a4381093c 100644 --- a/docs/docs/documentation/usage/index.md +++ b/docs/docs/documentation/usage/index.md @@ -3,4 +3,20 @@ title: Usage description: How to obtain, configure, and use Cake.Issues. --- -How to obtain, configure, and use Cake.Issues. +## Ready To Use Distributions + +The easiest way to use Cake Issues is by using one of the [Recipe packages], +which provide build scripts, delivered as a NuGet package, +which can be used inside your projects Cake build to add issue management. + +## Consuming Of Individual Addins + +The addins can be added individually to any Cake build and allow advanced customizations: + +* [Creating Issues](creating-issues/creating-issues.md) +* [Reading Issues](reading-issues/index.md) +* [Creating Reports](creating-reports/index.md) +* [Reporting Issues To Pull Request And Build Systems](reporting-issues-to-pull-requests/index.md) +* [Breaking Builds](breaking-builds/breaking-builds.md) + +[Recipe packages]: recipe/index.md diff --git a/docs/docs/documentation/usage/reading-issues/index.md b/docs/docs/documentation/usage/reading-issues/index.md index 56444a43a..747b17788 100644 --- a/docs/docs/documentation/usage/reading-issues/index.md +++ b/docs/docs/documentation/usage/reading-issues/index.md @@ -3,4 +3,13 @@ title: Reading Issues description: How to read issues using Cake.Issues. --- -For issue provider specific examples see [Issue Provider Examples](../../issue-providers/index.md). +
    + +- :material-test-tube: [Read Issues](reading-issues.md) +- :material-test-tube: [Pass Additional Run Information](run-information.md) +- :material-test-tube: [Configure File Links](file-linking.md) + +
    + +!!! tip + For more issue provider specific examples see [Issue Provider Examples](../../issue-providers/index.md). diff --git a/docs/docs/documentation/usage/recipe/index.md b/docs/docs/documentation/usage/recipe/index.md new file mode 100644 index 000000000..c5e0876b4 --- /dev/null +++ b/docs/docs/documentation/usage/recipe/index.md @@ -0,0 +1,33 @@ +--- +title: Recipe usage +description: How to obtain, configure, and use Cake Issues recipes. +--- + +Cake.Issues recipes provide build scripts, delivered as a NuGet package, which can be used inside your projects Cake build to add issue management. + +Integration of code analyzing and linting tools into a build pipeline often looks the similar, and differentiates mainly on the used linters, build and pull request systems. +Cake.Issues recipes contain code to do all the parsing, integration with build and pull request systems for you, using the individual Cake.Issues addins. +They support different linters based on the linting log files you pass it and integrate automatically with different build and pull request systems. + +There are two flavors available: + +
    + +- :material-receipt-text: [Cake.Issues.Recipe] + + --- + + For [Cake .NET Tool]{target="_blank"} + +- :material-receipt-text: [Cake.Frosting.Issues.Recipe] + + --- + + For [Cake Frosting]{target="_blank"} + +
    + +[Cake.Issues.Recipe]: using-cake-issues-recipe.md +[Cake.Frosting.Issues.Recipe]: using-cake-frosting-issues-recipe.md +[Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool +[Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting diff --git a/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md b/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md index 56af6ec77..bf6d49087 100644 --- a/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md +++ b/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md @@ -8,7 +8,7 @@ The [Cake.Frosting.Issues.Recipe] package can be used to easily add issue manage !!! info See [Setting Up A New Frosting Project] for instructions how to create a new Cake Frosting project. -[Setting Up A New Frosting Project]: https://cakebuild.net/docs/getting-started/setting-up-a-new-frosting-project +[Setting Up A New Frosting Project]: https://cakebuild.net/docs/getting-started/setting-up-a-new-frosting-project{target="_blank"} ## Add Cake.Frosting.Issues.Recipe to your Cake Frosting build @@ -45,13 +45,17 @@ public static class Program { return new CakeHost() .UseContext() - .InstallTool(new Uri("nuget:?package=JetBrains.ReSharper.CommandLineTools")) + .InstallTool( + new Uri( + "nuget:?package=JetBrains.ReSharper.CommandLineTools")) // (1) .AddAssembly(Assembly.GetAssembly(typeof(IssuesTask))) .Run(args); } } ``` +--8<-- "snippets/pinning.md" + ## Create build context [Cake.Frosting.Issues.Recipe] provides a build context from which you need to inherit your custom build context. diff --git a/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md b/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md index 67f7774b2..ce8a86347 100644 --- a/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md +++ b/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md @@ -10,14 +10,13 @@ The [Cake.Issues.Recipe] package can be used to easily add issue management func To use Cake.Issues.Recipe in your build script you need to first load the NuGet package: ```csharp -#load nuget:package=Cake.Issues.Recipe +#load nuget:package=Cake.Issues.Recipe // (1)! ``` -!!! warning - Please note that you always should pin NuGet packages to a specific version to make sure your builds are deterministic and +1. Please note that you always should pin NuGet packages to a specific version to make sure your builds are deterministic and won't break due to updates to Cake.Issues.Recipe. - See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. + See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version){target="_blank"} for details. ## Configuring Cake.Issues.Recipe diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md index b289a45b3..b13103631 100644 --- a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md @@ -5,7 +5,7 @@ description: Usage instructions how to apply custom filters to issues. You can define custom filters which are applied to issues before they are posted as comments to pull requests. -!!! info +??? tip "Tip: Filter to issues introduced with pull request" You can use a custom filter to only have issues introduced with the current code posted to the pull request. For this you need to store your log files as artifacts on your build system, then you can define a custom filter diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/index.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/index.md index 53a49e221..0045a459c 100644 --- a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/index.md +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/index.md @@ -3,4 +3,12 @@ title: Reporting Issues To Pull Requests description: How to report issues to pull requests using Cake.Issues.PullRequests. --- -For pull request system specific examples see [Pull Request System Examples](../../pull-request-systems/index.md) +
    + +- :material-test-tube: [Report Issues To Pull Requests](report-issues-to-pull-requests.md) +- :material-test-tube: [Apply Custom Issue Filter](custom-issue-filter.md) + +
    + +!!! tip + For more pull request system specific examples see [Pull Request System Examples](../../pull-request-systems/index.md) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index e678af24d..c50d2b6b3 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -70,6 +70,7 @@ markdown_extensions: - admonition - attr_list - md_in_html + - pymdownx.details - pymdownx.emoji: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg @@ -105,6 +106,7 @@ nav: - Usage: - documentation/usage/index.md - Recipe: + - documentation/usage/recipe/index.md - Cake.Issues.Recipe: documentation/usage/recipe/using-cake-issues-recipe.md - Cake.Frosting.Issues.Recipe: documentation/usage/recipe/using-cake-frosting-issues-recipe.md - Creating Issues: documentation/usage/creating-issues/creating-issues.md From 792182e831a37518de76147a3c8fa6645955d168 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 27 Dec 2024 21:24:12 +0100 Subject: [PATCH 126/201] Clean up commented out documentation (#855) --- docs/docs/documentation/overview.md | 30 ----------------------------- 1 file changed, 30 deletions(-) diff --git a/docs/docs/documentation/overview.md b/docs/docs/documentation/overview.md index 6251947e6..1992f8ed3 100644 --- a/docs/docs/documentation/overview.md +++ b/docs/docs/documentation/overview.md @@ -73,34 +73,4 @@ This adaptability ensures that your build scripts can evolve with the ever-chang [:octicons-arrow-right-24: Documentation](extending/index.md) - - [modular architecture]: how-cake-issues-works.md - From dbc79259515441e9f1a5e3a7f4b3acb956c24b0b Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 27 Dec 2024 22:26:17 +0100 Subject: [PATCH 127/201] Improve addin feature lists (#856) --- .../issue-providers/docfx/features.md | 58 ++++++++------- .../issue-providers/eslint/features.md | 64 +++++++++------- .../issue-providers/gitrepository/features.md | 52 +++++++------ .../issue-providers/inspectcode/features.md | 64 +++++++++------- .../issue-providers/markdownlint/features.md | 74 +++++++++++-------- .../issue-providers/msbuild/features.md | 66 ++++++++++------- .../issue-providers/sarif/features.md | 52 +++++++------ .../issue-providers/terraform/features.md | 56 ++++++++------ docs/mkdocs.yml | 2 + 9 files changed, 282 insertions(+), 206 deletions(-) diff --git a/docs/docs/documentation/issue-providers/docfx/features.md b/docs/docs/documentation/issue-providers/docfx/features.md index 4de379006..2fd85b1b5 100644 --- a/docs/docs/documentation/issue-providers/docfx/features.md +++ b/docs/docs/documentation/issue-providers/docfx/features.md @@ -6,34 +6,40 @@ description: Features of the Cake.Issues.DocFx addin. The [Cake.Issues.DocFx addin](https://cakebuild.net/extensions/cake-issues-docfx/){target="_blank"} provides the following features. -## Basic features - -* Reads warnings from [DocFx](https://dotnet.github.io/docfx/){target="_blank"} log files. - -!!! info +??? tip "Tip: Running DocFx" [DocFx](https://dotnet.github.io/docfx/){target="_blank"} can be run with [Cake.DocFx](https://cakebuild.net/extensions/cake-docfx/){target="_blank"} addin. +## Basic features + +- [x] Reads warnings from [DocFx](https://dotnet.github.io/docfx/){target="_blank"} log files. + ## Supported IIssue properties -| | Property | Remarks | -|------------------|-----------------------------------|---------------------------------| -| :material-check: | `IIssue.ProviderType` | | -| :material-check: | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| :material-check: | `IIssue.AffectedFileRelativePath` | | -| :material-check: | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| | `IIssue.Column` | | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| :material-check: | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| :material-check: | `IIssue.Priority` | | -| :material-check: | `IIssue.PriorityName` | | -| :material-check: | `IIssue.Rule` | | -| :material-check: | `IIssue.RuleUrl` | | +
    + +- [x] `IIssue.ProviderType` +- [x] `IIssue.ProviderName` +- [ ] `IIssue.Run` (1) +- [x] `IIssue.Identifier` (2) +- [ ] `IIssue.ProjectName` +- [ ] `IIssue.ProjectFileRelativePath` +- [x] `IIssue.AffectedFileRelativePath` +- [x] `IIssue.Line` +- [ ] `IIssue.EndLine` +- [ ] `IIssue.Column` +- [ ] `IIssue.EndColumn` +- [ ] `IIssue.FileLink` (3) +- [x] `IIssue.MessageText` +- [ ] `IIssue.MessageHtml` +- [ ] `IIssue.MessageMarkdown` +- [x] `IIssue.Priority` +- [x] `IIssue.PriorityName` +- [x] `IIssue.Rule` +- [x] `IIssue.RuleUrl` + +
    + +1. Can be set while reading issues +2. Set to `IIssue.MessageText` +3. Can be set while reading issues diff --git a/docs/docs/documentation/issue-providers/eslint/features.md b/docs/docs/documentation/issue-providers/eslint/features.md index 6718c1038..812bb7bab 100644 --- a/docs/docs/documentation/issue-providers/eslint/features.md +++ b/docs/docs/documentation/issue-providers/eslint/features.md @@ -5,38 +5,50 @@ description: Features of the Cake.Issues.EsLint addin. The [Cake.Issues.EsLint addin](https://cakebuild.net/extensions/cake-issues-eslint/){target="_blank"} provides the following features. +??? tip "Tip: Running ESLint" + [ESLint](https://eslint.org){target="_blank"} can be run with + [Cake.ESLint](https://cakebuild.net/extensions/cake-eslint/){target="_blank"} addin. + ## Basic features -* Reads issues reported by ESLint. -* Provides URLs for all issues. -* Support for custom URL resolving using the [EsLintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/0F6CCE21){target="_blank"} +- [x] Reads issues reported by ESLint. +- [x] Provides URLs for all issues. +- [x] Support for custom URL resolving using the [EsLintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/0F6CCE21){target="_blank"} alias. ## Supported log file formats -* [EsLintJsonFormat](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/230C6E27){target="_blank"} - alias for reading issues from log files created by - [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. +- [x] [EsLintJsonFormat](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/230C6E27){target="_blank"} + alias for reading issues from log files created by + [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. ## Supported IIssue properties -| | Property | Remarks | -|------------------|-----------------------------------|---------------------------------| -| :material-check: | `IIssue.ProviderType` | | -| :material-check: | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| :material-check: | `IIssue.AffectedFileRelativePath` | | -| :material-check: | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| :material-check: | `IIssue.Column` | | -| | `IIssue.EndColumn` | | -| :material-check: | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| :material-check: | `IIssue.Priority` | | -| :material-check: | `IIssue.PriorityName` | | -| :material-check: | `IIssue.Rule` | | -| :material-check: | `IIssue.RuleUrl` | Support for custom rules can be added through a custom [EsLintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/0F6CCE21){target="_blank"} | +
    + +- [x] `IIssue.ProviderType` +- [x] `IIssue.ProviderName` +- [ ] `IIssue.Run` (1) +- [x] `IIssue.Identifier` (2) +- [ ] `IIssue.ProjectName` +- [ ] `IIssue.ProjectFileRelativePath` +- [x] `IIssue.AffectedFileRelativePath` +- [x] `IIssue.Line` +- [ ] `IIssue.EndLine` +- [x] `IIssue.Column` +- [ ] `IIssue.EndColumn` +- [ ] `IIssue.FileLink` (3) +- [x] `IIssue.MessageText` +- [ ] `IIssue.MessageHtml` +- [ ] `IIssue.MessageMarkdown` +- [x] `IIssue.Priority` +- [x] `IIssue.PriorityName` +- [x] `IIssue.Rule` +- [x] `IIssue.RuleUrl` (4) + +
    + +1. Can be set while reading issues +2. Set to `IIssue.MessageText` +3. Can be set while reading issues +4. Support for custom rules can be added through a custom [EsLintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/0F6CCE21){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/gitrepository/features.md b/docs/docs/documentation/issue-providers/gitrepository/features.md index a108b8f41..ebe5d11f8 100644 --- a/docs/docs/documentation/issue-providers/gitrepository/features.md +++ b/docs/docs/documentation/issue-providers/gitrepository/features.md @@ -8,32 +8,38 @@ provides the following features. ## Basic features -* Checks path length of files. See [FilePathTooLong] for details. -* Checks if binary files are tracked by Git LFS. See [BinaryFileNotTrackedByLfs] for details. +- [x] Checks path length of files. See [FilePathTooLong] for details. +- [x] Checks if binary files are tracked by Git LFS. See [BinaryFileNotTrackedByLfs] for details. ## Supported IIssue properties -| | Property | Remarks | -|------------------|-----------------------------------|---------------------------------| -| :material-check: | `IIssue.ProviderType` | | -| :material-check: | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| :material-check: | `IIssue.AffectedFileRelativePath` | | -| | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| | `IIssue.Column` | | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| :material-check: | `IIssue.MessageText` | | -| :material-check: | `IIssue.MessageHtml` | | -| :material-check: | `IIssue.MessageMarkdown` | | -| :material-check: | `IIssue.Priority` | | -| :material-check: | `IIssue.PriorityName` | | -| :material-check: | `IIssue.Rule` | | -| :material-check: | `IIssue.RuleUrl` | | +
    + +- [x] `IIssue.ProviderType` +- [x] `IIssue.ProviderName` +- [ ] `IIssue.Run` (1) +- [x] `IIssue.Identifier` (2) +- [ ] `IIssue.ProjectName` +- [ ] `IIssue.ProjectFileRelativePath` +- [x] `IIssue.AffectedFileRelativePath` +- [ ] `IIssue.Line` +- [ ] `IIssue.EndLine` +- [ ] `IIssue.Column` +- [ ] `IIssue.EndColumn` +- [ ] `IIssue.FileLink` (3) +- [x] `IIssue.MessageText` +- [x] `IIssue.MessageHtml` +- [x] `IIssue.MessageMarkdown` +- [x] `IIssue.Priority` +- [x] `IIssue.PriorityName` +- [x] `IIssue.Rule` +- [x] `IIssue.RuleUrl` + +
    + +1. Can be set while reading issues +2. Set to `IIssue.MessageText` +3. Can be set while reading issues [FilePathTooLong]: rules/FilePathTooLong.md [BinaryFileNotTrackedByLfs]: rules/BinaryFileNotTrackedByLfs.md diff --git a/docs/docs/documentation/issue-providers/inspectcode/features.md b/docs/docs/documentation/issue-providers/inspectcode/features.md index d04c5170e..4cfdac22a 100644 --- a/docs/docs/documentation/issue-providers/inspectcode/features.md +++ b/docs/docs/documentation/issue-providers/inspectcode/features.md @@ -3,36 +3,46 @@ title: Features description: Features of the Cake.Issues.InspectCode addin. --- -The [Cake.Issues.InspectCode addin] provides the following features: +The [Cake.Issues.InspectCode addin]{target="_blank"} provides the following features. + +??? tip "Tip: Running InspectCode" + [JetBrains InsepectCode]{target="_blank"} can be run using the [InspectCode alias]{target="_blank"}. ## Basic features -* Reads warnings from [JetBrains InsepectCode] log files. -* Provides URLs for issues containing a Wiki URL. +- [x] Reads warnings from [JetBrains InsepectCode]{target="_blank"} log files. +- [x] Provides URLs for issues containing a Wiki URL. ## Supported IIssue properties -| | Property | Remarks | -|------------------|-----------------------------------|----------------------------------| -| :material-check: | `IIssue.ProviderType` | | -| :material-check: | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| :material-check: | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| :material-check: | `IIssue.AffectedFileRelativePath` | | -| :material-check: | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| | `IIssue.Column` | | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| :material-check: | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| :material-check: | `IIssue.Priority` | | -| :material-check: | `IIssue.PriorityName` | | -| :material-check: | `IIssue.Rule` | | -| :material-check: | `IIssue.RuleUrl` | For issues containing a Wiki Url | - -[JetBrains InsepectCode]: https://www.jetbrains.com/help/resharper/2017.1/InspectCode.html -[Cake.Issues.InspectCode addin]: https://www.nuget.org/packages/Cake.Issues.InspectCode +
    + +- [x] `IIssue.ProviderType` +- [x] `IIssue.ProviderName` +- [ ] `IIssue.Run` (1) +- [x] `IIssue.Identifier` (2) +- [x] `IIssue.ProjectName` +- [ ] `IIssue.ProjectFileRelativePath` +- [x] `IIssue.AffectedFileRelativePath` +- [x] `IIssue.Line` +- [ ] `IIssue.EndLine` +- [ ] `IIssue.Column` +- [ ] `IIssue.EndColumn` +- [ ] `IIssue.FileLink` (3) +- [x] `IIssue.MessageText` +- [ ] `IIssue.MessageHtml` +- [ ] `IIssue.MessageMarkdown` +- [x] `IIssue.Priority` +- [x] `IIssue.PriorityName` +- [x] `IIssue.Rule` +- [x] `IIssue.RuleUrl` + +
    + +1. Can be set while reading issues +2. Set to `IIssue.MessageText` +3. Can be set while reading issues + +[JetBrains InsepectCode]: https://www.jetbrains.com/help/resharper/InspectCode.html +[Cake.Issues.InspectCode addin]: https://cakebuild.net/extensions/cake-issues-inspectcode/ +[InspectCode alias]: https://cakebuild.net/dsl/resharper/#InspectCode diff --git a/docs/docs/documentation/issue-providers/markdownlint/features.md b/docs/docs/documentation/issue-providers/markdownlint/features.md index 82418f14e..c353cfcdf 100644 --- a/docs/docs/documentation/issue-providers/markdownlint/features.md +++ b/docs/docs/documentation/issue-providers/markdownlint/features.md @@ -6,49 +6,59 @@ description: Features of the Cake.Issues.Markdownlint addin. The [Cake.Issues.Markdownlint addin](https://cakebuild.net/extensions/cake-issues-markdownlint/){target="_blank"} provides the following features. +??? tip "Tip: Running markdownlint" + [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target="_blank"} + can be run with the [Cake.Markdownlint](https://cakebuild.net/extensions/cake-markdownlint/){target="_blank"} + addin. + ## Basic features -* Reads warnings from [Markdownlint](https://github.com/DavidAnson/markdownlint){target="_blank"} logfiles. -* Provides URLs for all issues. -* Support for custom URL resolving using the [MarkdownlintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/2EE35F55){target="_blank"} +- [x] Reads warnings from [Markdownlint](https://github.com/DavidAnson/markdownlint){target="_blank"} logfiles. +- [x] Provides URLs for all issues. +- [x] Support for custom URL resolving using the [MarkdownlintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/2EE35F55){target="_blank"} alias (except for [MarkdownlintCliJsonLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F){target="_blank"}). ## Supported log file formats -* [MarkdownlintV1LogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/65609BEB){target="_blank"} +- [x] [MarkdownlintV1LogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/65609BEB){target="_blank"} alias for reading issues from [Markdownlint](https://github.com/DavidAnson/markdownlint){target="_blank"} output generated with `options.resultVersion` set to 1. -* [MarkdownlintCliLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E){target="_blank"} +- [x] [MarkdownlintCliLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E){target="_blank"} alias for reading issues from [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target="_blank"} log files. -* [MarkdownlintCliJsonLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F){target="_blank"} +- [x] [MarkdownlintCliJsonLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F){target="_blank"} alias for reading issues from [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target="_blank"} log files created with the `--json` parameter. -!!! tip - [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target="_blank"} - can be run with the [Cake.Markdownlint](https://cakebuild.net/extensions/cake-markdownlint/){target="_blank"} - addin. - ## Supported IIssue properties -| | Property | Remarks | -|------------------|-----------------------------------|-----------------------------------------| -| :material-check: | `IIssue.ProviderType` | | -| :material-check: | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| :material-check: | `IIssue.AffectedFileRelativePath` | | -| :material-check: | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| :material-check: | `IIssue.Column` | Only for [MarkdownlintCliLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E){target="_blank"} | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| :material-check: | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| :material-check: | `IIssue.Priority` | Always [IssuePriority.Warning](https://cakebuild.net/api/Cake.Issues/IssuePriority/7A0CE07F){target="_blank"} | -| :material-check: | `IIssue.PriorityName` | Always `Warning` | -| :material-check: | `IIssue.Rule` | | -| :material-check: | `IIssue.RuleUrl` | Support for custom rules can be added through a custom [MarkdownlintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/2EE35F55){target="_blank"} except for [MarkdownlintCliJsonLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F){target="_blank"} | +
    + +- [x] `IIssue.ProviderType` +- [x] `IIssue.ProviderName` +- [ ] `IIssue.Run` (1) +- [x] `IIssue.Identifier` (2) +- [ ] `IIssue.ProjectName` +- [ ] `IIssue.ProjectFileRelativePath` +- [x] `IIssue.AffectedFileRelativePath` +- [x] `IIssue.Line` +- [ ] `IIssue.EndLine` +- [x] `IIssue.Column` (3) +- [ ] `IIssue.EndColumn` +- [ ] `IIssue.FileLink` (4) +- [x] `IIssue.MessageText` +- [ ] `IIssue.MessageHtml` +- [ ] `IIssue.MessageMarkdown` +- [x] `IIssue.Priority` (5) +- [x] `IIssue.PriorityName` (6) +- [x] `IIssue.Rule` +- [x] `IIssue.RuleUrl` (7) + +
    + +1. Can be set while reading issues +2. Set to `IIssue.MessageText` +3. Only for [MarkdownlintCliLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E){target="_blank"} +4. Can be set while reading issues +5. Always [IssuePriority.Warning](https://cakebuild.net/api/Cake.Issues/IssuePriority/7A0CE07F){target="_blank"} +6. Always `Warning` +7. Support for custom rules can be added through a custom [MarkdownlintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/2EE35F55){target="_blank"} except for [MarkdownlintCliJsonLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/msbuild/features.md b/docs/docs/documentation/issue-providers/msbuild/features.md index b91eaece6..eae14c3a8 100644 --- a/docs/docs/documentation/issue-providers/msbuild/features.md +++ b/docs/docs/documentation/issue-providers/msbuild/features.md @@ -6,37 +6,51 @@ description: Features of the Cake.Issues.MsBuild addin. The [Cake.Issues.MsBuild addin](https://cakebuild.net/extensions/cake-issues-msbuild/){target="_blank"} provides the following features. +??? tip "Tip: Running MSBuild" + MSBuild can be run using the [DotNet aliases]{target="_blank"} or [MsBuild aliases]{target="_blank"}. + ## Basic features -* Reads errors and warnings from MSBuild log files. -* Provides URLs for all code analysis (`CA*`) and StyleCop (`SA*`) warnings. -* Support for custom URL resolving using the [MsBuildAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487){target="_blank"} alias. +- [x] Reads errors and warnings from MSBuild log files. +- [x] Provides URLs for all code analysis (`CA*`) and StyleCop (`SA*`) warnings. +- [x] Support for custom URL resolving using the [MsBuildAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487){target="_blank"} alias. ## Supported log file formats -* [MsBuildBinaryLogFileFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/AD50C7E1){target="_blank"} alias for reading issues from binary log files. -* [MsBuildXmlFileLoggerFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E){target="_blank"} alias for reading issues from log files created by [MSBuild Extension Pack XmlFileLogger](https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs){target="_blank"}. +- [x] [MsBuildBinaryLogFileFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/AD50C7E1){target="_blank"} alias for reading issues from binary log files. +- [x] [MsBuildXmlFileLoggerFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E){target="_blank"} alias for reading issues from log files created by [MSBuild Extension Pack XmlFileLogger](https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs){target="_blank"}. ## Supported IIssue properties -| | Property | Remarks | -|------------------|-----------------------------------|---------------------------------------| -| :material-check: | `IIssue.ProviderType` | | -| :material-check: | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| :material-check: | `IIssue.ProjectName` | | -| :material-check: | `IIssue.ProjectFileRelativePath` | | -| :material-check: | `IIssue.AffectedFileRelativePath` | | -| :material-check: | `IIssue.Line` | | -| | `IIssue.EndLine` | | -| :material-check: | `IIssue.Column` | Only for [MsBuildXmlFileLoggerFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E){target="_blank"} | -| | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| :material-check: | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| :material-check: | `IIssue.Priority` | | -| :material-check: | `IIssue.PriorityName` | | -| :material-check: | `IIssue.Rule` | | -| :material-check: | `IIssue.RuleUrl` | For code analysis (`CA*`) and StyleCop (`SA*`) warnings. Support for additional rules can be added through a custom [MsBuildAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487){target="_blank"} | +
    + +- [x] `IIssue.ProviderType` +- [x] `IIssue.ProviderName` +- [ ] `IIssue.Run` (1) +- [x] `IIssue.Identifier` (2) +- [x] `IIssue.ProjectName` +- [x] `IIssue.ProjectFileRelativePath` +- [x] `IIssue.AffectedFileRelativePath` +- [x] `IIssue.Line` +- [ ] `IIssue.EndLine` +- [x] `IIssue.Column` (3) +- [ ] `IIssue.EndColumn` +- [ ] `IIssue.FileLink` (4) +- [x] `IIssue.MessageText` +- [ ] `IIssue.MessageHtml` +- [ ] `IIssue.MessageMarkdown` +- [x] `IIssue.Priority` +- [x] `IIssue.PriorityName` +- [x] `IIssue.Rule` +- [x] `IIssue.RuleUrl` (5) + +
    + +1. Can be set while reading issues +2. Set to `IIssue.MessageText` +3. Only for [MsBuildXmlFileLoggerFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E){target="_blank"} +4. Can be set while reading issues +5. For code analysis (`CA*`) and StyleCop (`SA*`) warnings. Support for additional rules can be added through a custom [MsBuildAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487){target="_blank"} + +[DotNet aliases]: https://cakebuild.net/dsl/dotnet/#Built-In +[MsBuild aliases]: https://cakebuild.net/dsl/msbuild/#Built-In diff --git a/docs/docs/documentation/issue-providers/sarif/features.md b/docs/docs/documentation/issue-providers/sarif/features.md index 7863b0f12..d5e2b69c8 100644 --- a/docs/docs/documentation/issue-providers/sarif/features.md +++ b/docs/docs/documentation/issue-providers/sarif/features.md @@ -3,32 +3,38 @@ title: Features description: Features of the Cake.Issues.Sarif addin. --- -The [Cake.Issues.Sarif addin](https://cakebuild.net/extensions/cake-issues-terraform/){target="_blank"} provides the following features: +The [Cake.Issues.Sarif addin](https://cakebuild.net/extensions/cake-issues-terraform/){target="_blank"} provides the following features. ## Basic features -* Reads issues from files in [SARIF](https://sarifweb.azurewebsites.net/){target="_blank"} format. +- [x] Reads issues from files in [SARIF](https://sarifweb.azurewebsites.net/){target="_blank"} format. ## Supported IIssue properties -| | Property | Remarks | -|------------------|-----------------------------------|----------------------------------| -| :material-check: | `IIssue.ProviderType` | | -| :material-check: | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| :material-check: | `IIssue.AffectedFileRelativePath` | | -| :material-check: | `IIssue.Line` | | -| :material-check: | `IIssue.EndLine` | | -| :material-check: | `IIssue.Column` | | -| :material-check: | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| :material-check: | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| :material-check: | `IIssue.MessageMarkdown` | | -| :material-check: | `IIssue.Priority` | | -| :material-check: | `IIssue.PriorityName` | | -| :material-check: | `IIssue.Rule` | | -| :material-check: | `IIssue.RuleUrl` | | +
    + +- [x] `IIssue.ProviderType` +- [x] `IIssue.ProviderName` +- [ ] `IIssue.Run` (1) +- [x] `IIssue.Identifier` (2) +- [ ] `IIssue.ProjectName` +- [ ] `IIssue.ProjectFileRelativePath` +- [x] `IIssue.AffectedFileRelativePath` +- [x] `IIssue.Line` +- [x] `IIssue.EndLine` +- [x] `IIssue.Column` +- [x] `IIssue.EndColumn` +- [ ] `IIssue.FileLink` (3) +- [x] `IIssue.MessageText` +- [ ] `IIssue.MessageHtml` +- [x] `IIssue.MessageMarkdown` +- [x] `IIssue.Priority` +- [x] `IIssue.PriorityName` +- [x] `IIssue.Rule` +- [x] `IIssue.RuleUrl` + +
    + +1. Can be set while reading issues +2. Set to `IIssue.MessageText` +3. Can be set while reading issues diff --git a/docs/docs/documentation/issue-providers/terraform/features.md b/docs/docs/documentation/issue-providers/terraform/features.md index ce1361efc..6f8552445 100644 --- a/docs/docs/documentation/issue-providers/terraform/features.md +++ b/docs/docs/documentation/issue-providers/terraform/features.md @@ -3,35 +3,45 @@ title: Features description: Features of the Cake.Issues.Terraform addin. --- -The [Cake.Issues.Terraform addin] provides the following features: +The [Cake.Issues.Terraform addin]{target="_blank"} provides the following features. + +??? tip "Tip: Running Terraform" + [Terraform](https://www.terraform.io){target="_blank"} can be run with + [Cake.Terraform](https://cakebuild.net/extensions/cake-terraform/){target="_blank"} addin. ## Basic features -* Reads warnings from [Terraform validate command]. +- [x] Reads warnings from [Terraform validate command]{target="_blank"}. ## Supported IIssue properties -| | Property | Remarks | -|------------------|-----------------------------------|----------------------------------| -| :material-check: | `IIssue.ProviderType` | | -| :material-check: | `IIssue.ProviderName` | | -| | `IIssue.Run` | Can be set while reading issues | -| :material-check: | `IIssue.Identifier` | Set to `IIssue.MessageText` | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| :material-check: | `IIssue.AffectedFileRelativePath` | | -| :material-check: | `IIssue.Line` | | -| :material-check: | `IIssue.EndLine` | | -| :material-check: | `IIssue.Column` | | -| :material-check: | `IIssue.EndColumn` | | -| | `IIssue.FileLink` | Can be set while reading issues | -| :material-check: | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| :material-check: | `IIssue.Priority` | | -| :material-check: | `IIssue.PriorityName` | | -| :material-check: | `IIssue.Rule` | | -| | `IIssue.RuleUrl` | | +
    + +- [x] `IIssue.ProviderType` +- [x] `IIssue.ProviderName` +- [ ] `IIssue.Run` (1) +- [x] `IIssue.Identifier` (2) +- [ ] `IIssue.ProjectName` +- [ ] `IIssue.ProjectFileRelativePath` +- [x] `IIssue.AffectedFileRelativePath` +- [x] `IIssue.Line` +- [x] `IIssue.EndLine` +- [x] `IIssue.Column` +- [x] `IIssue.EndColumn` +- [ ] `IIssue.FileLink` (3) +- [x] `IIssue.MessageText` +- [ ] `IIssue.MessageHtml` +- [ ] `IIssue.MessageMarkdown` +- [x] `IIssue.Priority` +- [x] `IIssue.PriorityName` +- [x] `IIssue.Rule` +- [x] `IIssue.RuleUrl` + +
    + +1. Can be set while reading issues +2. Set to `IIssue.MessageText` +3. Can be set while reading issues [Terraform validate command]: https://www.terraform.io/docs/cli/commands/validate.html [Cake.Issues.Terraform addin]: https://cakebuild.net/extensions/cake-issues-terraform/ diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index c50d2b6b3..eb35d05ec 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -81,6 +81,8 @@ markdown_extensions: - pymdownx.inlinehilite - pymdownx.snippets - pymdownx.superfences + - pymdownx.tasklist: + custom_checkbox: true - toc: permalink: true From 661090c733a092a672743aa6d39e68038d3fbd2d Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 27 Dec 2024 22:56:43 +0100 Subject: [PATCH 128/201] Improve issue provider overview pages (#857) --- .../documentation/issue-providers/docfx/examples.md | 1 + .../documentation/issue-providers/docfx/features.md | 1 + .../documentation/issue-providers/docfx/index.md | 7 +++++++ .../documentation/issue-providers/eslint/features.md | 1 + .../documentation/issue-providers/eslint/index.md | 6 ++++++ .../issue-providers/gitrepository/examples.md | 1 + .../issue-providers/gitrepository/features.md | 1 + .../issue-providers/gitrepository/index.md | 8 ++++++++ .../issue-providers/gitrepository/rules/index.md | 12 ++++++++++++ .../issue-providers/inspectcode/examples.md | 1 + .../issue-providers/inspectcode/features.md | 1 + .../issue-providers/inspectcode/index.md | 7 +++++++ .../issue-providers/markdownlint/examples.md | 1 + .../issue-providers/markdownlint/features.md | 1 + .../issue-providers/markdownlint/index.md | 7 +++++++ .../issue-providers/msbuild/examples.md | 1 + .../issue-providers/msbuild/features.md | 1 + .../documentation/issue-providers/msbuild/index.md | 7 +++++++ .../documentation/issue-providers/sarif/features.md | 1 + .../documentation/issue-providers/sarif/index.md | 6 ++++++ .../issue-providers/terraform/features.md | 1 + .../documentation/issue-providers/terraform/index.md | 6 ++++++ docs/mkdocs.yml | 1 + 23 files changed, 80 insertions(+) create mode 100644 docs/docs/documentation/issue-providers/gitrepository/rules/index.md diff --git a/docs/docs/documentation/issue-providers/docfx/examples.md b/docs/docs/documentation/issue-providers/docfx/examples.md index 776a20261..de0ce56c2 100644 --- a/docs/docs/documentation/issue-providers/docfx/examples.md +++ b/docs/docs/documentation/issue-providers/docfx/examples.md @@ -1,6 +1,7 @@ --- title: Examples description: Examples for using the Cake.Issues.DocFx addin. +icon: material/test-tube --- The following example will call [DocFx](https://dotnet.github.io/docfx/){target="_blank"} to diff --git a/docs/docs/documentation/issue-providers/docfx/features.md b/docs/docs/documentation/issue-providers/docfx/features.md index 2fd85b1b5..eb10b43de 100644 --- a/docs/docs/documentation/issue-providers/docfx/features.md +++ b/docs/docs/documentation/issue-providers/docfx/features.md @@ -1,6 +1,7 @@ --- title: Features description: Features of the Cake.Issues.DocFx addin. +icon: material/creation-outline --- The [Cake.Issues.DocFx addin](https://cakebuild.net/extensions/cake-issues-docfx/){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/docfx/index.md b/docs/docs/documentation/issue-providers/docfx/index.md index 764fc8fbd..07c176731 100644 --- a/docs/docs/documentation/issue-providers/docfx/index.md +++ b/docs/docs/documentation/issue-providers/docfx/index.md @@ -5,3 +5,10 @@ description: Issue provider which allows you to read warnings logged by DocFx. Support for reading warnings reported by [DocFx](https://dotnet.github.io/docfx/){target="_blank"} is implemented in the [Cake.Issues.DocFx addin](https://cakebuild.net/extensions/cake-issues-docfx/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) +- :material-test-tube: [Examples](examples.md) + +
    diff --git a/docs/docs/documentation/issue-providers/eslint/features.md b/docs/docs/documentation/issue-providers/eslint/features.md index 812bb7bab..40980939d 100644 --- a/docs/docs/documentation/issue-providers/eslint/features.md +++ b/docs/docs/documentation/issue-providers/eslint/features.md @@ -1,6 +1,7 @@ --- title: Features description: Features of the Cake.Issues.EsLint addin. +icon: material/creation-outline --- The [Cake.Issues.EsLint addin](https://cakebuild.net/extensions/cake-issues-eslint/){target="_blank"} provides the following features. diff --git a/docs/docs/documentation/issue-providers/eslint/index.md b/docs/docs/documentation/issue-providers/eslint/index.md index a233ea84a..1e2eee634 100644 --- a/docs/docs/documentation/issue-providers/eslint/index.md +++ b/docs/docs/documentation/issue-providers/eslint/index.md @@ -5,3 +5,9 @@ description: Issue provider which allows you to read issues logged by ESLint. Support for reading issues reported by [ESLint](https://eslint.org/){target="_blank"} is implemented in the [Cake.Issues.EsLint addin](https://cakebuild.net/extensions/cake-issues-eslint/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) + +
    diff --git a/docs/docs/documentation/issue-providers/gitrepository/examples.md b/docs/docs/documentation/issue-providers/gitrepository/examples.md index 582887eb8..08e622528 100644 --- a/docs/docs/documentation/issue-providers/gitrepository/examples.md +++ b/docs/docs/documentation/issue-providers/gitrepository/examples.md @@ -1,6 +1,7 @@ --- title: Examples description: Examples for using the Cake.Issues.GitRepository addin. +icon: material/test-tube --- The following example prints the number of binary files which are not tracked by diff --git a/docs/docs/documentation/issue-providers/gitrepository/features.md b/docs/docs/documentation/issue-providers/gitrepository/features.md index ebe5d11f8..b9efc9253 100644 --- a/docs/docs/documentation/issue-providers/gitrepository/features.md +++ b/docs/docs/documentation/issue-providers/gitrepository/features.md @@ -1,6 +1,7 @@ --- title: Features description: Features of the Cake.Issues.GitRepository addin. +icon: material/creation-outline --- The [Cake.Issues.GitRepository addin](https://cakebuild.net/extensions/cake-issues-gitrepository/){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/gitrepository/index.md b/docs/docs/documentation/issue-providers/gitrepository/index.md index 897680de1..4719fdde5 100644 --- a/docs/docs/documentation/issue-providers/gitrepository/index.md +++ b/docs/docs/documentation/issue-providers/gitrepository/index.md @@ -5,3 +5,11 @@ description: Issue provider which allows you to analyzing Git repositories and c Support for analyzing Git repositories is implemented in the [Cake.Issues.GitRepository addin](https://cakebuild.net/extensions/cake-issues-gitrepository/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) +- :material-test-tube: [Examples](examples.md) +- :fontawesome-solid-scroll: [Rules](rules/index.md) + +
    diff --git a/docs/docs/documentation/issue-providers/gitrepository/rules/index.md b/docs/docs/documentation/issue-providers/gitrepository/rules/index.md new file mode 100644 index 000000000..0e633c7ec --- /dev/null +++ b/docs/docs/documentation/issue-providers/gitrepository/rules/index.md @@ -0,0 +1,12 @@ +--- +title: Rules +description: Rules of the Cake.Issues.GitRepository provider. +icon: fontawesome/solid/scroll +--- + +
    + +- :fontawesome-solid-scroll: [BinaryFileNotTrackedByLfs](BinaryFileNotTrackedByLfs.md) +- :fontawesome-solid-scroll: [FilePathTooLong](FilePathTooLong.md) + +
    diff --git a/docs/docs/documentation/issue-providers/inspectcode/examples.md b/docs/docs/documentation/issue-providers/inspectcode/examples.md index 8b42137d1..833248a77 100644 --- a/docs/docs/documentation/issue-providers/inspectcode/examples.md +++ b/docs/docs/documentation/issue-providers/inspectcode/examples.md @@ -1,6 +1,7 @@ --- title: Examples description: Examples for using the Cake.Issues.InspectCode addin. +icon: material/test-tube --- The following example will call [JetBrains InspectCode] and output the number of warnings. diff --git a/docs/docs/documentation/issue-providers/inspectcode/features.md b/docs/docs/documentation/issue-providers/inspectcode/features.md index 4cfdac22a..826729cc1 100644 --- a/docs/docs/documentation/issue-providers/inspectcode/features.md +++ b/docs/docs/documentation/issue-providers/inspectcode/features.md @@ -1,6 +1,7 @@ --- title: Features description: Features of the Cake.Issues.InspectCode addin. +icon: material/creation-outline --- The [Cake.Issues.InspectCode addin]{target="_blank"} provides the following features. diff --git a/docs/docs/documentation/issue-providers/inspectcode/index.md b/docs/docs/documentation/issue-providers/inspectcode/index.md index 41d8d068e..33be2d79b 100644 --- a/docs/docs/documentation/issue-providers/inspectcode/index.md +++ b/docs/docs/documentation/issue-providers/inspectcode/index.md @@ -5,3 +5,10 @@ description: Issue provider which allows you to read issues logged by JetBrains Support for reading issues reported by [JetBrains Inspect Code](https://www.jetbrains.com/help/resharper/2017.1/InspectCode.html) is implemented in the [Cake.Issues.InspectCode addin](https://www.nuget.org/packages/Cake.Issues.InspectCode). + +
    + +- :material-creation-outline: [Features](features.md) +- :material-test-tube: [Examples](examples.md) + +
    diff --git a/docs/docs/documentation/issue-providers/markdownlint/examples.md b/docs/docs/documentation/issue-providers/markdownlint/examples.md index 8919cea81..1389ebbce 100644 --- a/docs/docs/documentation/issue-providers/markdownlint/examples.md +++ b/docs/docs/documentation/issue-providers/markdownlint/examples.md @@ -1,6 +1,7 @@ --- title: Examples description: Examples for using the Cake.Issues.Markdownlint addin. +icon: material/test-tube --- The following example will call [markdownlint-cli] to lint some markdown files and outputs the number of warnings. diff --git a/docs/docs/documentation/issue-providers/markdownlint/features.md b/docs/docs/documentation/issue-providers/markdownlint/features.md index c353cfcdf..5d268f97f 100644 --- a/docs/docs/documentation/issue-providers/markdownlint/features.md +++ b/docs/docs/documentation/issue-providers/markdownlint/features.md @@ -1,6 +1,7 @@ --- title: Features description: Features of the Cake.Issues.Markdownlint addin. +icon: material/creation-outline --- The [Cake.Issues.Markdownlint addin](https://cakebuild.net/extensions/cake-issues-markdownlint/){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/markdownlint/index.md b/docs/docs/documentation/issue-providers/markdownlint/index.md index a47bf5b78..99980b03d 100644 --- a/docs/docs/documentation/issue-providers/markdownlint/index.md +++ b/docs/docs/documentation/issue-providers/markdownlint/index.md @@ -5,3 +5,10 @@ description: Issue provider which allows you to read issues logged by markdownli Support for reading issues reported by [markdownlint](https://github.com/DavidAnson/markdownlint) is implemented in the [Cake.Issues.Markdownlint addin](https://www.nuget.org/packages/Cake.Issues.Markdownlint). + +
    + +- :material-creation-outline: [Features](features.md) +- :material-test-tube: [Examples](examples.md) + +
    diff --git a/docs/docs/documentation/issue-providers/msbuild/examples.md b/docs/docs/documentation/issue-providers/msbuild/examples.md index 17c23beae..6f55f849c 100644 --- a/docs/docs/documentation/issue-providers/msbuild/examples.md +++ b/docs/docs/documentation/issue-providers/msbuild/examples.md @@ -1,6 +1,7 @@ --- title: Examples description: Examples for using the Cake.Issues.MsBuild addin. +icon: material/test-tube --- The following example will call MsBuild to build the solution and outputs the number of warnings. diff --git a/docs/docs/documentation/issue-providers/msbuild/features.md b/docs/docs/documentation/issue-providers/msbuild/features.md index eae14c3a8..d8dfededa 100644 --- a/docs/docs/documentation/issue-providers/msbuild/features.md +++ b/docs/docs/documentation/issue-providers/msbuild/features.md @@ -1,6 +1,7 @@ --- title: Features description: Features of the Cake.Issues.MsBuild addin. +icon: material/creation-outline --- The [Cake.Issues.MsBuild addin](https://cakebuild.net/extensions/cake-issues-msbuild/){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/msbuild/index.md b/docs/docs/documentation/issue-providers/msbuild/index.md index 6a139dd47..7d1548401 100644 --- a/docs/docs/documentation/issue-providers/msbuild/index.md +++ b/docs/docs/documentation/issue-providers/msbuild/index.md @@ -5,3 +5,10 @@ description: Issue provider which allows you to read warnings logged by MsBuild. Support for reading warnings reported by MsBuild is implemented in the [Cake.Issues.MsBuild](https://www.nuget.org/packages/Cake.Issues.MsBuild). + +
    + +- :material-creation-outline: [Features](features.md) +- :material-test-tube: [Examples](examples.md) + +
    diff --git a/docs/docs/documentation/issue-providers/sarif/features.md b/docs/docs/documentation/issue-providers/sarif/features.md index d5e2b69c8..633b539e6 100644 --- a/docs/docs/documentation/issue-providers/sarif/features.md +++ b/docs/docs/documentation/issue-providers/sarif/features.md @@ -1,6 +1,7 @@ --- title: Features description: Features of the Cake.Issues.Sarif addin. +icon: material/creation-outline --- The [Cake.Issues.Sarif addin](https://cakebuild.net/extensions/cake-issues-terraform/){target="_blank"} provides the following features. diff --git a/docs/docs/documentation/issue-providers/sarif/index.md b/docs/docs/documentation/issue-providers/sarif/index.md index 0ae370be0..362c2c3d6 100644 --- a/docs/docs/documentation/issue-providers/sarif/index.md +++ b/docs/docs/documentation/issue-providers/sarif/index.md @@ -5,3 +5,9 @@ description: Issue provider which allows you to read issues from SARIF files. Support for reading issues in [SARIF](https://sarifweb.azurewebsites.net/){target="_blank"} format is implemented in the [Cake.Issues.Sarif addin](https://cakebuild.net/extensions/cake-issues-sarif/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) + +
    diff --git a/docs/docs/documentation/issue-providers/terraform/features.md b/docs/docs/documentation/issue-providers/terraform/features.md index 6f8552445..fd94919b5 100644 --- a/docs/docs/documentation/issue-providers/terraform/features.md +++ b/docs/docs/documentation/issue-providers/terraform/features.md @@ -1,6 +1,7 @@ --- title: Features description: Features of the Cake.Issues.Terraform addin. +icon: material/creation-outline --- The [Cake.Issues.Terraform addin]{target="_blank"} provides the following features. diff --git a/docs/docs/documentation/issue-providers/terraform/index.md b/docs/docs/documentation/issue-providers/terraform/index.md index 5d0982d3c..900971fef 100644 --- a/docs/docs/documentation/issue-providers/terraform/index.md +++ b/docs/docs/documentation/issue-providers/terraform/index.md @@ -5,3 +5,9 @@ description: Issue provider which allows you to read issues from Terraform valid Support for reading issues reported by [Terraform validate command](https://www.terraform.io/docs/cli/commands/validate.html) is implemented in the [Cake.Issues.Terraform addin](https://cakebuild.net/extensions/cake-issues-terraform/). + +
    + +- :material-creation-outline: [Features](features.md) + +
    diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index eb35d05ec..c0a85e204 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -146,6 +146,7 @@ nav: - Features: documentation/issue-providers/gitrepository/features.md - Examples: documentation/issue-providers/gitrepository/examples.md - Rules: + - documentation/issue-providers/gitrepository/rules/index.md - BinaryFileNotTrackedByLfs: documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md - FilePathTooLong: documentation/issue-providers/gitrepository/rules/FilePathTooLong.md - InspectCode: From bd4c9bf9f753369288aee17ea8ee825311c6cc35 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 28 Dec 2024 10:34:56 +0100 Subject: [PATCH 129/201] Improve rendering of tooltips (#858) --- docs/mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index c0a85e204..aa7a0619f 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -48,6 +48,7 @@ theme: - content.action.edit - content.code.annotate - content.code.copy + - content.tooltips - navigation.indexes - navigation.instant - navigation.instant.progress From 1e0700a7bc0deaff2ed78ba25329cbf96cd07554 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 28 Dec 2024 11:37:58 +0100 Subject: [PATCH 130/201] Add glossary (#859) --- docs/mkdocs.yml | 9 ++++++++- docs/snippets/abbreviations.md | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 docs/snippets/abbreviations.md diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index aa7a0619f..59a35b6f6 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -19,6 +19,10 @@ validation: unrecognized_links: warn anchors: warn +# Preview controls +watch: + - snippets + # Theme configuration theme: name: material @@ -68,6 +72,7 @@ plugins: # Extensions markdown_extensions: + - abbr - admonition - attr_list - md_in_html @@ -80,7 +85,9 @@ markdown_extensions: line_spans: __span pygments_lang_class: true - pymdownx.inlinehilite - - pymdownx.snippets + - pymdownx.snippets: + auto_append: + - snippets/abbreviations.md - pymdownx.superfences - pymdownx.tasklist: custom_checkbox: true diff --git a/docs/snippets/abbreviations.md b/docs/snippets/abbreviations.md new file mode 100644 index 000000000..17d58c945 --- /dev/null +++ b/docs/snippets/abbreviations.md @@ -0,0 +1,7 @@ + + +*[addins]: Addins allow to extend Cake language with additional aliases +*[aliases]: Aliases are convenience methods that are easily accessible directly from a Cake build +*[CI]: Continuous Integration - The practice of integrating source code changes frequently and ensuring that the integrated codebase is in a workable state +*[linter]: A static code analysis tool used to flag programming errors, bugs, stylistic errors and suspicious constructs +*[linters]: Static code analysis tools used to flag programming errors, bugs, stylistic errors and suspicious constructs From 6a59e81be031eda4c0b739dbedc0b2707e4ec544 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 28 Dec 2024 11:55:45 +0100 Subject: [PATCH 131/201] Replace remarks column with tooltips (#860) --- .../assets/tables/supported-tools-ansible.csv | 8 ++--- .../assets/tables/supported-tools-arm.csv | 8 ++--- .../assets/tables/supported-tools-bicep.csv | 6 ++-- .../assets/tables/supported-tools-cfn.csv | 10 +++--- .../assets/tables/supported-tools-docker.csv | 10 +++--- .../assets/tables/supported-tools-dotnet.csv | 32 +++++++++---------- .../tables/supported-tools-github-actions.csv | 6 ++-- .../assets/tables/supported-tools-go.csv | 4 +-- .../assets/tables/supported-tools-groovy.csv | 4 +-- .../assets/tables/supported-tools-helm.csv | 8 ++--- .../assets/tables/supported-tools-java.csv | 4 +-- .../tables/supported-tools-javascript.csv | 4 +-- .../assets/tables/supported-tools-json.csv | 6 ++-- .../assets/tables/supported-tools-jsx.csv | 6 ++-- .../assets/tables/supported-tools-kotlin.csv | 6 ++-- .../tables/supported-tools-kubernetes.csv | 8 ++--- .../tables/supported-tools-markdown.csv | 16 +++++----- .../assets/tables/supported-tools-openapi.csv | 8 ++--- .../assets/tables/supported-tools-php.csv | 4 +-- .../tables/supported-tools-protobuf.csv | 4 +-- .../assets/tables/supported-tools-python.csv | 4 +-- .../assets/tables/supported-tools-secrets.csv | 12 +++---- .../tables/supported-tools-terraform.csv | 12 +++---- .../tables/supported-tools-typescript.csv | 4 +-- docs/mkdocs.yml | 1 + 25 files changed, 98 insertions(+), 97 deletions(-) diff --git a/docs/docs/documentation/assets/tables/supported-tools-ansible.csv b/docs/docs/documentation/assets/tables/supported-tools-ansible.csv index b5dadbc80..f121908be 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-ansible.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-ansible.csv @@ -1,4 +1,4 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[Ansible-lint](https://ansible.readthedocs.io/projects/lint/){target='_blank'}",,"[SARIF](https://ansible.readthedocs.io/projects/lint/usage/#sarif-json){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[Ansible-lint](https://ansible.readthedocs.io/projects/lint/){target='_blank'}",,"[SARIF](https://ansible.readthedocs.io/projects/lint/usage/#sarif-json){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-arm.csv b/docs/docs/documentation/assets/tables/supported-tools-arm.csv index 5c8e64840..898f84884 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-arm.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-arm.csv @@ -1,4 +1,4 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-bicep.csv b/docs/docs/documentation/assets/tables/supported-tools-bicep.csv index 97ab8a57a..9051896cd 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-bicep.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-bicep.csv @@ -1,3 +1,3 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-cfn.csv b/docs/docs/documentation/assets/tables/supported-tools-cfn.csv index 0a23e5644..fb9afd343 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-cfn.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-cfn.csv @@ -1,5 +1,5 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[cfn-lint](https://github.com/aws-cloudformation/cfn-lint){target='_blank'}",,"[SARIF](https://github.com/aws-cloudformation/cfn-lint?tab=readme-ov-file#parameters){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[cfn-lint](https://github.com/aws-cloudformation/cfn-lint){target='_blank'}",,"[SARIF](https://github.com/aws-cloudformation/cfn-lint?tab=readme-ov-file#parameters){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-docker.csv b/docs/docs/documentation/assets/tables/supported-tools-docker.csv index 17ae8e30e..b3f8b5517 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-docker.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-docker.csv @@ -1,5 +1,5 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[Hadolint](https://github.com/hadolint/hadolint){target='_blank'}",,"[sarif](https://github.com/hadolint/hadolint?tab=readme-ov-file#cli){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[Hadolint](https://github.com/hadolint/hadolint){target='_blank'}",,"[sarif](https://github.com/hadolint/hadolint?tab=readme-ov-file#cli){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv b/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv index 590189dea..019ef0d25 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv @@ -1,16 +1,16 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[dupFinder](https://www.jetbrains.com/help/resharper/2021.2/dupFinder.html){target='_blank'}",,,"Cake.Issues.DupFinder",0.8.0,"Deprecated since [dupFinder Command Line Tool has been sunsetted](https://blog.jetbrains.com/dotnet/2021/08/12/sunsetting-dupfinder-command-line-tool/){target='_blank'}" -"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",,"[xml](https://www.jetbrains.com/help/resharper/InspectCode.html#alternative-output-formats){target='_blank'}","[Cake.Issues.InspectCode](issue-providers/inspectcode/index.md)",0.1.0, -"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",">= 2024.1","[SARIF](https://www.jetbrains.com/help/resharper/InspectCode.html#understanding-output){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 7](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.6.1, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 8](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.8.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 9](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",2.0.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 16](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",3.0.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 17](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.0.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 18](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.1.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 20](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.3.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 21](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.7.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 22](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.10.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 23](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.11.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 24](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.12.0, -"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[XmlFileLogger](https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.1.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"~~[dupFinder](https://www.jetbrains.com/help/resharper/2021.2/dupFinder.html){target='_blank'}~~{ title='Deprecated since dupFinder Command Line Tool has been sunsetted' } ",,,"Cake.Issues.DupFinder",0.8.0 +"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",,"[xml](https://www.jetbrains.com/help/resharper/InspectCode.html#alternative-output-formats){target='_blank'}","[Cake.Issues.InspectCode](issue-providers/inspectcode/index.md)",0.1.0 +"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",">= 2024.1","[SARIF](https://www.jetbrains.com/help/resharper/InspectCode.html#understanding-output){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 7](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.6.1 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 8](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.8.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 9](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",2.0.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 16](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",3.0.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 17](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.0.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 18](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.1.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 20](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.3.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 21](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.7.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 22](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.10.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 23](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.11.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 24](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.12.0 +"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[XmlFileLogger](https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.1.0 \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv b/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv index c47bd5cba..a9958c141 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv @@ -1,3 +1,3 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[actionlint](https://github.com/rhysd/actionlint){target='_blank'}",,"[SARIF](https://github.com/rhysd/actionlint/blob/v1.7.4/docs/usage.md#example-sarif-format){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[actionlint](https://github.com/rhysd/actionlint){target='_blank'}",,"[SARIF](https://github.com/rhysd/actionlint/blob/v1.7.4/docs/usage.md#example-sarif-format){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-go.csv b/docs/docs/documentation/assets/tables/supported-tools-go.csv index 534e0e352..b2f4f4013 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-go.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-go.csv @@ -1,2 +1,2 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[golangci-lint](https://github.com/golangci/golangci-lint){target='_blank'}",,"[sarif](https://golangci-lint.run/usage/configuration/#output-configuration){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[golangci-lint](https://github.com/golangci/golangci-lint){target='_blank'}",,"[sarif](https://golangci-lint.run/usage/configuration/#output-configuration){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-groovy.csv b/docs/docs/documentation/assets/tables/supported-tools-groovy.csv index d7914def3..998220ca0 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-groovy.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-groovy.csv @@ -1,2 +1,2 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[npm-groovy-lint](https://github.com/nvuillam/npm-groovy-lint){target='_blank'}",,"[sarif](https://github.com/nvuillam/npm-groovy-lint?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[npm-groovy-lint](https://github.com/nvuillam/npm-groovy-lint){target='_blank'}",,"[sarif](https://github.com/nvuillam/npm-groovy-lint?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-helm.csv b/docs/docs/documentation/assets/tables/supported-tools-helm.csv index 5c8e64840..898f84884 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-helm.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-helm.csv @@ -1,4 +1,4 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-java.csv b/docs/docs/documentation/assets/tables/supported-tools-java.csv index f9bc51517..5db0ea9c1 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-java.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-java.csv @@ -1,2 +1,2 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkstyle](https://checkstyle.org/){target='_blank'}",,"[sarif](https://checkstyle.org/cmdline.html#Command_line_usage_Command_Line_Options){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[checkstyle](https://checkstyle.org/){target='_blank'}",,"[sarif](https://checkstyle.org/cmdline.html#Command_line_usage_Command_Line_Options){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-javascript.csv b/docs/docs/documentation/assets/tables/supported-tools-javascript.csv index 3d6b4ed4c..6925ecbe9 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-javascript.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-javascript.csv @@ -1,2 +1,2 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[ESLint](https://eslint.org){target='_blank'}","Current","[json](https://eslint.org/docs/latest/use/formatters/#json){target='_blank'}","[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[ESLint](https://eslint.org){target='_blank'}","Current","[json](https://eslint.org/docs/latest/use/formatters/#json){target='_blank'}","[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0 \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-json.csv b/docs/docs/documentation/assets/tables/supported-tools-json.csv index 1af619815..90fc0a3ea 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-json.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-json.csv @@ -1,3 +1,3 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[eslint-plugin-json](https://www.npmjs.com/package/eslint-plugin-json){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, -"[eslint-plugin-jsonc](https://www.npmjs.com/package/eslint-plugin-jsonc){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[eslint-plugin-json](https://www.npmjs.com/package/eslint-plugin-json){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0 +"[eslint-plugin-jsonc](https://www.npmjs.com/package/eslint-plugin-jsonc){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0 \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-jsx.csv b/docs/docs/documentation/assets/tables/supported-tools-jsx.csv index 694b9979a..e093c2634 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-jsx.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-jsx.csv @@ -1,3 +1,3 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, -"[eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0 +"[eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0 \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv b/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv index feb8abbac..364af791d 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv @@ -1,3 +1,3 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[detekt](https://detekt.dev/){target='_blank'}",,[sarif](https://detekt.dev/docs/introduction/reporting#sarif),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[ktlint](https://pinterest.github.io/ktlint){target='_blank'}",,[sarif](https://pinterest.github.io/ktlint/latest/install/cli/#violation-reporting),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[detekt](https://detekt.dev/){target='_blank'}",,[sarif](https://detekt.dev/docs/introduction/reporting#sarif),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[ktlint](https://pinterest.github.io/ktlint){target='_blank'}",,[sarif](https://pinterest.github.io/ktlint/latest/install/cli/#violation-reporting),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv b/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv index c29f0643f..cb7b49a89 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv @@ -1,4 +1,4 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-markdown.csv b/docs/docs/documentation/assets/tables/supported-tools-markdown.csv index 91ded375b..9f64c7f04 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-markdown.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-markdown.csv @@ -1,8 +1,8 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[DocFx](https://dotnet.github.io/docfx/){target='_blank'}",,,"[Cake.Issues.DocFx](issue-providers/docfx/index.md)",0.1.0, -"[markdownlint](https://github.com/DavidAnson/markdownlint){target='_blank'}",,"[resultVersion=1](https://github.com/DavidAnson/markdownlint?tab=readme-ov-file#optionsresultversion){target='_blank'}","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.1.0, -"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",< 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.2.0, -"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.3.0, -"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.19.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.1, -"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.22.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.2, -"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",,"[json](https://github.com/igorshubovych/markdownlint-cli?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",1.1.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[DocFx](https://dotnet.github.io/docfx/){target='_blank'}",,,"[Cake.Issues.DocFx](issue-providers/docfx/index.md)",0.1.0 +"[markdownlint](https://github.com/DavidAnson/markdownlint){target='_blank'}",,"[resultVersion=1](https://github.com/DavidAnson/markdownlint?tab=readme-ov-file#optionsresultversion){target='_blank'}","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.1.0 +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",< 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.2.0 +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.3.0 +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.19.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.1 +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.22.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.2 +"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",,"[json](https://github.com/igorshubovych/markdownlint-cli?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",1.1.0 \ No newline at end of file diff --git a/docs/docs/documentation/assets/tables/supported-tools-openapi.csv b/docs/docs/documentation/assets/tables/supported-tools-openapi.csv index 6237cf938..96b4ef9ab 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-openapi.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-openapi.csv @@ -1,4 +1,4 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[Spectral](https://meta.stoplight.io/docs/spectral/674b27b261c3c-overview){target='_blank'}",,[sarif](https://meta.stoplight.io/docs/spectral/9ffa04e052cc1-spectral-cli),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[Spectral](https://meta.stoplight.io/docs/spectral/674b27b261c3c-overview){target='_blank'}",,[sarif](https://meta.stoplight.io/docs/spectral/9ffa04e052cc1-spectral-cli),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-php.csv b/docs/docs/documentation/assets/tables/supported-tools-php.csv index 47346b49c..0878c0555 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-php.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-php.csv @@ -1,2 +1,2 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[Psalm](https://psalm.dev/){target='_blank'}",,[results.sarif](https://psalm.dev/docs/security_analysis/#other-sarif-compatible-software),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[Psalm](https://psalm.dev/){target='_blank'}",,[results.sarif](https://psalm.dev/docs/security_analysis/#other-sarif-compatible-software),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv b/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv index 1d794f5f7..22b934ae6 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv @@ -1,2 +1,2 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[protolint](https://github.com/yoheimuta/protolint){target='_blank'}",,[sarif](https://github.com/yoheimuta/protolint?tab=readme-ov-file#reporters),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[protolint](https://github.com/yoheimuta/protolint){target='_blank'}",,[sarif](https://github.com/yoheimuta/protolint?tab=readme-ov-file#reporters),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-python.csv b/docs/docs/documentation/assets/tables/supported-tools-python.csv index c71372a7d..ad9f749ac 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-python.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-python.csv @@ -1,2 +1,2 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[Bandit](https://bandit.readthedocs.io/){target='_blank'}",,[sarif](https://bandit.readthedocs.io/en/latest/formatters/sarif.html),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[Bandit](https://bandit.readthedocs.io/){target='_blank'}",,[sarif](https://bandit.readthedocs.io/en/latest/formatters/sarif.html),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-secrets.csv b/docs/docs/documentation/assets/tables/supported-tools-secrets.csv index 895093719..fdf91fa5e 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-secrets.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-secrets.csv @@ -1,6 +1,6 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[DevSkim](https://github.com/microsoft/DevSkim){target='_blank'}",,[sarif](https://github.com/microsoft/DevSkim/wiki/Analyze-Command#output-file-and-format),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[gitleaks](https://gitleaks.io/){target='_blank'}",,[sarif](https://github.com/gitleaks/gitleaks?tab=readme-ov-file#reporting),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[secretlint](https://github.com/secretlint/secretlint){target='_blank'}",,[sarif](https://github.com/secretlint/secretlint?tab=readme-ov-file#sarif-format-support),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[semgrep](https://semgrep.dev/){target='_blank'}",,[sarif](https://semgrep.dev/docs/getting-started/cli#scan-your-project),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[DevSkim](https://github.com/microsoft/DevSkim){target='_blank'}",,[sarif](https://github.com/microsoft/DevSkim/wiki/Analyze-Command#output-file-and-format),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[gitleaks](https://gitleaks.io/){target='_blank'}",,[sarif](https://github.com/gitleaks/gitleaks?tab=readme-ov-file#reporting),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[secretlint](https://github.com/secretlint/secretlint){target='_blank'}",,[sarif](https://github.com/secretlint/secretlint?tab=readme-ov-file#sarif-format-support),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[semgrep](https://semgrep.dev/){target='_blank'}",,[sarif](https://semgrep.dev/docs/getting-started/cli#scan-your-project),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-terraform.csv b/docs/docs/documentation/assets/tables/supported-tools-terraform.csv index bb1c535e5..97e4e9695 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-terraform.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-terraform.csv @@ -1,6 +1,6 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[Terraform Validate](https://www.terraform.io/docs/cli/commands/validate.html){target='_blank'}",,,"[Cake.Issues.Terraform](issue-providers/terraform/index.md)",1.0.0, -"[TFLint](https://github.com/terraform-linters/tflint){target='_blank'}",,"[sarif](https://github.com/terraform-linters/tflint?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, -"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0, +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[Terraform Validate](https://www.terraform.io/docs/cli/commands/validate.html){target='_blank'}",,,"[Cake.Issues.Terraform](issue-providers/terraform/index.md)",1.0.0 +"[TFLint](https://github.com/terraform-linters/tflint){target='_blank'}",,"[sarif](https://github.com/terraform-linters/tflint?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/docs/documentation/assets/tables/supported-tools-typescript.csv b/docs/docs/documentation/assets/tables/supported-tools-typescript.csv index 3d6b4ed4c..6925ecbe9 100644 --- a/docs/docs/documentation/assets/tables/supported-tools-typescript.csv +++ b/docs/docs/documentation/assets/tables/supported-tools-typescript.csv @@ -1,2 +1,2 @@ -"Tool","Tool Version","Format","Issue Provider","Supported Since","Remarks" -"[ESLint](https://eslint.org){target='_blank'}","Current","[json](https://eslint.org/docs/latest/use/formatters/#json){target='_blank'}","[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0, \ No newline at end of file +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[ESLint](https://eslint.org){target='_blank'}","Current","[json](https://eslint.org/docs/latest/use/formatters/#json){target='_blank'}","[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0 \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 59a35b6f6..cccf33334 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -91,6 +91,7 @@ markdown_extensions: - pymdownx.superfences - pymdownx.tasklist: custom_checkbox: true + - pymdownx.tilde - toc: permalink: true From c86f258c403db2e8426c54970fb5892255908139 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 28 Dec 2024 21:49:44 +0100 Subject: [PATCH 132/201] Improve report & PR feature documentation (#861) --- .../appveyor/examples/index.md | 8 +++++++ .../pull-request-systems/appveyor/features.md | 23 +++++++++---------- .../pull-request-systems/appveyor/index.md | 9 +++++++- .../azure-devops/examples/index.md | 9 ++++++++ .../azure-devops/features.md | 19 ++++++++------- .../azure-devops/index.md | 10 +++++++- .../azure-devops/setup.md | 1 + .../github-actions/examples/index.md | 11 +++++++++ .../github-actions/features.md | 19 ++++++++------- .../github-actions/index.md | 9 +++++++- .../report-formats/console/examples.md | 1 + .../report-formats/console/features.md | 13 ++++++----- .../report-formats/console/index.md | 9 +++++++- .../generic/examples/index.cshtml | 7 ------ .../report-formats/generic/examples/index.md | 12 ++++++++++ .../report-formats/generic/features.md | 7 +++--- .../report-formats/generic/index.md | 10 +++++++- .../report-formats/generic/templates/index.md | 9 ++++++++ .../report-formats/sarif/examples.md | 1 + .../report-formats/sarif/features.md | 19 +++++++-------- .../report-formats/sarif/index.md | 9 +++++++- docs/mkdocs.yml | 2 ++ 22 files changed, 154 insertions(+), 63 deletions(-) create mode 100644 docs/docs/documentation/pull-request-systems/github-actions/examples/index.md delete mode 100644 docs/docs/documentation/report-formats/generic/examples/index.cshtml create mode 100644 docs/docs/documentation/report-formats/generic/examples/index.md diff --git a/docs/docs/documentation/pull-request-systems/appveyor/examples/index.md b/docs/docs/documentation/pull-request-systems/appveyor/examples/index.md index 4fd332421..c65c3ebdf 100644 --- a/docs/docs/documentation/pull-request-systems/appveyor/examples/index.md +++ b/docs/docs/documentation/pull-request-systems/appveyor/examples/index.md @@ -1,8 +1,16 @@ --- title: Examples description: Examples for using the Cake.Issues.PullRequests.AppVeyor addin. +icon: material/test-tube --- +
    + +- [Writting Messages To AppVeyor](write-messages.md) +- [GitHub PullRequest Integration](github-pullrequest-integration.md) + +
    + !!! info There's a [demo repository](https://github.com/pascalberger/Cake.Issues-Demo) available which you can fork and to which you can create pull requests to test the integration functionality. diff --git a/docs/docs/documentation/pull-request-systems/appveyor/features.md b/docs/docs/documentation/pull-request-systems/appveyor/features.md index 13d851d35..adf4de645 100644 --- a/docs/docs/documentation/pull-request-systems/appveyor/features.md +++ b/docs/docs/documentation/pull-request-systems/appveyor/features.md @@ -1,31 +1,30 @@ --- title: Features description: Features of the Cake.Issues.PullRequests.AppVeyor addin. +icon: material/creation-outline --- -The [Cake.Issues.PullRequests.AppVeyor addin] reports issues as messages to AppVeyor builds. +The [Cake.Issues.PullRequests.AppVeyor addin]{target="_blank"} reports issues as messages to AppVeyor builds. ![AppVeyor messages](appveyor-messages.png "AppVeyor messages") !!! info - There's a [demo repository] available which you can fork and to which you can create pull requests to test the integration functionality. + There's a [demo repository]{target="_blank"} available which you can fork and to which you can create pull requests to test the integration functionality. ## Basic features -* Reports issues as messages to AppVeyor builds. -* Messages can be written as comment to GitHub pull requests. - See [GitHub pull request integration] for an example. +- [x] Reports issues as messages to AppVeyor builds. +- [x] Messages can be written as comment to GitHub pull requests. + See [GitHub pull request integration] for an example. ## Supported capabilities -The [Cake.Issues.PullRequests.AppVeyor addin] doesn't support any additional capabilities. +The [Cake.Issues.PullRequests.AppVeyor addin]{target="_blank"} doesn't support any additional capabilities. -| | Capability | Remarks | -|------------------|--------------------------------|--------------------------------| -| | Checking commit ID | | -| | Discussion threads | | -| | Filtering by modified files | | +- [ ] Checking commit ID +- [ ] Discussion threads +- [ ] Filtering by modified files [demo repository]: https://github.com/pascalberger/Cake.Issues-Demo -[Cake.Issues.PullRequests.AppVeyor addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AppVeyor +[Cake.Issues.PullRequests.AppVeyor addin]: https://cakebuild.net/extensions/cake-issues-pullrequests-appveyor/ [GitHub pull request integration]: ./examples/github-pullrequest-integration.md diff --git a/docs/docs/documentation/pull-request-systems/appveyor/index.md b/docs/docs/documentation/pull-request-systems/appveyor/index.md index 3d0b41007..f2964d266 100644 --- a/docs/docs/documentation/pull-request-systems/appveyor/index.md +++ b/docs/docs/documentation/pull-request-systems/appveyor/index.md @@ -4,4 +4,11 @@ description: Support for AppVeyor. --- Support for AppVeyor is implemented in the -[Cake.Issues.PullRequests.AppVeyor addin](https://www.nuget.org/packages/Cake.Issues.PullRequests.AppVeyor). +[Cake.Issues.PullRequests.AppVeyor addin](https://cakebuild.net/extensions/cake-issues-pullrequests-appveyor/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) +- :material-test-tube: [Examples](examples/index.md) + +
    diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/index.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/index.md index 1ec97dfb9..881daabcc 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/examples/index.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/index.md @@ -1,8 +1,17 @@ --- title: Examples description: Examples for using the Cake.Issues.PullRequests.AzureDevOps addin. +icon: material/test-tube --- +
    + +- [Using With Pull Request ID](pullrequest-id.md) +- [Using With Repository Remote URL And Source Branch Name](repository-information.md) +- [Using With Azure Pipelines](azure-pipelines.md) + +
    + !!! info There's a [demo repository](https://dev.azure.com/pberger/Cake.Issues-Demo){target="_blank"} available which you can fork and to which you can create pull requests to test the integration functionality. diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/features.md b/docs/docs/documentation/pull-request-systems/azure-devops/features.md index 50ff5fcb0..5c823edf0 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/features.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/features.md @@ -1,6 +1,7 @@ --- title: Features description: Features of the Cake.Issues.PullRequests.AzureDevOps addin. +icon: material/creation-outline --- The [Cake.Issues.PullRequests.AzureDevOps addin](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/){target="_blank"} @@ -11,22 +12,20 @@ provides the following features. ## Basic features -* Writes issues as comments to [Azure DevOps](https://azure.microsoft.com/en-us/services/devops/){target="_blank"} pull requests. -* Identification of pull requests through source branch or pull request ID. -* Comments written by the addin will be rendered with a specific icon corresponding to the state of the issue. -* Adds rule number and, if provided by the issue provider, link to the rule description to the comment. -* Support for issues messages formatted in Markdown format. +- [x] Writes issues as comments to [Azure DevOps](https://azure.microsoft.com/en-us/services/devops/){target="_blank"} pull requests. +- [x] Identification of pull requests through source branch or pull request ID. +- [x] Comments written by the addin will be rendered with a specific icon corresponding to the state of the issue. +- [x] Adds rule number and, if provided by the issue provider, link to the rule description to the comment. +- [x] Support for issues messages formatted in Markdown format. ## Supported capabilities The [Cake.Issues.PullRequests.AzureDevOps addin](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/){target="_blank"} supports the following capabilities. -| | Capability | Remarks | -|------------------|--------------------------------|--------------------------------| -| :material-check: | Checking commit ID | | -| :material-check: | Discussion threads | | -| :material-check: | Filtering by modified files | | +- [x] Checking commit ID +- [x] Discussion threads +- [x] Filtering by modified files ## Supported authentication methods diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/index.md b/docs/docs/documentation/pull-request-systems/azure-devops/index.md index 14f386e65..773bdbf8a 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/index.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/index.md @@ -4,4 +4,12 @@ description: Support for Azure DevOps. --- Support for Azure DevOps is implemented in the -[Cake.Issues.PullRequests.AzureDevOps addin](https://www.nuget.org/packages/Cake.Issues.PullRequests.AzureDevOps). +[Cake.Issues.PullRequests.AzureDevOps addin](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) +- :material-cogs: [Setup](setup.md) +- :material-test-tube: [Examples](examples/index.md) + +
    diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/setup.md b/docs/docs/documentation/pull-request-systems/azure-devops/setup.md index 1067affcf..a07bfa224 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/setup.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/setup.md @@ -1,6 +1,7 @@ --- title: Setup description: Instructions how to setup the Cake.Issues.PullRequests.AzureDevOps addin. +icon: material/cogs --- This page describes the different ways how the [Cake.Issues.PullRequests.AzureDevOps addin] can be setup. diff --git a/docs/docs/documentation/pull-request-systems/github-actions/examples/index.md b/docs/docs/documentation/pull-request-systems/github-actions/examples/index.md new file mode 100644 index 000000000..9dc9864e1 --- /dev/null +++ b/docs/docs/documentation/pull-request-systems/github-actions/examples/index.md @@ -0,0 +1,11 @@ +--- +title: Examples +description: Examples for using the Cake.Issues.PullRequests.GitHubActions addin. +icon: material/test-tube +--- + +
    + +- [Create Annotations In GitHub Actions](write-annotations.md) + +
    diff --git a/docs/docs/documentation/pull-request-systems/github-actions/features.md b/docs/docs/documentation/pull-request-systems/github-actions/features.md index 8416a8570..97fb84650 100644 --- a/docs/docs/documentation/pull-request-systems/github-actions/features.md +++ b/docs/docs/documentation/pull-request-systems/github-actions/features.md @@ -1,25 +1,24 @@ --- title: Features description: Features of the Cake.Issues.PullRequests.GitHubActions addin. +icon: material/creation-outline --- -The [Cake.Issues.PullRequests.GitHubActions addin] creates annotations from issues when running on GitHub actions. +The [Cake.Issues.PullRequests.GitHubActions addin]{target="_blank"} creates annotations from issues when running on GitHub actions. ![Pull request integration](githubactions-pullrequest-integration.png "Pull request integration") ## Basic features -* Reports issues as annotations to GitHub Actions builds. -* Group issues in log output by provider and run information. +- [x] Reports issues as annotations to GitHub Actions builds. +- [x] Group issues in log output by provider and run information. ## Supported capabilities -The [Cake.Issues.PullRequests.GitHubActions addin] doesn't support any additional capabilities. +The [Cake.Issues.PullRequests.GitHubActions addin]{target="_blank"} doesn't support any additional capabilities. -| | Capability | Remarks | -|------------------|--------------------------------|--------------------------------| -| | Checking commit ID | | -| | Discussion threads | | -| | Filtering by modified files | | +- [ ] Checking commit ID +- [ ] Discussion threads +- [ ] Filtering by modified files -[Cake.Issues.PullRequests.GitHubActions addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.GitHubActions +[Cake.Issues.PullRequests.GitHubActions addin]: https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions/ diff --git a/docs/docs/documentation/pull-request-systems/github-actions/index.md b/docs/docs/documentation/pull-request-systems/github-actions/index.md index 9b29daaaf..f91cf4322 100644 --- a/docs/docs/documentation/pull-request-systems/github-actions/index.md +++ b/docs/docs/documentation/pull-request-systems/github-actions/index.md @@ -4,4 +4,11 @@ description: Support for GitHub Actions. --- Support for GitHub Actions is implemented in the -[Cake.Issues.PullRequests.GitHubActions addin](https://www.nuget.org/packages/Cake.Issues.PullRequests.GitHubActions). +[Cake.Issues.PullRequests.GitHubActions addin](https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) +- :material-test-tube: [Examples](examples/index.md) + +
    diff --git a/docs/docs/documentation/report-formats/console/examples.md b/docs/docs/documentation/report-formats/console/examples.md index bb3308371..9117c0942 100644 --- a/docs/docs/documentation/report-formats/console/examples.md +++ b/docs/docs/documentation/report-formats/console/examples.md @@ -1,6 +1,7 @@ --- title: Examples description: Examples for using the Cake.Issues.Reporting.Console addin. +icon: material/test-tube --- The following example will print issues logged as warnings by MsBuild to the console. diff --git a/docs/docs/documentation/report-formats/console/features.md b/docs/docs/documentation/report-formats/console/features.md index 45d0210ef..97262b99a 100644 --- a/docs/docs/documentation/report-formats/console/features.md +++ b/docs/docs/documentation/report-formats/console/features.md @@ -1,16 +1,17 @@ --- title: Features description: Features of the Cake.Issues.Reporting.Console addin. +icon: material/creation-outline --- -The [Cake.Issues.Reporting.Console addin] provides the following features: +The [Cake.Issues.Reporting.Console addin]{target="_blank"} provides the following features: -* Prints issues containing line and column information. -* Group issues by rule +- [x] Prints issues containing line and column information. +- [x] Group issues by rule Reports: -* Number of issues by provider -* Number of issues by priority for every provider and run +- [x] Number of issues by provider +- [x] Number of issues by priority for every provider and run -[Cake.Issues.Reporting.Console addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Console +[Cake.Issues.Reporting.Console addin]: https://cakebuild.net/extensions/cake-issues-reporting-console/ diff --git a/docs/docs/documentation/report-formats/console/index.md b/docs/docs/documentation/report-formats/console/index.md index 6faf24b3e..830fb42a6 100644 --- a/docs/docs/documentation/report-formats/console/index.md +++ b/docs/docs/documentation/report-formats/console/index.md @@ -4,4 +4,11 @@ description: Report format to print issues to the console. --- Support for printing issues to the console is implemented in the -a [Cake.Issues.Reporting.Console addin](https://www.nuget.org/packages/Cake.Issues.Reporting.Console). +a [Cake.Issues.Reporting.Console addin](https://cakebuild.net/extensions/cake-issues-reporting-console/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) +- :material-test-tube: [Examples](examples.md) + +
    diff --git a/docs/docs/documentation/report-formats/generic/examples/index.cshtml b/docs/docs/documentation/report-formats/generic/examples/index.cshtml deleted file mode 100644 index f820e1ac5..000000000 --- a/docs/docs/documentation/report-formats/generic/examples/index.cshtml +++ /dev/null @@ -1,7 +0,0 @@ ---- -Title: Examples -Description: Examples for using the Cake.Issues.Reporting.Generic addin. ---- -

    @Html.Raw(Model.String(DocsKeys.Description))

    - -@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/docs/documentation/report-formats/generic/examples/index.md b/docs/docs/documentation/report-formats/generic/examples/index.md new file mode 100644 index 000000000..6a4ca44e2 --- /dev/null +++ b/docs/docs/documentation/report-formats/generic/examples/index.md @@ -0,0 +1,12 @@ +--- +title: Examples +description: Examples for using the Cake.Issues.Reporting.Generic addin. +icon: material/test-tube +--- + +
    + +- [Embedded Default Template](default-template.md) +- [Custom Template](custom-template.md) + +
    diff --git a/docs/docs/documentation/report-formats/generic/features.md b/docs/docs/documentation/report-formats/generic/features.md index a5c6c1cf3..1c19f1359 100644 --- a/docs/docs/documentation/report-formats/generic/features.md +++ b/docs/docs/documentation/report-formats/generic/features.md @@ -1,14 +1,15 @@ --- title: Features description: Features of the Cake.Issues.Reporting.Generic addin. +icon: material/creation-outline --- The [Cake.Issues.Reporting.Generic addin](https://cakebuild.net/extensions/cake-issues-reporting-generic/){target="_blank"} provides the following features: -* Creates reports in any text based format like HTML or Markdown. -* Provides out of the box templates -* Possibility to use custom templates using Razor +- [x] Creates reports in any text based format like HTML or Markdown. +- [x] Provides out of the box templates +- [x] Possibility to use custom templates using Razor !!! info See [Template Gallery] for a list of available out of the box and 3rd party templates. diff --git a/docs/docs/documentation/report-formats/generic/index.md b/docs/docs/documentation/report-formats/generic/index.md index 0f41812d7..fb707e453 100644 --- a/docs/docs/documentation/report-formats/generic/index.md +++ b/docs/docs/documentation/report-formats/generic/index.md @@ -4,4 +4,12 @@ description: Report format to create reports in any text based format (HTML, Mar --- Support for creating reports in any text based format like HTML or Markdown is implemented in the -[Cake.Issues.Reporting.Generic addin](https://www.nuget.org/packages/Cake.Issues.Reporting.Generic). +[Cake.Issues.Reporting.Generic addin](https://cakebuild.net/extensions/cake-issues-reporting-generic/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) +- :material-test-tube: [Examples](examples/index.md) +- :material-image: [Template Gallery](templates/index.md) + +
    diff --git a/docs/docs/documentation/report-formats/generic/templates/index.md b/docs/docs/documentation/report-formats/generic/templates/index.md index aaf0bc414..0702aa255 100644 --- a/docs/docs/documentation/report-formats/generic/templates/index.md +++ b/docs/docs/documentation/report-formats/generic/templates/index.md @@ -1,4 +1,13 @@ --- title: Template Gallery description: Gallery of available out of the box and 3rd party templates. +icon: material/image --- + +
    + +- [HTML DevExtreme Data Grid](htmldxdatagrid.md) +- [HTML Data Table](htmldatatable.md) +- [HTML Diagnostic](htmldiagnostic.md) + +
    diff --git a/docs/docs/documentation/report-formats/sarif/examples.md b/docs/docs/documentation/report-formats/sarif/examples.md index bb39b1fef..d2b361d39 100644 --- a/docs/docs/documentation/report-formats/sarif/examples.md +++ b/docs/docs/documentation/report-formats/sarif/examples.md @@ -1,6 +1,7 @@ --- title: Examples description: Examples for using the Cake.Issues.Reporting.Sarif addin. +icon: material/test-tube --- The following example will create a SARIF report for issues logged as warnings by MsBuild. diff --git a/docs/docs/documentation/report-formats/sarif/features.md b/docs/docs/documentation/report-formats/sarif/features.md index 2e6759412..f765cf2fa 100644 --- a/docs/docs/documentation/report-formats/sarif/features.md +++ b/docs/docs/documentation/report-formats/sarif/features.md @@ -1,19 +1,20 @@ --- title: Features description: Features of the Cake.Issues.Reporting.Sarif addin. +icon: material/creation-outline --- -The [Cake.Issues.Reporting.Sarif addin] provides the following features: +The [Cake.Issues.Reporting.Sarif addin]{target="_blank"} provides the following features: -* Creates SARIF compatible files. +- [x] Creates SARIF compatible files. Supports the following properties in the SARIF report: -* RuleId -* Message -* Kind -* Level -* Location -* RuleUrl +- [x] RuleId +- [x] Message +- [x] Kind +- [x] Level +- [x] Location +- [x] RuleUrl -[Cake.Issues.Reporting.Sarif addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Sarif +[Cake.Issues.Reporting.Sarif addin]: https://cakebuild.net/extensions/cake-issues-reporting-sarif/ diff --git a/docs/docs/documentation/report-formats/sarif/index.md b/docs/docs/documentation/report-formats/sarif/index.md index 269ddee5b..0850632c3 100644 --- a/docs/docs/documentation/report-formats/sarif/index.md +++ b/docs/docs/documentation/report-formats/sarif/index.md @@ -4,4 +4,11 @@ description: Report format to create SARIF compatible reports. --- Support for creating SARIF compatible reports is implemented in the -[Cake.Issues.Reporting.Sarif addin](https://www.nuget.org/packages/Cake.Issues.Reporting.Sarif). +[Cake.Issues.Reporting.Sarif addin](https://cakebuild.net/extensions/cake-issues-reporting-sarif/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) +- :material-test-tube: [Examples](examples.md) + +
    diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index cccf33334..751a488c8 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -186,6 +186,7 @@ nav: - documentation/report-formats/generic/index.md - Features: documentation/report-formats/generic/features.md - Examples: + - documentation/report-formats/generic/examples/index.md - Embedded Default Template: documentation/report-formats/generic/examples/default-template.md - Custom Template: documentation/report-formats/generic/examples/custom-template.md - Template Gallery: @@ -219,6 +220,7 @@ nav: - documentation/pull-request-systems/github-actions/index.md - Features: documentation/pull-request-systems/github-actions/features.md - Examples: + - documentation/pull-request-systems/github-actions/examples/index.md - Create annotations in GitHub Actions: documentation/pull-request-systems/github-actions/examples/write-annotations.md - How To Develop: - Extending: From a3feb2546a796ae9289a16f15bbd54666e72cfa9 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sat, 28 Dec 2024 22:27:38 +0100 Subject: [PATCH 133/201] Fix doc page edit URL (#862) --- docs/mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 751a488c8..d0c39a1ba 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -7,6 +7,7 @@ site_description: Issue Management for the Cake Build System # Repository repo_name: cake-contrib/Cake.Issues repo_url: https://github.com/cake-contrib/Cake.Issues +edit_uri: edit/develop/docs/docs/ # Copyright copyright: Copyright © Cake Issues Contributors From e9948287f40247ac177f2728ae4a28385f8f3b35 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sun, 29 Dec 2024 21:47:49 +0100 Subject: [PATCH 134/201] Add open issues to navigation (#867) --- docs/mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index d0c39a1ba..b4c2b21d2 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -245,6 +245,7 @@ nav: - Testing: documentation/extending/testing.md - Contributing: - How To Contribute: documentation/contributing/how-to-contribute.md + - Open issues: https://github.com/cake-contrib/Cake.Issues/issues" target="_blank - Build Instructions: documentation/contributing/how-to-build.md - Release Instructions: documentation/contributing/how-to-release.md - Resources: From 702bf0809df3be2554230e198f22cdfb9ef5d92f Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Sun, 29 Dec 2024 22:13:02 +0100 Subject: [PATCH 135/201] Improve recipe documentation (#868) --- .../2020-08-22-cake-issues-v0.9.0-released.md | 2 +- ...1-08-31-cake-issues-markdownlint-v1.1.0.md | 2 +- docs/docs/documentation/features.md | 2 +- .../documentation/recipe/configuration.md | 160 +++++++++++++----- .../recipe/{overview.md => index.md} | 75 +++++--- .../documentation/recipe/supported-tools.md | 103 ++++++++--- docs/docs/documentation/recipe/tasks.md | 38 +++-- .../using-cake-frosting-issues-recipe.md | 2 +- .../usage/recipe/using-cake-issues-recipe.md | 2 +- docs/mkdocs.yml | 7 +- 10 files changed, 288 insertions(+), 105 deletions(-) rename docs/docs/documentation/recipe/{overview.md => index.md} (53%) diff --git a/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md b/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md index 5f6390b54..ba92a4b0c 100644 --- a/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md +++ b/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md @@ -140,7 +140,7 @@ across all runs. [Cake.Issues.Recipe], the Cake Recipe script which you can integrate into your build script for easy integration of full feature issue management, has been updated to version 0.4.0, bringing all the new features of Cake.Issues 0.9.0. -[Cake.Issues.Recipe]: ../../documentation/recipe/overview.md +[Cake.Issues.Recipe]: ../../documentation/recipe/index.md ## Updating from previous versions diff --git a/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md b/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md index a63d6b2dc..a80671717 100644 --- a/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md +++ b/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md @@ -41,4 +41,4 @@ To update to the new version bump the version of the addin. [MarkdownlintCliJsonLogFileFormat]: https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F [MarkdownlintCliLogFileFormat]: https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E -[Cake Issues recipes]: ../../documentation/recipe/overview.md \ No newline at end of file +[Cake Issues recipes]: ../../documentation/recipe/index.md \ No newline at end of file diff --git a/docs/docs/documentation/features.md b/docs/docs/documentation/features.md index 5b80fdedd..28e987588 100644 --- a/docs/docs/documentation/features.md +++ b/docs/docs/documentation/features.md @@ -17,7 +17,7 @@ description: Overview about core features. It handles all the parsing, integration with build and pull request systems for you, using the individual Cake Issues addins. - [:octicons-arrow-right-24: Recipes](recipe/overview.md) + [:octicons-arrow-right-24: Recipes](recipe/index.md) diff --git a/docs/docs/documentation/recipe/configuration.md b/docs/docs/documentation/recipe/configuration.md index c3b974746..b8acf4a73 100644 --- a/docs/docs/documentation/recipe/configuration.md +++ b/docs/docs/documentation/recipe/configuration.md @@ -24,62 +24,132 @@ By default [Cake.Git addin](https://cakebuild.net/extensions/cake-git/){target=" ## General -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|-------------------------------------------------------------------|---------------------------------------------------------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| -| `IssuesParameters.`
        `OutputDirectory` | `IssuesContext.Parameters.`
        `OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | -| `IssuesParameters.`
        `BuildIdentifier` | `IssuesContext.Parameters.`
        `BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. | +=== "Cake.Issues.Recipe" + + | IssuesParameters Property | Default Value | Description | + |---------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| + | `OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | + | `BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. | + +=== "Cake.Frosting.Issues.Recipe" + + | IssuesContext.Parameters Property | Default Value | Description | + |-----------------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| + | `OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. | + | `BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. | ## Input files -| Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Methods | Description | -|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------| -| `IssuesParameters.InputFiles.`
        `AddMsBuildXmlFileLoggerLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
        `AddMsBuildXmlFileLoggerLogFilePath()` | Adds a path to a MSBuild log file created by XmlFileLogger. | -| `IssuesParameters.InputFiles.`
        `AddMsBuildXmlFileLoggerLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
        `AddMsBuildXmlFileLoggerLogFileContent()` | Adds content of a MSBuild log file created by XmlFileLogger. | -| `IssuesParameters.InputFiles.`
        `AddMsBuildBinaryLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
        `AddMsBuildBinaryLogFilePath()` | Adds a path to a MSBuild binary log file. | -| `IssuesParameters.InputFiles.`
        `AddMsBuildBinaryLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
        `AddMsBuildBinaryLogFileContent()` | Adds content of a MSBuild binary log file. | -| `IssuesParameters.InputFiles.`
        `AddInspectCodeLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
        `AddInspectCodeLogFilePath()` | Adds a path to a JetBrains InspectCode log file. | -| `IssuesParameters.InputFiles.`
        `AddInspectCodeLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
        `AddInspectCodeLogFileContent()` | Adds content of a JetBrains InspectCode log file. | -| `IssuesParameters.InputFiles.`
        `AddMarkdownlintCliLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
        `AddMarkdownlintCliLogFilePath()` | Adds a path to a markdownlint-cli log file. | -| `IssuesParameters.InputFiles.`
        `AddMarkdownlintCliLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
        `AddMarkdownlintCliLogFileContent()` | Adds content of a markdownlint-cli log file. | -| `IssuesParameters.InputFiles.`
        `AddMarkdownlintCliJsonLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
        `AddMarkdownlintCliJsonLogFilePath()` | Adds a path to a markdownlint-cli log file writting with `--json`. | -| `IssuesParameters.InputFiles.`
        `AddMarkdownlintCliJsonLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
        `AddMarkdownlintCliJsonLogFileContent()` | Adds content of a markdownlint-cli log file writting with `--json`. | -| `IssuesParameters.InputFiles.`
        `AddMarkdownlintV1LogFilePath()` | `IssuesContext.Parameters.InputFiles.`
        `AddMarkdownlintV1LogFilePath()` | Adds a path to a markdownlint log file in version 1. | -| `IssuesParameters.InputFiles.`
        `AddMarkdownlintV1LogFileContent()` | `IssuesContext.Parameters.InputFiles.`
        `AddMarkdownlintV1LogFileContent()` | Adds content of a markdownlint log file in version 1. | -| `IssuesParameters.InputFiles.`
        `AddEsLintJsonLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
        `AddEsLintJsonLogFilePath()` | Adds a path to a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. | -| `IssuesParameters.InputFiles.`
        `AddEsLintJsonLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
        `AddEsLintJsonLogFileContent()` | Adds content of a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. | -| `IssuesParameters.InputFiles.`
        `AddSarifLogFilePath()` | `IssuesContext.Parameters.InputFiles.`
        `AddSarifLogFilePath()` | Adds a path to a SARIF log file. | -| `IssuesParameters.InputFiles.`
        `AddSarifLogFileContent()` | `IssuesContext.Parameters.InputFiles.`
        `AddSarifLogFileContent()` | Adds content of a SARIF log file. | +=== "Cake.Issues.Recipe" + + | IssuesParameters.InputFiles Methods | Description | + |-------------------------------------------|-----------------------------------------------------------------------------| + | `AddMsBuildXmlFileLoggerLogFilePath()` | Adds a path to a MSBuild log file created by XmlFileLogger. | + | `AddMsBuildXmlFileLoggerLogFileContent()` | Adds content of a MSBuild log file created by XmlFileLogger. | + | `AddMsBuildBinaryLogFilePath()` | Adds a path to a MSBuild binary log file. | + | `AddMsBuildBinaryLogFileContent()` | Adds content of a MSBuild binary log file. | + | `AddInspectCodeLogFilePath()` | Adds a path to a JetBrains InspectCode log file. | + | `AddInspectCodeLogFileContent()` | Adds content of a JetBrains InspectCode log file. | + | `AddMarkdownlintCliLogFilePath()` | Adds a path to a markdownlint-cli log file. | + | `AddMarkdownlintCliLogFileContent()` | Adds content of a markdownlint-cli log file. | + | `AddMarkdownlintCliJsonLogFilePath()` | Adds a path to a markdownlint-cli log file writting with `--json`. | + | `AddMarkdownlintCliJsonLogFileContent()` | Adds content of a markdownlint-cli log file writting with `--json`. | + | `AddMarkdownlintV1LogFilePath()` | Adds a path to a markdownlint log file in version 1. | + | `AddMarkdownlintV1LogFileContent()` | Adds content of a markdownlint log file in version 1. | + | `AddEsLintJsonLogFilePath()` | Adds a path to a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. | + | `AddEsLintJsonLogFileContent()` | Adds content of a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. | + | `AddSarifLogFilePath()` | Adds a path to a SARIF log file. | + | `AddSarifLogFileContent()` | Adds content of a SARIF log file. | + +=== "Cake.Frosting.Issues.Recipe" + + | IssuesContext.Parameters.InputFiles Methods | Description | + |---------------------------------------------|-----------------------------------------------------------------------------| + | `AddMsBuildXmlFileLoggerLogFilePath()` | Adds a path to a MSBuild log file created by XmlFileLogger. | + | `AddMsBuildXmlFileLoggerLogFileContent()` | Adds content of a MSBuild log file created by XmlFileLogger. | + | `AddMsBuildBinaryLogFilePath()` | Adds a path to a MSBuild binary log file. | + | `AddMsBuildBinaryLogFileContent()` | Adds content of a MSBuild binary log file. | + | `AddInspectCodeLogFilePath()` | Adds a path to a JetBrains InspectCode log file. | + | `AddInspectCodeLogFileContent()` | Adds content of a JetBrains InspectCode log file. | + | `AddMarkdownlintCliLogFilePath()` | Adds a path to a markdownlint-cli log file. | + | `AddMarkdownlintCliLogFileContent()` | Adds content of a markdownlint-cli log file. | + | `AddMarkdownlintCliJsonLogFilePath()` | Adds a path to a markdownlint-cli log file writting with `--json`. | + | `AddMarkdownlintCliJsonLogFileContent()` | Adds content of a markdownlint-cli log file writting with `--json`. | + | `AddMarkdownlintV1LogFilePath()` | Adds a path to a markdownlint log file in version 1. | + | `AddMarkdownlintV1LogFileContent()` | Adds content of a markdownlint log file in version 1. | + | `AddEsLintJsonLogFilePath()` | Adds a path to a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. | + | `AddEsLintJsonLogFileContent()` | Adds content of a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. | + | `AddSarifLogFilePath()` | Adds a path to a SARIF log file. | + | `AddSarifLogFileContent()` | Adds content of a SARIF log file. | ## Report creation -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| -| `IssuesParameters.Reporting.`
        `ShouldCreateFullIssuesReport` | `IssuesContext.Parameters.Reporting.`
        `ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | -| `IssuesParameters.Reporting.`
        `FullIssuesReportSettings` | `IssuesContext.Parameters.Reporting.`
        `FullIssuesReportSettings` | `GenericIssueReportTemplate.HtmlDxDataGrid` template with `DevExtremeTheme.MaterialBlueLight` theme. | Settings for creating the full issues report. See [Template Gallery] for possible options. | -| `IssuesParameters.Reporting.`
        `ShouldCreateSarifReport` | `IssuesContext.Parameters.Reporting.`
        `ShouldCreateSarifReport` | `true` | Indicates whether a report in SARIF format should be created. | -| `IssuesParameters.Reporting.`
        `ShouldReportIssuesToConsole` | `IssuesContext.Parameters.Reporting.`
        `ShouldReportIssuesToConsole` | `false` | Indicates whether issues should be reported to the console. | -| `IssuesParameters.Reporting.`
        `ReportToConsoleSettings` | `IssuesContext.Parameters.Reporting.`
        `ReportToConsoleSettings` | | Settings for reporting issues to the console. | +=== "Cake.Issues.Recipe" + + | IssuesParameters.Reporting Property | Default Value | Description | + |-------------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| + | `ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | + | `FullIssuesReportSettings` | `GenericIssueReportTemplate.HtmlDxDataGrid` template with `DevExtremeTheme.MaterialBlueLight` theme. | Settings for creating the full issues report. See [Template Gallery] for possible options. | + | `ShouldCreateSarifReport` | `true` | Indicates whether a report in SARIF format should be created. | + | `ShouldReportIssuesToConsole` | `false` | Indicates whether issues should be reported to the console. | + | `ReportToConsoleSettings` | | Settings for reporting issues to the console. | + +=== "Cake.Frosting.Issues.Recipe" + + | IssuesContext.Parameters.Reporting Property | Default Value | Description | + |---------------------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| + | `ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. | + | `FullIssuesReportSettings` | `GenericIssueReportTemplate.HtmlDxDataGrid` template with `DevExtremeTheme.MaterialBlueLight` theme. | Settings for creating the full issues report. See [Template Gallery] for possible options. | + | `ShouldCreateSarifReport` | `true` | Indicates whether a report in SARIF format should be created. | + | `ShouldReportIssuesToConsole` | `false` | Indicates whether issues should be reported to the console. | + | `ReportToConsoleSettings` | | Settings for reporting issues to the console. | [Template Gallery]: ../report-formats/generic/templates/index.md ## Build server integration -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------| -| `IssuesParameters.BuildServer.`
        `ShouldReportIssuesToBuildServer` | `IssuesContext.Parameters.BuildServer.`
        `ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | -| `IssuesParameters.BuildServer.`
        `ShouldPublishFullIssuesReport` | `IssuesContext.Parameters.BuildServer.`
        `ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | -| `IssuesParameters.BuildServer.`
        `ShouldPublishSarifReport` | `IssuesContext.Parameters.BuildServer.`
        `ShouldPublishSarifReport` | `true` | Indicates whether report int SARIF format shoudl be published as artifact to the build system. | -| `IssuesParameters.BuildServer.`
        `ShouldCreateSummaryIssuesReport` | `IssuesContext.Parameters.BuildServer.`
        `ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | +=== "Cake.Issues.Recipe" + + | IssuesParameters.BuildServer Property | Default Value | Description | + |---------------------------------------|---------------|------------------------------------------------------------------------------------------------| + | `ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | + | `ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | + | `ShouldPublishSarifReport` | `true` | Indicates whether report int SARIF format shoudl be published as artifact to the build system. | + | `ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | + +=== "Cake.Frosting.Issues.Recipe" + + | IssuesContext.Parameters.BuildServer Property | Default Value | Description | + |-----------------------------------------------|---------------|------------------------------------------------------------------------------------------------| + | `ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. | + | `ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. | + | `ShouldPublishSarifReport` | `true` | Indicates whether report int SARIF format shoudl be published as artifact to the build system. | + | `ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. | ## Pull request integration -| Cake.Issues.Recipe Property | Cake.Frosting.Issues.Recipe Property | Default Value | Description | -|----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `IssuesParameters.PullRequestSystem.`
        `ShouldReportIssuesToPullRequest` | `IssuesContext.Parameters.PullRequestSystem.`
        `ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | -| `IssuesParameters.PullRequestSystem.`
        `MaxIssuesToPost` | `IssuesContext.Parameters.PullRequestSystem.`
        `MaxIssuesToPost` | `null` | Global number of issues which should be posted at maximum over all issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a global limit. | -| `IssuesParameters.PullRequestSystem.`
        `MaxIssuesToPostAcrossRuns` | `IssuesContext.Parameters.PullRequestSystem.`
        `MaxIssuesToPostAcrossRuns` | `null` | Global number of issues which should be posted at maximum over all issue providers and across multiple runs. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a limit across multiple runs. | -| `IssuesParameters.PullRequestSystem.`
        `MaxIssuesToPostForEachIssueProvider` | `IssuesContext.Parameters.PullRequestSystem.`
        `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. | -| `IssuesParameters.PullRequestSystem.`
        `ProviderIssueLimits` | `IssuesContext.Parameters.PullRequestSystem.`
        `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. | -| `IssuesParameters.PullRequestSystem.`
        `IssueFilters` | `IssuesContext.Parameters.PullRequestSystem.`
        `IssueFilters` | Empty | List of filter functions which should be applied before posting issues to pull requests. | -| `IssuesParameters.PullRequestSystem.`
        `ShouldSetPullRequestStatus` | `IssuesContext.Parameters.PullRequestSystem.`
        `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set if there are any issues found. | -| `IssuesParameters.PullRequestSystem.`
        `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `IssuesContext.Parameters.PullRequestSystem.`
        `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `true` | Indicates whether a separate status should be set for issues of every issue provider and run. | +=== "Cake.Issues.Recipe" + + | IssuesParameters.PullRequestSystem Property | Default Value | Description | + |----------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + | `ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | + | `MaxIssuesToPost` | `null` | Global number of issues which should be posted at maximum over all issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a global limit. | + | `MaxIssuesToPostAcrossRuns` | `null` | Global number of issues which should be posted at maximum over all issue providers and across multiple runs. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a limit across multiple runs. | + | `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. | + | `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. | + | `IssueFilters` | Empty | List of filter functions which should be applied before posting issues to pull requests. | + | `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set if there are any issues found. | + | `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `true` | Indicates whether a separate status should be set for issues of every issue provider and run. | + +=== "Cake.Frosting.Issues.Recipe" + + | IssuesContext.Parameters.PullRequestSystem Property | Default Value | Description | + |----------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + | `ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. | + | `MaxIssuesToPost` | `null` | Global number of issues which should be posted at maximum over all issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a global limit. | + | `MaxIssuesToPostAcrossRuns` | `null` | Global number of issues which should be posted at maximum over all issue providers and across multiple runs. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a limit across multiple runs. | + | `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. | + | `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. | + | `IssueFilters` | Empty | List of filter functions which should be applied before posting issues to pull requests. | + | `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set if there are any issues found. | + | `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `true` | Indicates whether a separate status should be set for issues of every issue provider and run. | diff --git a/docs/docs/documentation/recipe/overview.md b/docs/docs/documentation/recipe/index.md similarity index 53% rename from docs/docs/documentation/recipe/overview.md rename to docs/docs/documentation/recipe/index.md index e6fcd8e92..8744007ea 100644 --- a/docs/docs/documentation/recipe/overview.md +++ b/docs/docs/documentation/recipe/index.md @@ -11,8 +11,21 @@ They support different linters based on the linting log files you pass it and in There are two flavors available: -* [Cake.Issues.Recipe]: For [Cake .NET Tool], [Cake runner for .NET Framework] or [Cake runner for .NET Core] -* [Cake.Frosting.Issues.Recipe]: For [Cake Frosting] +
    + +- :material-receipt-text: [Cake.Issues.Recipe] + + --- + + For [Cake .NET Tool]{target="_blank"} + +- :material-receipt-text: [Cake.Frosting.Issues.Recipe] + + --- + + For [Cake Frosting]{target="_blank"} + +
    ## Supported tools @@ -22,29 +35,49 @@ 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] 5.0.1 | [Cake.Frosting.Git] 5.0.1 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | -| [Cake.Issues] 5.0.1 | [Cake.Issues] 5.0.1 | | -| [Cake.Issues.MsBuild] 5.0.1 | [Cake.Frosting.Issues.MsBuild] 5.0.1 | | -| [Cake.Issues.InspectCode] 5.0.1 | [Cake.Frosting.Issues.InspectCode] 5.0.1 | | -| [Cake.Issues.Markdownlint] 5.0.1 | [Cake.Frosting.Issues.Markdownlint] 5.0.1 | | -| [Cake.Issues.EsLint] 5.0.1 | [Cake.Frosting.Issues.EsLint] 5.0.1 | | -| [Cake.Issues.Sarif] 5.0.1 | [Cake.Frosting.Issues.Sarif] 5.0.1 | | -| [Cake.Issues.Reporting] 5.0.1 | [Cake.Frosting.Issues.Reporting] 5.0.1 | | -| [Cake.Issues.Reporting.Generic] 5.0.1 | [Cake.Frosting.Issues.Reporting.Generic] 5.0.1 | | -| [Cake.Issues.Reporting.Sarif] 5.0.1 | [Cake.Frosting.Issues.Reporting.Sarif] 5.0.1 | | -| [Cake.Issues.PullRequests] 5.0.1 | [Cake.Frosting.Issues.PullRequests] 5.0.1 | | -| [Cake.Issues.PullRequests.AppVeyor] 5.0.1 | [Cake.Frosting.Issues.PullRequests.AppVeyor] 5.0.1 | | -| [Cake.Issues.PullRequests.AzureDevOps] 5.0.1 | [Cake.Frosting.Issues.PullRequests.AzureDevOps] 5.0.1 | | -| [Cake.Issues.PullRequests.GitHubActions] 5.0.1 | [Cake.Frosting.Issues.PullRequests.GitHubActions] 5.0.1 | | -| [Cake.AzureDevOps] 5.0.0 | [Cake.AzureDevOps] 5.0.0 | | +=== "Cake.Issues.Recipe" + + | Addin | Version | Remarks | + |-----------------------------------------------------------|---------|-| + | [Cake.Git]{target="_blank"} | 5.0.1 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | + | [Cake.Issues]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.MsBuild]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.InspectCode]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.Markdownlint]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.EsLint]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.Sarif]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.Reporting]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.Reporting.Generic]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.Reporting.Sarif]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.PullRequests]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.PullRequests.AppVeyor]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.PullRequests.AzureDevOps]{target="_blank"} | 5.0.1 | | + | [Cake.Issues.PullRequests.GitHubActions]{target="_blank"} | 5.0.1 | | + | [Cake.AzureDevOps]{target="_blank"} | 5.0.0 | | + +=== "Cake.Frosting.Issues.Recipe" + + | Addin | Version | Remarks | + |--------------------------------------------------------------------------|---------|-| + | [Cake.Frosting.Git]{target="_blank"} | 5.0.1 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | + | [Cake.Issues]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.MsBuild]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.InspectCode]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.Markdownlint]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.EsLint]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.Sarif]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.Reporting]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.Reporting.Generic]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.Reporting.Sarif]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.PullRequests]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.PullRequests.AppVeyor]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.PullRequests.AzureDevOps]{target="_blank"} | 5.0.1 | | + | [Cake.Frosting.Issues.PullRequests.GitHubActions]{target="_blank"} | 5.0.1 | | + | [Cake.AzureDevOps]{target="_blank"} | 5.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool -[Cake runner for .NET Framework]: https://cakebuild.net/docs/running-builds/runners/cake-runner-for-dotnet-framework -[Cake runner for .NET Core]: https://cakebuild.net/docs/running-builds/runners/cake-runner-for-dotnet-core [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [supported tools]: supported-tools.md [Git repository information configuration]: configuration.md#git-repository-information diff --git a/docs/docs/documentation/recipe/supported-tools.md b/docs/docs/documentation/recipe/supported-tools.md index 0b8a30fa7..70812c86f 100644 --- a/docs/docs/documentation/recipe/supported-tools.md +++ b/docs/docs/documentation/recipe/supported-tools.md @@ -9,18 +9,38 @@ Cake.Issues recipes support reading issues from different tools and integrates w Cake.Issues recipes support reading issues from output of the following tools: -| Tool | Format | Cake.Issues.Recipe Methods | Cake.Frosting.Issues.Recipe Method | -|-----------------------------------|----------------------------------------|------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------| -| MsBuild | [MSBuild Extension Pack XmlFileLogger] | `IssuesParameters.InputFiles.`
        `AddMsBuildXmlFileLoggerLogFile*()` | `IssuesContext.Parameters.InputFiles.`
        `AddMsBuildXmlFileLoggerLogFile*()` | -| MsBuild | Binary Log File | `IssuesParameters.InputFiles.`
        `AddMsBuildBinaryLogFile*()` | `IssuesContext.Parameters.InputFiles.`
        `AddMsBuildBinaryLogFile*()` | -| JetBrains InspectCode (ReSharper) | | `IssuesParameters.InputFiles.`
        `AddInspectCodeLogFile*()` | `IssuesContext.Parameters.InputFiles.`
        `AddInspectCodeLogFile*()` | -| markdownlint | [markdownlint-cli] | `IssuesParameters.InputFiles.`
        `AddMarkdownlintCliLogFile*()` | `IssuesContext.Parameters.InputFiles.`
        `AddMarkdownlintCliLogFile*()` | -| markdownlint | [markdownlint-cli] with `--json` | `IssuesParameters.InputFiles.`
        `AddMarkdownlintCliJsonLogFile*()` | `IssuesContext.Parameters.InputFiles.`
        `AddMarkdownlintCliJsonLogFile*()` | -| markdownlint | [markdownlint] version 1 | `IssuesParameters.InputFiles.`
        `AddMarkdownlintV1LogFile*()` | `IssuesContext.Parameters.InputFiles.`
        `AddMarkdownlintV1LogFile*()` | -| [ESLint] | [json formatter] | `IssuesParameters.InputFiles.`
        `AddEsLintJsonLogFile*()` | `IssuesContext.Parameters.InputFiles.`
        `AddEsLintJsonLogFile*()` | -| Any SARIF compatible tool | [SARIF] | `IssuesParameters.InputFiles.`
        `AddSarifLogFile*()` | `IssuesContext.Parameters.InputFiles.`
        `AddSarifLogFile*()` | - -[MSBuild Extension Pack XmlFileLogger]: http://www.msbuildextensionpack.com/help/4.0.5.0/html/242ab4fd-c2e2-f6aa-325b-7588725aed24.htm +=== "Cake.Issues.Recipe" + + | Tool | Format | IssuesParameters.InputFiles Method | + |-----------------------------------|---------------------------------------------------------|-------------------------------------| + | MsBuild | [MSBuild Extension Pack XmlFileLogger]{target="_blank"} | `AddMsBuildXmlFileLoggerLogFile*()` | + | MsBuild | Binary Log File | `AddMsBuildBinaryLogFile*()` | + | JetBrains InspectCode (ReSharper) | [xml]{target="_blank"} | `AddInspectCodeLogFile*()` | + | markdownlint | [markdownlint-cli]{target="_blank"} default format | `AddMarkdownlintCliLogFile*()` | + | markdownlint | [markdownlint-cli]{target="_blank"} with `--json` | `AddMarkdownlintCliJsonLogFile*()` | + | markdownlint | [markdownlint]{target="_blank"} version 1 | `AddMarkdownlintV1LogFile*()` | + | [ESLint] | [json formatter]{target="_blank"} | `AddEsLintJsonLogFile*()` | + | Any SARIF compatible tool | [SARIF]{target="_blank"} | `AddSarifLogFile*()` | + +=== "Cake.Frosting.Issues.Recipe" + + | Tool | Format | IssuesContext.Parameters.InputFiles Method | + |-----------------------------------|---------------------------------------------------------|--------------------------------------------| + | MsBuild | [MSBuild Extension Pack XmlFileLogger]{target="_blank"} | `AddMsBuildXmlFileLoggerLogFile*()` | + | MsBuild | Binary Log File | `AddMsBuildBinaryLogFile*()` | + | JetBrains InspectCode (ReSharper) | [xml]{target="_blank"} | `AddInspectCodeLogFile*()` | + | markdownlint | [markdownlint-cli]{target="_blank"} default format | `AddMarkdownlintCliLogFile*()` | + | markdownlint | [markdownlint-cli]{target="_blank"} with `--json` | `AddMarkdownlintCliJsonLogFile*()` | + | markdownlint | [markdownlint]{target="_blank"} version 1 | `AddMarkdownlintV1LogFile*()` | + | [ESLint] | [json formatter]{target="_blank"} | `AddEsLintJsonLogFile*()` | + | Any SARIF compatible tool | [SARIF]{target="_blank"} | `AddSarifLogFile*()` | + +!!! tip + + See [Supported tools](../supported-tools.md) for a list of tools supporting the SARIF format. + +[MSBuild Extension Pack XmlFileLogger]: https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs +[xml]: https://www.jetbrains.com/help/resharper/InspectCode.html#alternative-output-formats [markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli [markdownlint]: https://github.com/DavidAnson/markdownlint [ESLint]: https://eslint.org/ @@ -31,17 +51,58 @@ Cake.Issues recipes support reading issues from output of the following tools: Cake.Issues recipes integrates with the following build systems: -| Build System | Write issues to build server | Issues summary | Full issues report | -|--------------------------------|----------------------------------|--------------------|--------------------| -| AppVeyor | :material-check: | | :material-check: | -| Azure Pipelines (Azure DevOps) | :material-check: (Only first 10) | :material-check: | :material-check: | -| GitHub Actions | :material-check: | | | +=== "AppVeyor" + +
    + + - [x] Write issues to build server + - [ ] Issues summary + - [x] Full issues report + +
    + +=== "Azure Pipelines" + +
    + + - [x] Write issues to build server (1) + - [x] Issues summary + - [x] Full issues report + +
    + + 1. Only first 10 + +=== "GitHub Actions" + +
    + + - [x] Write issues to build server + - [ ] Issues summary + - [ ] Full issues report + +
    ## Pull request systems Cake.Issues recipes integrates with the following pull request systems: -| Pull Request System | Write issues to pull requests | Set pull request status | -|----------------------------|---------------------------------------------------|-------------------------| -| Azure Repos (Azure DevOps) | :material-check: | :material-check: | -| GitHub | :material-check: (When build from GitHub Actions) | | +=== "Azure Repos" + +
    + + - [x] Write issues to pull requests + - [x] Set pull request status + +
    + +=== "GitHub" + +
    + + - [x] Write issues to pull requests (1) + - [ ] Set pull request status + +
    + + 1. When build from GitHub Actions diff --git a/docs/docs/documentation/recipe/tasks.md b/docs/docs/documentation/recipe/tasks.md index 040353b1a..cfe856651 100644 --- a/docs/docs/documentation/recipe/tasks.md +++ b/docs/docs/documentation/recipe/tasks.md @@ -5,14 +5,30 @@ description: Tasks provided by Cake.Issues recipes. Cake.Issues recipes provide the following tasks to your build script: -| Task | Description | Cake.Issues.Recipe task instance | Cake.Frosting.Issues.Recipe task type | -|------------------------------|----------------------------------------------|---------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| -| `Issues` | Main tasks for issue management integration. | `IssuesBuildTasks.`
        `IssuesTask` | `Cake.Frosting.Issues.Recipe.`
        `IssuesTask` | -| `Read-Issues` | Reads issues from the provided log files. | `IssuesBuildTasks.`
        `ReadIssuesTask` | `Cake.Frosting.Issues.Recipe.`
        `ReadIssuesTask` | -| `Create-FullIssuesReport` | Creates issue report. | `IssuesBuildTasks.`
        `CreateFullIssuesReportTask` | `Cake.Frosting.Issues.Recipe.`
        `CreateFullIssuesReportTask` | -| `Publish-IssuesArtifacts` | Publish artifacts to build server. | `IssuesBuildTasks.`
        `PublishIssuesArtifactsTask` | `Cake.Frosting.Issues.Recipe.`
        `PublishIssuesArtifactsTask` | -| `Report-IssuesToBuildServer` | Report issues to build server. | `IssuesBuildTasks.`
        `ReportIssuesToBuildServerTask` | `Cake.Frosting.Issues.Recipe.`
        `ReportIssuesToBuildServerTask` | -| `Create-SummaryIssuesReport` | Creates a summary issue report. | `IssuesBuildTasks.`
        `CreateSummaryIssuesReportTask` | `Cake.Frosting.Issues.Recipe.`
        `CreateSummaryIssuesReportTask` | -| `Report-IssuesToPullRequest` | Report issues to pull request. | `IssuesBuildTasks.`
        `ReportIssuesToPullRequestTask` | `Cake.Frosting.Issues.Recipe.`
        `ReportIssuesToPullRequestTask` | -| `Set-PullRequestIssuesState` | Set pull request status. | `IssuesBuildTasks.`
        `SetPullRequestIssuesStateTask` | `Cake.Frosting.Issues.Recipe.`
        `SetPullRequestIssuesStateTask` | -| `Report-IssuesToConsole` | Report issues to console. | `IssuesBuildTasks.`
        `ReportIssuesToConsoleTask` | `Cake.Frosting.Issues.Recipe.`
        `ReportIssuesToConsoleTask` | \ No newline at end of file +=== "Cake.Issues.Recipe" + + | Task | Description | IssuesBuildTasks property | + |------------------------------|----------------------------------------------|---------------------------------| + | `Issues` | Main tasks for issue management integration. | `IssuesTask` | + | `Read-Issues` | Reads issues from the provided log files. | `ReadIssuesTask` | + | `Create-FullIssuesReport` | Creates issue report. | `CreateFullIssuesReportTask` | + | `Publish-IssuesArtifacts` | Publish artifacts to build server. | `PublishIssuesArtifactsTask` | + | `Report-IssuesToBuildServer` | Report issues to build server. | `ReportIssuesToBuildServerTask` | + | `Create-SummaryIssuesReport` | Creates a summary issue report. | `CreateSummaryIssuesReportTask` | + | `Report-IssuesToPullRequest` | Report issues to pull request. | `ReportIssuesToPullRequestTask` | + | `Set-PullRequestIssuesState` | Set pull request status. | `SetPullRequestIssuesStateTask` | + | `Report-IssuesToConsole` | Report issues to console. | `ReportIssuesToConsoleTask` | + +=== "Cake.Frosting.Issues.Recipe" + + | Task | Description | Task type | + |------------------------------|----------------------------------------------|--------------------------------------------------------------------------------------------| + | `Issues` | Main tasks for issue management integration. | `Cake.Frosting.Issues.Recipe.`
        `IssuesTask` | + | `Read-Issues` | Reads issues from the provided log files. | `Cake.Frosting.Issues.Recipe.`
        `ReadIssuesTask` | + | `Create-FullIssuesReport` | Creates issue report. | `Cake.Frosting.Issues.Recipe.`
        `CreateFullIssuesReportTask` | + | `Publish-IssuesArtifacts` | Publish artifacts to build server. | `Cake.Frosting.Issues.Recipe.`
        `PublishIssuesArtifactsTask` | + | `Report-IssuesToBuildServer` | Report issues to build server. | `Cake.Frosting.Issues.Recipe.`
        `ReportIssuesToBuildServerTask` | + | `Create-SummaryIssuesReport` | Creates a summary issue report. | `Cake.Frosting.Issues.Recipe.`
        `CreateSummaryIssuesReportTask` | + | `Report-IssuesToPullRequest` | Report issues to pull request. | `Cake.Frosting.Issues.Recipe.`
        `ReportIssuesToPullRequestTask` | + | `Set-PullRequestIssuesState` | Set pull request status. | `Cake.Frosting.Issues.Recipe.`
        `SetPullRequestIssuesStateTask` | + | `Report-IssuesToConsole` | Report issues to console. | `Cake.Frosting.Issues.Recipe.`
        `ReportIssuesToConsoleTask` | diff --git a/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md b/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md index bf6d49087..fee1cbc82 100644 --- a/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md +++ b/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md @@ -123,6 +123,6 @@ public class DefaultTask : FrostingTask } ``` -[Cake.Frosting.Issues.Recipe]: ../../recipe/overview.md +[Cake.Frosting.Issues.Recipe]: ../../recipe/index.md [configuration]: ../../recipe/configuration.md [tasks]: ../../recipe/tasks.md \ No newline at end of file diff --git a/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md b/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md index ce8a86347..603f6306e 100644 --- a/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md +++ b/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md @@ -61,6 +61,6 @@ Task("Default") .IsDependentOn("Issues"); ``` -[Cake.Issues.Recipe]: ../../recipe/overview.md +[Cake.Issues.Recipe]: ../../recipe/index.md [configuration]: ../../recipe/configuration.md [tasks]: ../../recipe/tasks.md \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index b4c2b21d2..559d5f668 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -53,6 +53,7 @@ theme: - content.action.edit - content.code.annotate - content.code.copy + - content.tabs.link - content.tooltips - navigation.indexes - navigation.instant @@ -90,6 +91,8 @@ markdown_extensions: auto_append: - snippets/abbreviations.md - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true - pymdownx.tasklist: custom_checkbox: true - pymdownx.tilde @@ -137,11 +140,11 @@ nav: - Breaking Builds: documentation/usage/breaking-builds/breaking-builds.md - Supported Tools: documentation/supported-tools.md - Recipe: - - Overview: documentation/recipe/overview.md + - documentation/recipe/index.md - Supported Tools: documentation/recipe/supported-tools.md - - Demos: documentation/recipe/demos.md - Configuration: documentation/recipe/configuration.md - Tasks: documentation/recipe/tasks.md + - Demos: documentation/recipe/demos.md - Issue Providers: - documentation/issue-providers/index.md - DocFx: From b04c365b640bd13a6d3e76891f8447fc675c3132 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 29 Dec 2024 23:20:40 +0100 Subject: [PATCH 136/201] Update dependency HtmlAgilityPack to 1.11.72 (#866) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .../packages.lock.json | 12 ++++++------ src/Directory.Packages.props | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Cake.Issues.Reporting.Generic.Tests/packages.lock.json b/src/Cake.Issues.Reporting.Generic.Tests/packages.lock.json index 5d984c9f7..e49affbf0 100644 --- a/src/Cake.Issues.Reporting.Generic.Tests/packages.lock.json +++ b/src/Cake.Issues.Reporting.Generic.Tests/packages.lock.json @@ -10,9 +10,9 @@ }, "HtmlAgilityPack": { "type": "Direct", - "requested": "[1.11.71, )", - "resolved": "1.11.71", - "contentHash": "HlEThQBnob4/29DIiyrPSYlGXXSZUtOH7571PRev+yu8FW8n5pdxqHyun+PMm17cp3ovCrxFhXedC+1HUSdRMA==" + "requested": "[1.11.72, )", + "resolved": "1.11.72", + "contentHash": "RNLgXxTFdIGFI+o5l8c2aJ2L5StIRn9Uv8HKR76p7QP4ZUL26wzpWUCWh08xWUdkL2kocl+Xhv6VUu0rA1npVg==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -385,9 +385,9 @@ }, "HtmlAgilityPack": { "type": "Direct", - "requested": "[1.11.71, )", - "resolved": "1.11.71", - "contentHash": "HlEThQBnob4/29DIiyrPSYlGXXSZUtOH7571PRev+yu8FW8n5pdxqHyun+PMm17cp3ovCrxFhXedC+1HUSdRMA==" + "requested": "[1.11.72, )", + "resolved": "1.11.72", + "contentHash": "RNLgXxTFdIGFI+o5l8c2aJ2L5StIRn9Uv8HKR76p7QP4ZUL26wzpWUCWh08xWUdkL2kocl+Xhv6VUu0rA1npVg==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index ae1a14587..333f47294 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -10,7 +10,7 @@ - + From 62c9efcbd0a718a62199e6f47cdc348a73612020 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 00:21:19 +0100 Subject: [PATCH 137/201] Set Cake.Issues version in documentation using macro (#870) --- .../issue-providers/docfx/examples.md | 6 +- .../issue-providers/gitrepository/examples.md | 6 +- .../issue-providers/inspectcode/examples.md | 6 +- .../issue-providers/markdownlint/examples.md | 6 +- .../issue-providers/msbuild/examples.md | 6 +- .../github-pullrequest-integration.md | 1 + .../appveyor/examples/write-messages.md | 10 ++- .../azure-devops/examples/azure-pipelines.md | 10 +-- .../azure-devops/examples/pullrequest-id.md | 14 ++-- .../examples/repository-information.md | 14 ++-- .../examples/write-annotations.md | 10 ++- docs/docs/documentation/recipe/index.md | 68 +++++++++---------- .../report-formats/console/examples.md | 8 +-- .../generic/examples/custom-template.md | 8 +-- .../generic/examples/default-template.md | 8 +-- .../report-formats/sarif/examples.md | 8 +-- .../usage/breaking-builds/breaking-builds.md | 4 +- .../usage/creating-issues/creating-issues.md | 4 +- .../creating-reports/creating-reports.md | 12 ++-- .../usage/reading-issues/reading-issues.md | 10 +-- .../using-cake-frosting-issues-recipe.md | 5 +- .../usage/recipe/using-cake-issues-recipe.md | 7 +- .../custom-issue-filter.md | 10 ++- .../report-issues-to-pull-requests.md | 12 ++-- docs/mkdocs.yml | 2 + docs/requirements.txt | 1 + docs/snippets/pinning.md | 6 +- 27 files changed, 115 insertions(+), 147 deletions(-) diff --git a/docs/docs/documentation/issue-providers/docfx/examples.md b/docs/docs/documentation/issue-providers/docfx/examples.md index de0ce56c2..ebd09e40c 100644 --- a/docs/docs/documentation/issue-providers/docfx/examples.md +++ b/docs/docs/documentation/issue-providers/docfx/examples.md @@ -19,12 +19,10 @@ use the [Cake.DocFx](https://cakebuild.net/extensions/cake-docfx/){target="_blan To read issues from DocFx log files you need to import the core addin and the DocFx support: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.DocFx" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.DocFx&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - We need some global variables: ```csharp diff --git a/docs/docs/documentation/issue-providers/gitrepository/examples.md b/docs/docs/documentation/issue-providers/gitrepository/examples.md index 08e622528..4c94eae7e 100644 --- a/docs/docs/documentation/issue-providers/gitrepository/examples.md +++ b/docs/docs/documentation/issue-providers/gitrepository/examples.md @@ -14,12 +14,10 @@ The following example prints the number of binary files which are not tracked by To analyze Git repositories you need to import the core addin and the Git repository support: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.GitRepository" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.GitRepository&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - We need some global variables: ```csharp diff --git a/docs/docs/documentation/issue-providers/inspectcode/examples.md b/docs/docs/documentation/issue-providers/inspectcode/examples.md index 833248a77..c14d1498d 100644 --- a/docs/docs/documentation/issue-providers/inspectcode/examples.md +++ b/docs/docs/documentation/issue-providers/inspectcode/examples.md @@ -17,12 +17,10 @@ To call [JetBrains InspectCode] from a Cake script you need to add the `JetBrain To read issues from InspectCode log files you need to import the core addin and the InspectCode support: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.InspectCode" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - We need some global variables: ```csharp diff --git a/docs/docs/documentation/issue-providers/markdownlint/examples.md b/docs/docs/documentation/issue-providers/markdownlint/examples.md index 1389ebbce..718f84e5f 100644 --- a/docs/docs/documentation/issue-providers/markdownlint/examples.md +++ b/docs/docs/documentation/issue-providers/markdownlint/examples.md @@ -17,12 +17,10 @@ To call [markdownlint-cli] from a Cake script you can use the [Cake.Markdownlint To read issues from markdownlint-cli log files you need to import the core addin and the markdownlint support: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.Markdownlint" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Markdownlint&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - We need some global variables: ```csharp diff --git a/docs/docs/documentation/issue-providers/msbuild/examples.md b/docs/docs/documentation/issue-providers/msbuild/examples.md index 6f55f849c..d93b7184e 100644 --- a/docs/docs/documentation/issue-providers/msbuild/examples.md +++ b/docs/docs/documentation/issue-providers/msbuild/examples.md @@ -9,12 +9,10 @@ The following example will call MsBuild to build the solution and outputs the nu To read issues from MsBuild log files you need to import the core addin and the MsBuild support: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.MsBuild" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - In this example the log file is written by the `XmlFileLogger` class from [MSBuild Extension Pack]. In order to use the above logger, the following line will download and install the tool from NuGet.org: diff --git a/docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md b/docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md index f4449a404..edd246e91 100644 --- a/docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md +++ b/docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md @@ -1,6 +1,7 @@ --- title: GitHub pull request integration description: Example how to write AppVeyor message to GitHub pull requests. +render_macros: false --- This example shows how to write AppVeyor messages created by Cake.Issues to GitHub pull requests. diff --git a/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md b/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md index cc5b66f69..6475d83d6 100644 --- a/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md +++ b/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md @@ -10,14 +10,12 @@ the core pull request addin, the AppVeyor support and one or more issue provider in this example for JetBrains InspectCode: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.InspectCode" -#addin "Cake.Issues.PullRequests" -#addin "Cake.Issues.PullRequests.AppVeyor" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests.AppVeyor&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - In the following task we'll first determine the remote repository URL and source branch of the pull request and with this information call the [AppVeyorBuilds](https://cakebuild.net/api/Cake.Issues.PullRequests.AppVeyor/AppVeyorBuildsAliases/){target="_blank"} alias: diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md index 5a7e2d29f..c8c2bbf20 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md @@ -10,11 +10,11 @@ the core pull request addin, the Azure DevOps support including the Cake.AzureDe in this example for JetBrains InspectCode: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.InspectCode" -#addin "Cake.Issues.PullRequests" -#addin "Cake.Issues.PullRequests.AzureDevOps" -#addin "Cake.AzureDevOps" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} +#addin "Cake.AzureDevOps" // (1)! ``` --8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md index 47529ff9a..7c08b60a2 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md @@ -8,19 +8,21 @@ This example shows how to write issues as comments to an Azure DevOps pull reque To determine the remote repository URL you need the [Cake.Git](https://cakebuild.net/extensions/cake-git/){target="_blank"} addin: ```csharp -#addin "Cake.Git" +#addin "Cake.Git" // (1)! ``` +--8<-- "snippets/pinning.md" + To write issues as comments to Azure DevOps pull requests you need to import the core addin, the core pull request addin, the Azure DevOps support including the Cake.AzureDevOps addin, and one or more issue providers, in this example for JetBrains InspectCode: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.InspectCode" -#addin "Cake.Issues.PullRequests" -#addin "Cake.Issues.PullRequests.AzureDevOps" -#addin "Cake.AzureDevOps" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} +#addin "Cake.AzureDevOps" // (1)! ``` --8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md index 637bc1ea0..5f0933bb8 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md @@ -9,19 +9,21 @@ To determine the remote repository URL and source branch of the pull request you addin: ```csharp -#addin "Cake.Git" +#addin "Cake.Git" // (1)! ``` +--8<-- "snippets/pinning.md" + To write issues as comments to Azure DevOps pull requests you need to import the core addin, the core pull request addin, the Azure DevOps support including the Cake.AzureDevOps addin, and one or more issue providers, in this example for JetBrains InspectCode: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.InspectCode" -#addin "Cake.Issues.PullRequests" -#addin "Cake.Issues.PullRequests.AzureDevOps" -#addin "Cake.AzureDevOps" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} +#addin "Cake.AzureDevOps" // (1)! ``` --8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/pull-request-systems/github-actions/examples/write-annotations.md b/docs/docs/documentation/pull-request-systems/github-actions/examples/write-annotations.md index 9956f0d96..933f61d2c 100644 --- a/docs/docs/documentation/pull-request-systems/github-actions/examples/write-annotations.md +++ b/docs/docs/documentation/pull-request-systems/github-actions/examples/write-annotations.md @@ -10,14 +10,12 @@ the core pull request addin, the GitHub Actions support and one or more issue pr in this example for JetBrains InspectCode: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.InspectCode" -#addin "Cake.Issues.PullRequests" -#addin "Cake.Issues.PullRequests.GitHubActions" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests.GitHubActions&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - In the following task we'll first determine the remote repository URL and source branch of the pull request and with this information call the [GitHubActionsBuilds](https://cakebuild.net/api/Cake.Issues.PullRequests.GitHubActions/GitHubActionsBuildsAliases/){target="_blank"} alias: diff --git a/docs/docs/documentation/recipe/index.md b/docs/docs/documentation/recipe/index.md index 8744007ea..9f58c28db 100644 --- a/docs/docs/documentation/recipe/index.md +++ b/docs/docs/documentation/recipe/index.md @@ -37,43 +37,43 @@ Cake.Issues recipes will add the following addins to your build: === "Cake.Issues.Recipe" - | Addin | Version | Remarks | - |-----------------------------------------------------------|---------|-| - | [Cake.Git]{target="_blank"} | 5.0.1 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | - | [Cake.Issues]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.MsBuild]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.InspectCode]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.Markdownlint]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.EsLint]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.Sarif]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.Reporting]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.Reporting.Generic]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.Reporting.Sarif]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.PullRequests]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.PullRequests.AppVeyor]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.PullRequests.AzureDevOps]{target="_blank"} | 5.0.1 | | - | [Cake.Issues.PullRequests.GitHubActions]{target="_blank"} | 5.0.1 | | - | [Cake.AzureDevOps]{target="_blank"} | 5.0.0 | | + | Addin | Version | Remarks | + |-----------------------------------------------------------|---------------------------|-| + | [Cake.Git]{target="_blank"} | 5.0.1 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | + | [Cake.Issues]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.MsBuild]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.InspectCode]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.Markdownlint]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.EsLint]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.Sarif]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.Reporting]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.Reporting.Generic]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.Reporting.Sarif]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.PullRequests]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.PullRequests.AppVeyor]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.PullRequests.AzureDevOps]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Issues.PullRequests.GitHubActions]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.AzureDevOps]{target="_blank"} | 5.0.0 | | === "Cake.Frosting.Issues.Recipe" - | Addin | Version | Remarks | - |--------------------------------------------------------------------------|---------|-| - | [Cake.Frosting.Git]{target="_blank"} | 5.0.1 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | - | [Cake.Issues]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.MsBuild]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.InspectCode]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.Markdownlint]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.EsLint]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.Sarif]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.Reporting]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.Reporting.Generic]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.Reporting.Sarif]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.PullRequests]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.PullRequests.AppVeyor]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.PullRequests.AzureDevOps]{target="_blank"} | 5.0.1 | | - | [Cake.Frosting.Issues.PullRequests.GitHubActions]{target="_blank"} | 5.0.1 | | - | [Cake.AzureDevOps]{target="_blank"} | 5.0.0 | | + | Addin | Version | Remarks | + |--------------------------------------------------------------------|---------------------------|-| + | [Cake.Frosting.Git]{target="_blank"} | 5.0.1 | Only used if `RepositoryInfoProvider` type is set to `RepositoryInfoProviderType.CakeGit`. See [Git repository information configuration] for details. | + | [Cake.Issues]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.MsBuild]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.InspectCode]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.Markdownlint]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.EsLint]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.Sarif]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.Reporting]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.Reporting.Generic]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.Reporting.Sarif]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.PullRequests]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.PullRequests.AppVeyor]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.PullRequests.AzureDevOps]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.Frosting.Issues.PullRequests.GitHubActions]{target="_blank"} | {{ cake_issues_version }} | | + | [Cake.AzureDevOps]{target="_blank"} | 5.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe diff --git a/docs/docs/documentation/report-formats/console/examples.md b/docs/docs/documentation/report-formats/console/examples.md index 9117c0942..a2db77409 100644 --- a/docs/docs/documentation/report-formats/console/examples.md +++ b/docs/docs/documentation/report-formats/console/examples.md @@ -8,10 +8,10 @@ The following example will print issues logged as warnings by MsBuild to the con ```csharp #tool "nuget:?package=MSBuild.Extension.Pack" // (1)! -#addin "Cake.Issues" -#addin "Cake.Issues.MsBuild" -#addin "Cake.Issues.Reporting" -#addin "Cake.Issues.Reporting.Console" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Reporting.Console&version={{ cake_issues_version }} Task("Create-IssueReport").Does(() => { diff --git a/docs/docs/documentation/report-formats/generic/examples/custom-template.md b/docs/docs/documentation/report-formats/generic/examples/custom-template.md index 49af47e9c..b157293f9 100644 --- a/docs/docs/documentation/report-formats/generic/examples/custom-template.md +++ b/docs/docs/documentation/report-formats/generic/examples/custom-template.md @@ -11,10 +11,10 @@ The following example will create a HTML report for issues logged as warnings by ```csharp #tool "nuget:?package=MSBuild.Extension.Pack" // (1)! -#addin "Cake.Issues" -#addin "Cake.Issues.MsBuild" -#addin "Cake.Issues.Reporting" -#addin "Cake.Issues.Reporting.Generic" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Reporting.Generic&version={{ cake_issues_version }} Task("Create-IssueReport").Does(() => { diff --git a/docs/docs/documentation/report-formats/generic/examples/default-template.md b/docs/docs/documentation/report-formats/generic/examples/default-template.md index c9ed1d026..ef15ca77f 100644 --- a/docs/docs/documentation/report-formats/generic/examples/default-template.md +++ b/docs/docs/documentation/report-formats/generic/examples/default-template.md @@ -7,10 +7,10 @@ The following example will create a HTML report for issues logged as warnings by ```csharp #tool "nuget:?package=MSBuild.Extension.Pack" // (1)! -#addin "Cake.Issues" -#addin "Cake.Issues.MsBuild" -#addin "Cake.Issues.Reporting" -#addin "Cake.Issues.Reporting.Generic" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Reporting.Generic&version={{ cake_issues_version }} Task("Create-IssueReport").Does(() => { diff --git a/docs/docs/documentation/report-formats/sarif/examples.md b/docs/docs/documentation/report-formats/sarif/examples.md index d2b361d39..5d62375ff 100644 --- a/docs/docs/documentation/report-formats/sarif/examples.md +++ b/docs/docs/documentation/report-formats/sarif/examples.md @@ -8,10 +8,10 @@ The following example will create a SARIF report for issues logged as warnings b ```csharp #tool "nuget:?package=MSBuild.Extension.Pack" // (1)! -#addin "Cake.Issues" -#addin "Cake.Issues.MsBuild" -#addin "Cake.Issues.Reporting" -#addin "Cake.Issues.Reporting.Sarif" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Reporting.Sarif&version={{ cake_issues_version }} Task("Create-IssueReport").Does(() => { diff --git a/docs/docs/documentation/usage/breaking-builds/breaking-builds.md b/docs/docs/documentation/usage/breaking-builds/breaking-builds.md index f9ee9e21a..1c9beadbd 100644 --- a/docs/docs/documentation/usage/breaking-builds/breaking-builds.md +++ b/docs/docs/documentation/usage/breaking-builds/breaking-builds.md @@ -8,11 +8,9 @@ The `Cake.Issues` addin can be used to break builds if specific issues were repo To break builds you need to import the following core addin: ```csharp -#addin "Cake.Issues" // (1)! +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - The following task will fail the build if any issues were added to the `issues` global variable: ```csharp diff --git a/docs/docs/documentation/usage/creating-issues/creating-issues.md b/docs/docs/documentation/usage/creating-issues/creating-issues.md index c47567936..f921ce8a2 100644 --- a/docs/docs/documentation/usage/creating-issues/creating-issues.md +++ b/docs/docs/documentation/usage/creating-issues/creating-issues.md @@ -9,11 +9,9 @@ This issues can for example be used to create reports. To create issues you need to import the following core addin: ```csharp -#addin "Cake.Issues" // (1)! +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - In the following task a new warning for the myfile.txt file on line 42 is created: ```csharp diff --git a/docs/docs/documentation/usage/creating-reports/creating-reports.md b/docs/docs/documentation/usage/creating-reports/creating-reports.md index f55598900..826879a0c 100644 --- a/docs/docs/documentation/usage/creating-reports/creating-reports.md +++ b/docs/docs/documentation/usage/creating-reports/creating-reports.md @@ -6,23 +6,19 @@ description: Usage instructions how to create reports. To create report for issues you need to import the following core addins: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.Reporting" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - Also you need to import at least one issue provider and report format. In the following example the issue provider for reading warnings from MsBuild log files and generic report format is imported: ```csharp -#addin "Cake.Issues.MsBuild" // (1)! -#addin "Cake.Issues.Reporting.Generic" +#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.Reporting.Generic&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - Finally you can define a task where you call the reporting addin with the desired issue provider and report format: ```csharp diff --git a/docs/docs/documentation/usage/reading-issues/reading-issues.md b/docs/docs/documentation/usage/reading-issues/reading-issues.md index 4d4025254..d222c64cc 100644 --- a/docs/docs/documentation/usage/reading-issues/reading-issues.md +++ b/docs/docs/documentation/usage/reading-issues/reading-issues.md @@ -9,22 +9,18 @@ This can for example be useful to break builds based on the reported issues. To read issues you need to import the following core addin: ```csharp -#addin "Cake.Issues" // (1)! +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - Also you need to import at least one issue provider. In the following example the issue providers for reading warnings from MsBuild log files and from JetBrains InspectCode are imported: ```csharp -#addin "Cake.Issues.MsBuild" // (1)! -#addin "Cake.Issues.InspectCode" +#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - Finally you can define a task where you call the core addin with the desired issue providers. The following example reads issues reported as MsBuild warnings by the `XmlFileLogger` class from [MSBuild Extension Pack](http://www.msbuildextensionpack.com/){target="_blank"} and issues reported by JetBrains InspectCode: diff --git a/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md b/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md index fee1cbc82..414c78352 100644 --- a/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md +++ b/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md @@ -15,12 +15,9 @@ The [Cake.Frosting.Issues.Recipe] package can be used to easily add issue manage To use [Cake.Frosting.Issues.Recipe] in your Cake Frosting build you need to first add the NuGet package in your `.csproj` file: ```csharp - + ``` -!!! warning - Replace the version (`1.0.0`) with the version of Cake.Frosting.Issues.Recipe you want to use. - ## Register Cake.Issues tasks To make Cake Issues tasks available to your Cake Frosting build you need to register them. diff --git a/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md b/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md index 603f6306e..2754a42df 100644 --- a/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md +++ b/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md @@ -10,14 +10,9 @@ The [Cake.Issues.Recipe] package can be used to easily add issue management func To use Cake.Issues.Recipe in your build script you need to first load the NuGet package: ```csharp -#load nuget:package=Cake.Issues.Recipe // (1)! +#load nuget:package=Cake.Issues.Recipe&version={{ cake_issues_version }} ``` -1. Please note that you always should pin NuGet packages to a specific version to make sure your builds are deterministic and - won't break due to updates to Cake.Issues.Recipe. - - See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version){target="_blank"} for details. - ## Configuring Cake.Issues.Recipe To make issues available to Cake.Issues.Recipe you need to set the corresponding configuration parameters. diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md index b13103631..03391129c 100644 --- a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md @@ -15,10 +15,10 @@ You can define custom filters which are applied to issues before they are posted The following example will filter out all issues from the rule `CA1000` from being posted to the pull request. ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.MsBuild" -#addin "Cake.Issues.PullRequests" -#addin "Cake.Issues.PullRequests.AzureDevOps" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} Task("ReportIssuesToPullRequest").Does(() => { @@ -43,5 +43,3 @@ Task("ReportIssuesToPullRequest").Does(() => settings)); }); ``` - ---8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md index e751ed090..2a8fd59d8 100644 --- a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md @@ -6,23 +6,19 @@ description: Usage instructions how to report issues to pull requests. To use report issues to pull requests you need to import the following core addins: ```csharp -#addin "Cake.Issues" // (1)! -#addin "Cake.Issues.PullRequests" +#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - Also you need to import at least one issue provider and pull request system. In the following example the issue provider for reading warnings from MsBuild log files and support for Azure DevOps pull requests is imported: ```csharp -#addin "Cake.Issues.MsBuild" // (1)! -#addin "Cake.Issues.PullRequests.AzureDevOps" +#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} +#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} ``` ---8<-- "snippets/pinning.md" - Finally you can define a task where you call the core addin with the desired issue provider and pull request system: ```csharp diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 559d5f668..718a23901 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -69,6 +69,7 @@ theme: plugins: - blog: post_readtime: true + - macros - search - table-reader @@ -101,6 +102,7 @@ markdown_extensions: # Additional configuration extra: + cake_issues_version: 5.0.1 version: provider: mike social: diff --git a/docs/requirements.txt b/docs/requirements.txt index 192ebbf09..3b68eda7d 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,4 +1,5 @@ mike==2.1.3 mkdocs==1.6.1 +mkdocs-macros-plugin==1.3.7 mkdocs-material==9.5.49 mkdocs-table-reader-plugin==3.1.0 \ No newline at end of file diff --git a/docs/snippets/pinning.md b/docs/snippets/pinning.md index 26c8cb9ad..410424155 100644 --- a/docs/snippets/pinning.md +++ b/docs/snippets/pinning.md @@ -1,4 +1,4 @@ -1. Please note that you always should pin addins to a specific version to make sure your builds are deterministic and - won't break due to updates to one of the addins. +1. In production code this dependency should be pinned to a specific version to make sure builds are deterministic and + won't break due to updates. - See [pinning addin versions](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. + See [Reproducible Builds](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. From 6894103f26ad9b39770382f2af337ca709ca6727 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 00:22:49 +0100 Subject: [PATCH 138/201] Improve extension documentation (#871) --- docs/docs/documentation/extending/fundamentals.md | 10 ---------- docs/docs/documentation/extending/index.md | 6 ++++++ docs/docs/documentation/extending/testing.md | 6 +++++- docs/mkdocs.yml | 1 - 4 files changed, 11 insertions(+), 12 deletions(-) delete mode 100644 docs/docs/documentation/extending/fundamentals.md diff --git a/docs/docs/documentation/extending/fundamentals.md b/docs/docs/documentation/extending/fundamentals.md deleted file mode 100644 index ccc3a991a..000000000 --- a/docs/docs/documentation/extending/fundamentals.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Fundamentals -description: Fundamentals to extend Cake Issues ecosystem. ---- - -You can easily extend Cake Issues with additional [Issue Provider], [Report Formats] and [Pull Request System integrations]. - -[Issue Provider]: issue-provider/overview.md -[Report Formats]: report-format/overview.md -[Pull Request System integrations]: pull-request-system/overview.md \ No newline at end of file diff --git a/docs/docs/documentation/extending/index.md b/docs/docs/documentation/extending/index.md index d8d0c3b46..d4f38ade0 100644 --- a/docs/docs/documentation/extending/index.md +++ b/docs/docs/documentation/extending/index.md @@ -2,3 +2,9 @@ title: Extending description: Instructions how to add support for additional analyzers, report formats and pull request system to the Cake Issues Addin. --- + +Cake Issues can easily be extended with additional [Issue Provider], [Report Formats] and [Pull Request System integrations]. + +[Issue Provider]: issue-provider/overview.md +[Report Formats]: report-format/overview.md +[Pull Request System integrations]: pull-request-system/overview.md \ No newline at end of file diff --git a/docs/docs/documentation/extending/testing.md b/docs/docs/documentation/extending/testing.md index 3b6b60018..50294cb83 100644 --- a/docs/docs/documentation/extending/testing.md +++ b/docs/docs/documentation/extending/testing.md @@ -3,5 +3,9 @@ title: Testing description: Instructions how to write test cases for Cake Issues addins. --- -The `Cake.Issues.Testing` packages provides different helper classes for writing test cases +The [Cake.Issues.Testing]{target="_blank"} package provides different helper classes for writing test cases for issue provider, report format or pull request system addins. + +[API Documentation on fuget.org](https://www.fuget.org/packages/Cake.Issues.Testing){ target="_blank" .md-button .md-button--primary } + +[Cake.Issues.Testing]: https://www.nuget.org/packages/Cake.Issues.Testing diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 718a23901..bc4e4f3ba 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -231,7 +231,6 @@ nav: - How To Develop: - Extending: - documentation/extending/index.md - - Fundamentals: documentation/extending/fundamentals.md - Issue Provider: - Overview: documentation/extending/issue-provider/overview.md - Alias Categories: documentation/extending/issue-provider/categories.md From 3a2429636c068100478f534dc799fb1f1c827e9f Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 01:12:46 +0100 Subject: [PATCH 139/201] Update examples (#874) --- .../issue-providers/msbuild/examples.md | 44 ++++++-------- .../azure-devops/examples/azure-pipelines.md | 60 ++++--------------- .../report-formats/console/examples.md | 25 ++++---- .../generic/examples/custom-template.md | 25 ++++---- .../generic/examples/default-template.md | 25 ++++---- .../report-formats/sarif/examples.md | 25 ++++---- .../creating-reports/creating-reports.md | 2 +- .../usage/reading-issues/file-linking.md | 2 +- .../usage/reading-issues/reading-issues.md | 6 +- .../usage/reading-issues/run-information.md | 4 +- .../usage/recipe/using-cake-issues-recipe.md | 2 +- .../custom-issue-filter.md | 7 +-- .../report-issues-to-pull-requests.md | 7 +-- 13 files changed, 84 insertions(+), 150 deletions(-) diff --git a/docs/docs/documentation/issue-providers/msbuild/examples.md b/docs/docs/documentation/issue-providers/msbuild/examples.md index d93b7184e..a8ce629bd 100644 --- a/docs/docs/documentation/issue-providers/msbuild/examples.md +++ b/docs/docs/documentation/issue-providers/msbuild/examples.md @@ -13,15 +13,6 @@ To read issues from MsBuild log files you need to import the core addin and the #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} ``` -In this example the log file is written by the `XmlFileLogger` class from [MSBuild Extension Pack]. -In order to use the above logger, the following line will download and install the tool from NuGet.org: - -```csharp -#tool "nuget:?package=MSBuild.Extension.Pack" // (1)! -``` - ---8<-- "snippets/pinning.md" - We need some global variables: ```csharp @@ -29,27 +20,32 @@ var logPath = @"c:\build\msbuild.log"; var repoRootPath = @"c:\repo"; ``` -The following task will build the solution and write a log file: +The following task will build the solution and write a binary log file: ```csharp Task("Build-Solution").Does(() => { - // Build solution. - var settings = - new MSBuildSettings() - .WithLogger( - Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath, - "XmlFileLogger", - $"logfile=\"{logPath}\";verbosity=Detailed;encoding=UTF-8" - ); - - MSBuild(repoRootPath.CombineWithFilePath("MySolution.sln"), settings); + var msBuildSettings = + new MSBuildSettings().WithLogger( + "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + logPath) + DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln"), + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); }); ``` +!!! Tip + When using `MSBuildSettings.BinaryLogger` property to write a binary log, the version of the binary log format written + depends on the version of the .NET SDK. + + To avoid the risk of breaking builds when the .NET SDK is updated and introduces a new binary log format, which is not supported + in the used version of Cake.Issues.MsBuild, the binary logger instance shipped as part of Cake.Issues.MsBuild is + used in the above example. + Finally you can define a task where you call the core addin with the desired issue provider. -The following example reads issues reported as MsBuild warnings by the `XmlFileLogger` -class from [MSBuild Extension Pack]: +The following example reads warnings and errors reported as MsBuild in a binary log: ```csharp Task("Read-Issues") @@ -61,11 +57,9 @@ Task("Read-Issues") ReadIssues( MsBuildIssuesFromFilePath( logPath, - MsBuildXmlFileLoggerFormat), + MsBuildBinaryLogFileFormat), repoRootFolder); Information("{0} issues are found.", issues.Count()); }); ``` - -[MSBuild Extension Pack]: https://github.com/mikefourie-zz/MSBuildExtensionPack diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md b/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md index c8c2bbf20..6de2a0f69 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md @@ -19,10 +19,19 @@ in this example for JetBrains InspectCode: --8<-- "snippets/pinning.md" -In the following task we'll first determine if the build is running on Azure DevOps and for a pull request, -then read the remote repository URL and pull request id from environment variables set by the Azure Pipelines build -and finally call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} -alias using the OAuth token provided by the Azure Pipeline build. +The following task will call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} +alias to connect to the pull request using the environment variables provided by Azure Pipelines. + +```csharp +Task("ReportIssuesToPullRequest").Does(() => +{ + ReportIssuesToPullRequest( + InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + AzureDevOpsPullRequests(), + repoRootFolder); +}); +``` !!! info Please note that you'll need to setup your Azure Pipelines build to @@ -31,47 +40,4 @@ alias using the OAuth token provided by the Azure Pipeline build. See [OAuth authentication from Azure Pipelines] for details. -```csharp -Task("ReportIssuesToPullRequest").Does(() => -{ - var isRunningOnAzureDevOps = - !string.IsNullOrWhiteSpace(context.EnvironmentVariable("TF_BUILD")) && - !string.IsNullOrWhiteSpace(context.EnvironmentVariable("SYSTEM_COLLECTIONURI")) && - ( - new Uri(context.EnvironmentVariable("SYSTEM_COLLECTIONURI")).Host == "dev.azure.com" || - new Uri(context.EnvironmentVariable("SYSTEM_COLLECTIONURI")).Host.EndsWith("visualstudio.com") - ); - - var isPullRequestBuild = - !string.IsNullOrWhiteSpace(context.EnvironmentVariable("SYSTEM_PULLREQUEST_PULLREQUESTID")); - - if (isRunningOnAzureDevOps) - { - var repositoryUrl = new Uri(context.EnvironmentVariable("BUILD_REPOSITORY_URI")); - - if (isPullRequestBuild) - { - var pullRequestIdVariable = context.EnvironmentVariable("SYSTEM_PULLREQUEST_PULLREQUESTID"); - if (!Int32.TryParse(pullRequestIdVariable, out var pullRequestId)) - { - throw new Exception($"Invalid pull request ID: {pullRequestIdVariable}"); - } - else - { - var repoRootFolder = MakeAbsolute(Directory("./")); - - ReportIssuesToPullRequest( - InspectCodeIssuesFromFilePath( - @"C:\build\inspectcode.log"), - AzureDevOpsPullRequests( - repositoryUrl, - pullRequestId, - AzureDevOpsAuthenticationOAuth(EnvironmentVariable("SYSTEM_ACCESSTOKEN"))), - repoRootFolder); - } - } - } -}); -``` - [OAuth authentication from Azure Pipelines]: ../setup.md#oauth-authentication-from-azure-pipelines diff --git a/docs/docs/documentation/report-formats/console/examples.md b/docs/docs/documentation/report-formats/console/examples.md index a2db77409..d61d188c7 100644 --- a/docs/docs/documentation/report-formats/console/examples.md +++ b/docs/docs/documentation/report-formats/console/examples.md @@ -7,7 +7,6 @@ icon: material/test-tube The following example will print issues logged as warnings by MsBuild to the console. ```csharp -#tool "nuget:?package=MSBuild.Extension.Pack" // (1)! #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} @@ -17,18 +16,16 @@ Task("Create-IssueReport").Does(() => { var repoRootFolder = new DirectoryPath(@"c:\repo"); - // Build MySolution.sln solution in the repository root folder and log issues - // using XmlFileLogger from MSBuild Extension Pack. + // Build MySolution.sln solution in the repository root folder and write a binary log. FilePath msBuildLogFile = @"c:\build\msbuild.log"; - var settings = new MsBuildSettings() - .WithLogger( - Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath, - "XmlFileLogger", - string.Format( - "logfile=\"{0}\";verbosity=Detailed;encoding=UTF-8", - msBuildLogFile) - ); - MSBuild(repoRootFolder.CombineWithFilePath("MySolution.sln"), settings); + var msBuildSettings = + new MSBuildSettings().WithLogger( + "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile) + DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln"), + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); // Write issues to console. CreateIssueReport( @@ -36,7 +33,7 @@ Task("Create-IssueReport").Does(() => { MsBuildIssuesFromFilePath( msBuildLogFile, - MsBuildXmlFileLoggerFormat) + MsBuildBinaryLogFileFormat) }, ConsoleIssueReportFormat( new ConsoleIssueReportFormatSettings @@ -49,5 +46,3 @@ Task("Create-IssueReport").Does(() => string.Empty); }); ``` - ---8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/report-formats/generic/examples/custom-template.md b/docs/docs/documentation/report-formats/generic/examples/custom-template.md index b157293f9..56f148e98 100644 --- a/docs/docs/documentation/report-formats/generic/examples/custom-template.md +++ b/docs/docs/documentation/report-formats/generic/examples/custom-template.md @@ -10,7 +10,6 @@ description: Example how to create a report using a custom template The following example will create a HTML report for issues logged as warnings by MsBuild using a custom template. ```csharp -#tool "nuget:?package=MSBuild.Extension.Pack" // (1)! #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} @@ -20,18 +19,16 @@ Task("Create-IssueReport").Does(() => { var repoRootFolder = new DirectoryPath(@"c:\repo"); - // Build MySolution.sln solution in the repository root folder and log issues - // using XmlFileLogger from MSBuild Extension Pack. + // Build MySolution.sln solution in the repository root folder and write a binary log. FilePath msBuildLogFile = @"c:\build\msbuild.log"; - var settings = new MsBuildSettings() - .WithLogger( - Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath, - "XmlFileLogger", - string.Format( - "logfile=\"{0}\";verbosity=Detailed;encoding=UTF-8", - msBuildLogFile) - ); - MSBuild(repoRootFolder.CombineWithFilePath("MySolution.sln"), settings); + var msBuildSettings = + new MSBuildSettings().WithLogger( + "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile) + DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln"), + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); // Create HTML report using Diagnostic template. CreateIssueReport( @@ -39,7 +36,7 @@ Task("Create-IssueReport").Does(() => { MsBuildIssuesFromFilePath( msBuildLogFile, - MsBuildXmlFileLoggerFormat) + MsBuildBinaryLogFileFormat) }, GenericIssueReportFormatFromFilePath(@"c:\ReportTemplate.cshtml"), repoRootFolder, @@ -47,8 +44,6 @@ Task("Create-IssueReport").Does(() => }); ``` ---8<-- "snippets/pinning.md" - `ReportTemplate` looks like this: ```csharp diff --git a/docs/docs/documentation/report-formats/generic/examples/default-template.md b/docs/docs/documentation/report-formats/generic/examples/default-template.md index ef15ca77f..6eaa50694 100644 --- a/docs/docs/documentation/report-formats/generic/examples/default-template.md +++ b/docs/docs/documentation/report-formats/generic/examples/default-template.md @@ -6,7 +6,6 @@ description: Example how to create a report using an embedded default template. The following example will create a HTML report for issues logged as warnings by MsBuild. ```csharp -#tool "nuget:?package=MSBuild.Extension.Pack" // (1)! #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} @@ -16,18 +15,16 @@ Task("Create-IssueReport").Does(() => { var repoRootFolder = new DirectoryPath(@"c:\repo"); - // Build MySolution.sln solution in the repository root folder and log issues - // using XmlFileLogger from MSBuild Extension Pack. + // Build MySolution.sln solution in the repository root folder and write a binary log. FilePath msBuildLogFile = @"c:\build\msbuild.log"; - var settings = new MsBuildSettings() - .WithLogger( - Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath, - "XmlFileLogger", - string.Format( - "logfile=\"{0}\";verbosity=Detailed;encoding=UTF-8", - msBuildLogFile) - ); - MSBuild(repoRootFolder.CombineWithFilePath("MySolution.sln"), settings); + var msBuildSettings = + new MSBuildSettings().WithLogger( + "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile) + DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln"), + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); // Create HTML report using Diagnostic template. CreateIssueReport( @@ -35,12 +32,10 @@ Task("Create-IssueReport").Does(() => { MsBuildIssuesFromFilePath( msBuildLogFile, - MsBuildXmlFileLoggerFormat) + MsBuildBinaryLogFileFormat) }, GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), repoRootFolder, @"c:\report.html"); }); ``` - ---8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/report-formats/sarif/examples.md b/docs/docs/documentation/report-formats/sarif/examples.md index 5d62375ff..5b7adffb8 100644 --- a/docs/docs/documentation/report-formats/sarif/examples.md +++ b/docs/docs/documentation/report-formats/sarif/examples.md @@ -7,7 +7,6 @@ icon: material/test-tube The following example will create a SARIF report for issues logged as warnings by MsBuild. ```csharp -#tool "nuget:?package=MSBuild.Extension.Pack" // (1)! #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} @@ -17,18 +16,16 @@ Task("Create-IssueReport").Does(() => { var repoRootFolder = new DirectoryPath(@"c:\repo"); - // Build MySolution.sln solution in the repository root folder and log issues - // using XmlFileLogger from MSBuild Extension Pack. + // Build MySolution.sln solution in the repository root folder and write a binary log. FilePath msBuildLogFile = @"c:\build\msbuild.log"; - var settings = new MsBuildSettings() - .WithLogger( - Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath, - "XmlFileLogger", - string.Format( - "logfile=\"{0}\";verbosity=Detailed;encoding=UTF-8", - msBuildLogFile) - ); - MSBuild(repoRootFolder.CombineWithFilePath("MySolution.sln"), settings); + var msBuildSettings = + new MSBuildSettings().WithLogger( + "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile) + DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln"), + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); // Create SARIF report. CreateIssueReport( @@ -36,12 +33,10 @@ Task("Create-IssueReport").Does(() => { MsBuildIssuesFromFilePath( msBuildLogFile, - MsBuildXmlFileLoggerFormat) + MsBuildBinaryLogFileFormat) }, SarifIssueReportFormat(), repoRootFolder, @"c:\report.sarif"); }); ``` - ---8<-- "snippets/pinning.md" diff --git a/docs/docs/documentation/usage/creating-reports/creating-reports.md b/docs/docs/documentation/usage/creating-reports/creating-reports.md index 826879a0c..21213d4b2 100644 --- a/docs/docs/documentation/usage/creating-reports/creating-reports.md +++ b/docs/docs/documentation/usage/creating-reports/creating-reports.md @@ -28,7 +28,7 @@ Task("Create-Report").Does(() => CreateIssueReport( MsBuildIssuesFromFilePath( @"C:\build\msbuild.log", - MsBuildXmlFileLoggerFormat), + MsBuildBinaryLogFileFormat), GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), repoRootFolder, @"c:\report.html"); diff --git a/docs/docs/documentation/usage/reading-issues/file-linking.md b/docs/docs/documentation/usage/reading-issues/file-linking.md index 1798021e0..7a1609086 100644 --- a/docs/docs/documentation/usage/reading-issues/file-linking.md +++ b/docs/docs/documentation/usage/reading-issues/file-linking.md @@ -12,7 +12,7 @@ var settings = { FileLinkSettings = IssueFileLinkSettingsForGitHubCommit( - "https://github.com/cake-contrib/Cake.Issues.Reporting.Generic", + "https://github.com/cake-contrib/Cake.Issues", "76a7cacef7ad4295a6766646d45c9b56") }; diff --git a/docs/docs/documentation/usage/reading-issues/reading-issues.md b/docs/docs/documentation/usage/reading-issues/reading-issues.md index d222c64cc..9b76a9c6d 100644 --- a/docs/docs/documentation/usage/reading-issues/reading-issues.md +++ b/docs/docs/documentation/usage/reading-issues/reading-issues.md @@ -22,8 +22,8 @@ and from JetBrains InspectCode are imported: ``` Finally you can define a task where you call the core addin with the desired issue providers. -The following example reads issues reported as MsBuild warnings by the `XmlFileLogger` -class from [MSBuild Extension Pack](http://www.msbuildextensionpack.com/){target="_blank"} and issues reported by JetBrains InspectCode: +The following example reads warnings and errors reported by MsBuild from a binary log +and issues reported by JetBrains InspectCode: ```csharp Task("Read-Issues").Does(() => @@ -34,7 +34,7 @@ Task("Read-Issues").Does(() => { MsBuildIssuesFromFilePath( @"C:\build\msbuild.log", - MsBuildXmlFileLoggerFormat), + MsBuildBinaryLogFileFormat), InspectCodeIssuesFromFilePath( @"C:\build\inspectcode.log") }, diff --git a/docs/docs/documentation/usage/reading-issues/run-information.md b/docs/docs/documentation/usage/reading-issues/run-information.md index 7535768f4..193118e47 100644 --- a/docs/docs/documentation/usage/reading-issues/run-information.md +++ b/docs/docs/documentation/usage/reading-issues/run-information.md @@ -19,7 +19,7 @@ issues.AddRange( ReadIssues( MsBuildIssuesFromFilePath( @"C:\build\solution1-msbuild.log", - MsBuildXmlFileLoggerFormat), + MsBuildBinaryLogFileFormat), new ReadIssuesSettings(@"c:\repo") { Run = "Solution 1" @@ -32,7 +32,7 @@ issues.AddRange( ReadIssues( MsBuildIssuesFromFilePath( @"C:\build\solution2-msbuild.log", - MsBuildXmlFileLoggerFormat), + MsBuildBinaryLogFileFormat), new ReadIssuesSettings(@"c:\repo") { Run = "Solution 2" diff --git a/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md b/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md index 2754a42df..31db2db1c 100644 --- a/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md +++ b/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md @@ -27,7 +27,7 @@ Task("Configure-CakeIssuesRecipe") .IsDependentOn("Run-InspectCode") .Does(() => { - IssuesParameters.InputFiles.AddMsBuildXmlFileLoggerLogFilePath(msBuildLogFilePath); + IssuesParameters.InputFiles.AddMsBuildBinaryLogFilePath(msBuildLogFilePath); IssuesParameters.InputFiles.AddInspectCodeLogFilePath(inspectCodeLogFilePath); } ``` diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md index 03391129c..030ba80e4 100644 --- a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md @@ -34,12 +34,9 @@ Task("ReportIssuesToPullRequest").Does(() => { MsBuildIssuesFromFilePath( @"C:\build\msbuild.log", - MsBuildXmlFileLoggerFormat) + MsBuildBinaryLogFileFormat) }, - AzureDevOpsPullRequests( - new Uri("http://myserver:8080/tfs/defaultcollection/myproject/_git/myrepository"), - "refs/heads/feature/myfeature", - AzureDevOpsAuthenticationNtlm()), + AzureDevOpsPullRequests(), settings)); }); ``` diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md index 2a8fd59d8..99ecf218d 100644 --- a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md +++ b/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md @@ -28,11 +28,8 @@ Task("ReportIssuesToPullRequest").Does(() => ReportIssuesToPullRequest( MsBuildIssuesFromFilePath( @"C:\build\msbuild.log", - MsBuildXmlFileLoggerFormat), - AzureDevOpsPullRequests( - new Uri("http://myserver:8080/tfs/defaultcollection/myproject/_git/myrepository"), - "refs/heads/feature/myfeature", - AzureDevOpsAuthenticationNtlm()), + MsBuildBinaryLogFileFormat), + AzureDevOpsPullRequests(), repoRootFolder); }); ``` From aaffa2c0001e788a48e22dab981c4f3154551771 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 12:54:28 +0100 Subject: [PATCH 140/201] Improve API documentation links (#875) --- docs/docs/api.md | 51 +++++++++++++++++++ .../issue-providers/docfx/index.md | 1 + .../issue-providers/eslint/index.md | 1 + .../issue-providers/gitrepository/index.md | 1 + .../issue-providers/inspectcode/index.md | 1 + .../issue-providers/markdownlint/index.md | 1 + .../issue-providers/msbuild/index.md | 1 + .../issue-providers/sarif/index.md | 1 + .../issue-providers/terraform/index.md | 1 + .../pull-request-systems/appveyor/index.md | 1 + .../azure-devops/index.md | 1 + .../github-actions/index.md | 1 + .../report-formats/console/index.md | 1 + .../report-formats/generic/index.md | 1 + .../report-formats/sarif/index.md | 1 + docs/mkdocs.yml | 16 +++++- 16 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 docs/docs/api.md diff --git a/docs/docs/api.md b/docs/docs/api.md new file mode 100644 index 000000000..e1784d7a0 --- /dev/null +++ b/docs/docs/api.md @@ -0,0 +1,51 @@ +--- +title: API +description: Cake.Issues API documentation +hide: + - navigation +--- + +## Core Addins + +
    + +- [Cake.Issues](https://cakebuild.net/extensions/cake-issues){target="_blank"} +- [Cake.Issues.Reporting](https://cakebuild.net/extensions/cake-issues-reporting){target="_blank"} +- [Cake.Issues.PullRequests](https://cakebuild.net/extensions/cake-issues-pullrequests){target="_blank"} + +
    + +## Issue Provider + +
    + +- [Cake.Issues.DocFx](https://cakebuild.net/extensions/cake-issues-docfx){target="_blank"} +- [Cake.Issues.EsLint](https://cakebuild.net/extensions/cake-issues-eslint){target="_blank"} +- [Cake.Issues.GitRepository](https://cakebuild.net/extensions/cake-issues-gitrepository){target="_blank"} +- [Cake.Issues.InspectCode](https://cakebuild.net/extensions/cake-issues-inspectcode){target="_blank"} +- [Cake.Issues.Markdownlint](https://cakebuild.net/extensions/cake-issues-markdownlint){target="_blank"} +- [Cake.Issues.MsBuild](https://cakebuild.net/extensions/cake-issues-msbuild){target="_blank"} +- [Cake.Issues.Sarif](https://cakebuild.net/extensions/cake-issues-sarif){target="_blank"} +- [Cake.Issues.Terraform](https://cakebuild.net/extensions/cake-issues-terraform){target="_blank"} + +
    + +## Report Formats + +
    + +- [Cake.Issues.Reporting.Console](https://cakebuild.net/extensions/cake-issues-reporting-console){target="_blank"} +- [Cake.Issues.Reporting.Generic](https://cakebuild.net/extensions/cake-issues-reporting-Generic){target="_blank"} +- [Cake.Issues.Reporting.Sarif](https://cakebuild.net/extensions/cake-issues-reporting-Sarif){target="_blank"} + +
    + +## Pull Request Systems + +
    + +- [Cake.Issues.PullRequests.AppVeyor](https://cakebuild.net/extensions/cake-issues-pullrequests-appveyor){target="_blank"} +- [Cake.Issues.PullRequests.AzureDevOps](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops){target="_blank"} +- [Cake.Issues.PullRequests.GitHubActions](https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions){target="_blank"} + +
    diff --git a/docs/docs/documentation/issue-providers/docfx/index.md b/docs/docs/documentation/issue-providers/docfx/index.md index 07c176731..e3ec45b89 100644 --- a/docs/docs/documentation/issue-providers/docfx/index.md +++ b/docs/docs/documentation/issue-providers/docfx/index.md @@ -10,5 +10,6 @@ Support for reading warnings reported by [DocFx](https://dotnet.github.io/docfx/ - :material-creation-outline: [Features](features.md) - :material-test-tube: [Examples](examples.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-docfx){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/eslint/index.md b/docs/docs/documentation/issue-providers/eslint/index.md index 1e2eee634..cbbd4049c 100644 --- a/docs/docs/documentation/issue-providers/eslint/index.md +++ b/docs/docs/documentation/issue-providers/eslint/index.md @@ -9,5 +9,6 @@ is implemented in the [Cake.Issues.EsLint addin](https://cakebuild.net/extension
    - :material-creation-outline: [Features](features.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-eslint){target="_blank"}
    diff --git a/docs/docs/documentation/issue-providers/gitrepository/index.md b/docs/docs/documentation/issue-providers/gitrepository/index.md index 4719fdde5..f144d933e 100644 --- a/docs/docs/documentation/issue-providers/gitrepository/index.md +++ b/docs/docs/documentation/issue-providers/gitrepository/index.md @@ -11,5 +11,6 @@ Support for analyzing Git repositories is implemented in the - :material-creation-outline: [Features](features.md) - :material-test-tube: [Examples](examples.md) - :fontawesome-solid-scroll: [Rules](rules/index.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-gitrepository){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/inspectcode/index.md b/docs/docs/documentation/issue-providers/inspectcode/index.md index 33be2d79b..61a076ece 100644 --- a/docs/docs/documentation/issue-providers/inspectcode/index.md +++ b/docs/docs/documentation/issue-providers/inspectcode/index.md @@ -10,5 +10,6 @@ is implemented in the [Cake.Issues.InspectCode addin](https://www.nuget.org/pack - :material-creation-outline: [Features](features.md) - :material-test-tube: [Examples](examples.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-inspectcode){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/markdownlint/index.md b/docs/docs/documentation/issue-providers/markdownlint/index.md index 99980b03d..1a35f91b2 100644 --- a/docs/docs/documentation/issue-providers/markdownlint/index.md +++ b/docs/docs/documentation/issue-providers/markdownlint/index.md @@ -10,5 +10,6 @@ is implemented in the [Cake.Issues.Markdownlint addin](https://www.nuget.org/pac - :material-creation-outline: [Features](features.md) - :material-test-tube: [Examples](examples.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-markdownlint){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/msbuild/index.md b/docs/docs/documentation/issue-providers/msbuild/index.md index 7d1548401..a4695c518 100644 --- a/docs/docs/documentation/issue-providers/msbuild/index.md +++ b/docs/docs/documentation/issue-providers/msbuild/index.md @@ -10,5 +10,6 @@ Support for reading warnings reported by MsBuild is implemented in the - :material-creation-outline: [Features](features.md) - :material-test-tube: [Examples](examples.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-msbuild){target="_blank"} diff --git a/docs/docs/documentation/issue-providers/sarif/index.md b/docs/docs/documentation/issue-providers/sarif/index.md index 362c2c3d6..2935a4c82 100644 --- a/docs/docs/documentation/issue-providers/sarif/index.md +++ b/docs/docs/documentation/issue-providers/sarif/index.md @@ -9,5 +9,6 @@ is implemented in the [Cake.Issues.Sarif addin](https://cakebuild.net/extensions
    - :material-creation-outline: [Features](features.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-sarif){target="_blank"}
    diff --git a/docs/docs/documentation/issue-providers/terraform/index.md b/docs/docs/documentation/issue-providers/terraform/index.md index 900971fef..d9e37a966 100644 --- a/docs/docs/documentation/issue-providers/terraform/index.md +++ b/docs/docs/documentation/issue-providers/terraform/index.md @@ -9,5 +9,6 @@ is implemented in the [Cake.Issues.Terraform addin](https://cakebuild.net/extens
    - :material-creation-outline: [Features](features.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-terraform){target="_blank"}
    diff --git a/docs/docs/documentation/pull-request-systems/appveyor/index.md b/docs/docs/documentation/pull-request-systems/appveyor/index.md index f2964d266..691131073 100644 --- a/docs/docs/documentation/pull-request-systems/appveyor/index.md +++ b/docs/docs/documentation/pull-request-systems/appveyor/index.md @@ -10,5 +10,6 @@ Support for AppVeyor is implemented in the - :material-creation-outline: [Features](features.md) - :material-test-tube: [Examples](examples/index.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-pullrequests-appveyor){target="_blank"} diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/index.md b/docs/docs/documentation/pull-request-systems/azure-devops/index.md index 773bdbf8a..e19ef3a2c 100644 --- a/docs/docs/documentation/pull-request-systems/azure-devops/index.md +++ b/docs/docs/documentation/pull-request-systems/azure-devops/index.md @@ -11,5 +11,6 @@ Support for Azure DevOps is implemented in the - :material-creation-outline: [Features](features.md) - :material-cogs: [Setup](setup.md) - :material-test-tube: [Examples](examples/index.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops){target="_blank"} diff --git a/docs/docs/documentation/pull-request-systems/github-actions/index.md b/docs/docs/documentation/pull-request-systems/github-actions/index.md index f91cf4322..d5b5d2011 100644 --- a/docs/docs/documentation/pull-request-systems/github-actions/index.md +++ b/docs/docs/documentation/pull-request-systems/github-actions/index.md @@ -10,5 +10,6 @@ Support for GitHub Actions is implemented in the - :material-creation-outline: [Features](features.md) - :material-test-tube: [Examples](examples/index.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions){target="_blank"} diff --git a/docs/docs/documentation/report-formats/console/index.md b/docs/docs/documentation/report-formats/console/index.md index 830fb42a6..b9e65552a 100644 --- a/docs/docs/documentation/report-formats/console/index.md +++ b/docs/docs/documentation/report-formats/console/index.md @@ -10,5 +10,6 @@ a [Cake.Issues.Reporting.Console addin](https://cakebuild.net/extensions/cake-is - :material-creation-outline: [Features](features.md) - :material-test-tube: [Examples](examples.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-reporting-console){target="_blank"} diff --git a/docs/docs/documentation/report-formats/generic/index.md b/docs/docs/documentation/report-formats/generic/index.md index fb707e453..00105dc30 100644 --- a/docs/docs/documentation/report-formats/generic/index.md +++ b/docs/docs/documentation/report-formats/generic/index.md @@ -11,5 +11,6 @@ Support for creating reports in any text based format like HTML or Markdown is i - :material-creation-outline: [Features](features.md) - :material-test-tube: [Examples](examples/index.md) - :material-image: [Template Gallery](templates/index.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-reporting-generic){target="_blank"} diff --git a/docs/docs/documentation/report-formats/sarif/index.md b/docs/docs/documentation/report-formats/sarif/index.md index 0850632c3..633e6afaa 100644 --- a/docs/docs/documentation/report-formats/sarif/index.md +++ b/docs/docs/documentation/report-formats/sarif/index.md @@ -10,5 +10,6 @@ Support for creating SARIF compatible reports is implemented in the - :material-creation-outline: [Features](features.md) - :material-test-tube: [Examples](examples.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-reporting-sarif){target="_blank"} diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index bc4e4f3ba..d155f3193 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -153,9 +153,11 @@ nav: - documentation/issue-providers/docfx/index.md - Features: documentation/issue-providers/docfx/features.md - Examples: documentation/issue-providers/docfx/examples.md + - API: https://cakebuild.net/extensions/cake-issues-docfx" target="_blank - ESLint: - documentation/issue-providers/eslint/index.md - Features: documentation/issue-providers/eslint/features.md + - API: https://cakebuild.net/extensions/cake-issues-eslint" target="_blank - Git Repository: - documentation/issue-providers/gitrepository/index.md - Features: documentation/issue-providers/gitrepository/features.md @@ -164,30 +166,37 @@ nav: - documentation/issue-providers/gitrepository/rules/index.md - BinaryFileNotTrackedByLfs: documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md - FilePathTooLong: documentation/issue-providers/gitrepository/rules/FilePathTooLong.md + - API: https://cakebuild.net/extensions/cake-issues-gitrepository" target="_blank - InspectCode: - documentation/issue-providers/inspectcode/index.md - Features: documentation/issue-providers/inspectcode/features.md - Examples: documentation/issue-providers/inspectcode/examples.md + - API: https://cakebuild.net/extensions/cake-issues-inspectcode" target="_blank - markdownlint: - documentation/issue-providers/markdownlint/index.md - Features: documentation/issue-providers/markdownlint/features.md - Examples: documentation/issue-providers/markdownlint/examples.md + - API: https://cakebuild.net/extensions/cake-issues-markdownlint" target="_blank - MsBuild: - documentation/issue-providers/msbuild/index.md - Features: documentation/issue-providers/msbuild/features.md - Examples: documentation/issue-providers/msbuild/examples.md + - API: https://cakebuild.net/extensions/cake-issues-msbuild" target="_blank - Sarif: - documentation/issue-providers/sarif/index.md - Features: documentation/issue-providers/sarif/features.md + - API: https://cakebuild.net/extensions/cake-issues-sarif" target="_blank - Terraform: - documentation/issue-providers/terraform/index.md - Features: documentation/issue-providers/terraform/features.md + - API: https://cakebuild.net/extensions/cake-issues-terraform" target="_blank - Report Formats: - documentation/report-formats/index.md - Console: - documentation/report-formats/console/index.md - Features: documentation/report-formats/console/features.md - Examples: documentation/report-formats/console/examples.md + - API: https://cakebuild.net/extensions/cake-issues-reporting-console" target="_blank - Generic: - documentation/report-formats/generic/index.md - Features: documentation/report-formats/generic/features.md @@ -200,10 +209,12 @@ nav: - HTML DevExtreme Data Grid: documentation/report-formats/generic/templates/htmldxdatagrid.md - HTML Data Table: documentation/report-formats/generic/templates/htmldatatable.md - HTML Diagnostic: documentation/report-formats/generic/templates/htmldiagnostic.md + - API: https://cakebuild.net/extensions/cake-issues-reporting-generic" target="_blank - Sarif: - documentation/report-formats/sarif/index.md - Features: documentation/report-formats/sarif/features.md - Examples: documentation/report-formats/sarif/examples.md + - API: https://cakebuild.net/extensions/cake-issues-reporting-sarif" target="_blank - Pull Request Systems: - documentation/pull-request-systems/index.md - AppVeyor: @@ -213,6 +224,7 @@ nav: - documentation/pull-request-systems/appveyor/examples/index.md - Writing Messages To AppVeyor: documentation/pull-request-systems/appveyor/examples/write-messages.md - GitHub Pull Request Integration: documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md + - API: https://cakebuild.net/extensions/cake-issues-pullrequests-appveyor" target="_blank - Azure DevOps: - documentation/pull-request-systems/azure-devops/index.md - Features: documentation/pull-request-systems/azure-devops/features.md @@ -222,12 +234,14 @@ nav: - Using With Pull Request ID: documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md - Using With Repository Remote URL And Source Branch Name: documentation/pull-request-systems/azure-devops/examples/repository-information.md - Using With Azure Pipelines: documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md + - API: https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops" target="_blank - GitHub Actions: - documentation/pull-request-systems/github-actions/index.md - Features: documentation/pull-request-systems/github-actions/features.md - Examples: - documentation/pull-request-systems/github-actions/examples/index.md - Create annotations in GitHub Actions: documentation/pull-request-systems/github-actions/examples/write-annotations.md + - API: https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions" target="_blank - How To Develop: - Extending: - documentation/extending/index.md @@ -255,5 +269,5 @@ nav: - Resources: - Blog Posts: documentation/resources/blog-posts.md - Presentations: documentation/resources/presentations.md + - API: api.md - Release Notes: https://github.com/cake-contrib/Cake.Issues/releases" target="_blank - - API: https://cakebuild.net/extensions/cake-issues/" target="_blank \ No newline at end of file From ab7c1cbb22f7d7b94435228f38d52fc4f0dee5a7 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 17:36:09 +0100 Subject: [PATCH 141/201] Add blog post for 5.0.0 release (#876) --- .../2024-12-02-cake-issues-v5.0.0-released.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md diff --git a/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md b/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md new file mode 100644 index 000000000..1d76dddf5 --- /dev/null +++ b/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md @@ -0,0 +1,48 @@ +--- +title: Cake Issues v5.0.0 Released +date: 2024-12-02 +categories: + - Release Notes +--- + +Cake Issues version 5.0.0 has been released. +This is a major release, containing breaking changes beside bringing new features and bug fixes across all addins. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Support for Cake 5.0 + +All addins have been updated to support Cake 5.x. + +Target framework have been updated to .NET 8 and .NET 9 to be in line with Cake. + +## Improvements for Cake Frosting + +`Cake.Frosting.Issues.PullRequests.AzureDevOps` now references `Cake.Frosting.AzureDevOps`, +a version of `Cake.AzureDevOps`, optimized for Cake Frosting. + +Instead of shipping client assemblies to access Azure DevOps as part of `Cake.AzureDevOps`, +`Cake.Frosting.AzureDevOps` references the corresponding NuGet packages, which for example +allows to control version of the libraries used. + +## Security improvements + +Transitive dependencies which contain known security vulnerabilities have been updated to +newer versions where the vulnerabilities are fixed. + +## Updating from previous versions + +Cake.Issues 5.0.0 is a breaking release, which means that there is a small change that changes to your +build script are required. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.0) From d9b5f4a7502cdc43b776630828dc90335eb644ae Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 18:03:28 +0100 Subject: [PATCH 142/201] Use task lists for report template features (#877) --- .../generic/templates/htmldatatable.md | 12 ++++++------ .../generic/templates/htmldiagnostic.md | 4 ++-- .../generic/templates/htmldxdatagrid.md | 18 +++++++++--------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldatatable.md b/docs/docs/documentation/report-formats/generic/templates/htmldatatable.md index f64d900be..c475b3d0f 100644 --- a/docs/docs/documentation/report-formats/generic/templates/htmldatatable.md +++ b/docs/docs/documentation/report-formats/generic/templates/htmldatatable.md @@ -10,12 +10,12 @@ Template for a HTML report containing a rich data table view with sorting and se ## Features -* Separate table for issues of each issue provider. -* Table with `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message`. -* Each column sortable by user. -* Paged table with possibility for user to change number of entries per page. -* Client-side full text search. -* No internet access required for displaying. +- [x] Separate table for issues of each issue provider. +- [x] Table with `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message`. +- [x] Each column sortable by user. +- [x] Paged table with possibility for user to change number of entries per page. +- [x] Client-side full text search. +- [x] No internet access required for displaying. ## Requirements diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic.md b/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic.md index d83278ba6..e76ceb63d 100644 --- a/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic.md +++ b/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic.md @@ -9,8 +9,8 @@ Template for a HTML report containing a list of all issues with all properties. ## Features -* Unstyled table listing all properties of [IIssue](https://cakebuild.net/api/Cake.Issues/IIssue/){target="_blank"} -* No internet access required for displaying. +- [x] Unstyled table listing all properties of [IIssue](https://cakebuild.net/api/Cake.Issues/IIssue/){target="_blank"} +- [x] No internet access required for displaying. ## Requirements diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid.md b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid.md index 21ff714e6..b42dcf578 100644 --- a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid.md +++ b/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid.md @@ -9,15 +9,15 @@ Template for a HTML report containing a rich data grid with sorting, filtering, ## Features -* Table with `Provider`, `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message` by default. -* Support for grouping by multiple columns by user. -* Total number of issues by each group level. -* Each column sortable by user. -* Data can be filtered by any column by user. -* Paged view. -* Client-side full text search. -* Client-side export to Microsoft Excel or PDF. -* Fully customizable through [options](#options). +- [x] Table with `Provider`, `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message` by default. +- [x] Support for grouping by multiple columns by user. +- [x] Total number of issues by each group level. +- [x] Each column sortable by user. +- [x] Data can be filtered by any column by user. +- [x] Paged view. +- [x] Client-side full text search. +- [x] Client-side export to Microsoft Excel or PDF. +- [x] Fully customizable through [options](#options). ## Requirements From ab2e13cd4788a5e6b72604bc91fd81cf0b509258 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 19:03:04 +0100 Subject: [PATCH 143/201] Add news entry for Cake Issues 4.0 (#878) --- .../2023-12-23-cake-issues-v4.0.0-released.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md diff --git a/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md b/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md new file mode 100644 index 000000000..9af6563ee --- /dev/null +++ b/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md @@ -0,0 +1,40 @@ +--- +title: Cake Issues v4.0.0 Released +date: 2023-12-23 +categories: + - Release Notes +--- + +Cake Issues version 4.0.0 has been released. +This is a major release, containing breaking changes beside bringing new features and bug fixes across all addins. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Support for Cake 4.0 + +All addins have been updated to support Cake 4.x. + +Target framework have been updated to .NET 6, .NET 7 and .NET 8 to be in line with Cake. + +## Switch to System.Text.Json for serialization + +For serialization / deserialization of issues [LitJson](https://litjson.net/){target="_blank"} was used internally. +With Cake.Issues 4.0 internal code has been changed to use System.Text.Json classes. + +The change should not have any impact for users. + +## Updating from previous versions + +While Cake.Issues 4.0.0 is a breaking release, there are no breaking changes beside the update to Cake 4.x and +the changes to target framework version. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.0.0) From c94322507f6e80494c5ed9b5a79ed4c44ff5f033 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 19:59:59 +0100 Subject: [PATCH 144/201] Add blog post about alignment of addin lifecycle (#879) --- .../posts/2024-01-14-align-addin-lifecycle.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md diff --git a/docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md b/docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md new file mode 100644 index 000000000..013190781 --- /dev/null +++ b/docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md @@ -0,0 +1,23 @@ +--- +title: Alignment of addin lifecycles +date: 2024-01-14 +categories: + - Announcements +--- + +Cake Issues has a [modular architecture] consisting of multiple addins. +Historically every addin had its own independent release lifecycle. +Starting with the next release work will begin to have all addins share the same release lifecycle. + + + +When Cake Issues started all three core addins (`Cake.Issues`, `Cake.Issues.Reporting` and `Cake.Issues.PullRequsts`) +and every issue provider, report format and pull request system addin were released on their own schedule, +allowing fast iterations of individual components. +With the [release of Cake Issues 1.0](2021-07-28-cake-issues-v1.0.0-released.md#simplified-release-process) the +release lifecycle of the three core addins have been aligned, resulting in a simplified release process. + +Starting with the next release we'll begin to move also the remaining issue provider, report format and +pull request system addins into the main Cake Issues repository and have them released together with the core addins. + +[modular architecture]: ../../documentation/how-cake-issues-works.md From 96099b8312c5626cd82ed76e314ff377e4242610 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 20:15:59 +0100 Subject: [PATCH 145/201] Introduce "New Addin" news category (#880) --- docs/docs/blog/posts/2020-09-27-github-actions-addin.md | 2 +- docs/docs/blog/posts/2021-07-27-terraform-addin.md | 2 +- docs/docs/blog/posts/2021-08-29-console-addin.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/docs/blog/posts/2020-09-27-github-actions-addin.md b/docs/docs/blog/posts/2020-09-27-github-actions-addin.md index 936d495c2..dce8f9238 100644 --- a/docs/docs/blog/posts/2020-09-27-github-actions-addin.md +++ b/docs/docs/blog/posts/2020-09-27-github-actions-addin.md @@ -2,7 +2,7 @@ title: New GitHub Actions addin date: 2020-09-27 categories: - - Release Notes + - New Addin --- A new [Cake.Issues.PullRequest.GitHubActions addin] has been released which brings integration with GitHub Actions and GitHub pull requests. diff --git a/docs/docs/blog/posts/2021-07-27-terraform-addin.md b/docs/docs/blog/posts/2021-07-27-terraform-addin.md index 0f561888f..5aee0e812 100644 --- a/docs/docs/blog/posts/2021-07-27-terraform-addin.md +++ b/docs/docs/blog/posts/2021-07-27-terraform-addin.md @@ -2,7 +2,7 @@ title: New addin for Terraform support date: 2021-07-27 categories: - - Release Notes + - New Addin --- A new [Cake.Issues.Terraform addin] has been released which adds support for reading issues from Terraform `validate` command.. diff --git a/docs/docs/blog/posts/2021-08-29-console-addin.md b/docs/docs/blog/posts/2021-08-29-console-addin.md index 7f20ce3c8..dd2c52299 100644 --- a/docs/docs/blog/posts/2021-08-29-console-addin.md +++ b/docs/docs/blog/posts/2021-08-29-console-addin.md @@ -2,7 +2,7 @@ title: New addin for printing issues to console date: 2021-08-29 categories: - - Release Notes + - New Addin --- A new [Cake.Issues.Reporting.Console addin] has been released which allows to output issues to the console. From d3880dee6a4c3414a0797b34453868e4997276ca Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 20:36:34 +0100 Subject: [PATCH 146/201] Add blog post for 4.1.0 release (#881) --- .../2024-02-21-cake-issues-v4.1.0-released.md | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md diff --git a/docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md b/docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md new file mode 100644 index 000000000..4c8abe036 --- /dev/null +++ b/docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md @@ -0,0 +1,54 @@ +--- +title: Cake Issues v4.1.0 Released +date: 2024-02-21 +categories: + - Release Notes +--- + +Cake Issues version 4.1.0 has been released with improvements for Cake Frosting and support for latest MsBuild binary log format. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [christianbumann](https://github.com/christianbumann){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Improvement for Cake Frosting + +[Cake.Frosting.Issues.Reporting]{target="_blank"} and [Cake.Frosting.Issues.PullRequests]{target="_blank"} have been released +as optimized version of the `Cake.Issues.Reporting` and `Cake.Issues.PullRequests` for Cake Frosting. + +These addins come with a dependency to the core `Cake.Issues` addin, allowing it to be consumed as transitive dependency. + +## Support for MsBuild binary logs version 18 + +Support for binary logs in version 18 has been added to `Cake.Issues.MsBuild`. + +## Alignment of release lifecycle + +As announced in [Alignment of addin lifecycles](2024-01-14-align-addin-lifecycle.md) work as started to move +addins into the main Cake Issues repository. + +Starting with this release the following addins will be released together with the core addins: + +* Cake.Issues.DocFx +* Cake.Issues.EsLint +* Cake.Issues.MsBuild +* Cake.Issues.InspectCode +* Cake.Issues.Markdownlint + +## Updating from previous versions + +Cake.Issues 4.1.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.1.0){target="_blank"} + +[Cake.Frosting.Issues.Reporting]: https://www.nuget.org/packages/Cake.Frosting.Issues.Reporting +[Cake.Frosting.Issues.PullRequests]: https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests From 9260aa7ed3b6ac3a5af76383e5624146bce66cb2 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 20:53:22 +0100 Subject: [PATCH 147/201] Open external links in new tab (#882) --- .../posts/2020-09-27-github-actions-addin.md | 2 +- .../2021-07-28-cake-issues-v1.0.0-released.md | 14 ++++---- ...8-04-cake-issues-recipe-v1.0.0-released.md | 12 +++---- ...8-11-cake-issues-recipe-v1.1.0-released.md | 4 +-- ...8-19-cake-issues-recipe-v1.2.0-released.md | 2 +- ...1-08-31-cake-issues-markdownlint-v1.1.0.md | 4 +-- ...05-cake-issues-reporting-0-3-0-released.md | 2 +- .../2022-12-10-cake-issues-v2.0.0-released.md | 32 ++++++++--------- .../2023-07-22-cake-issues-v3.0.0-released.md | 36 +++++++++---------- ...8-16-cake-issues-recipe-v3.1.0-released.md | 4 +-- .../2023-12-23-cake-issues-v4.0.0-released.md | 2 +- .../2024-12-02-cake-issues-v5.0.0-released.md | 2 +- 12 files changed, 58 insertions(+), 58 deletions(-) diff --git a/docs/docs/blog/posts/2020-09-27-github-actions-addin.md b/docs/docs/blog/posts/2020-09-27-github-actions-addin.md index dce8f9238..2af5ba672 100644 --- a/docs/docs/blog/posts/2020-09-27-github-actions-addin.md +++ b/docs/docs/blog/posts/2020-09-27-github-actions-addin.md @@ -18,7 +18,7 @@ bringing first class integration for GitHub pull requests to Cake.Issues: ![Pull request integration](../../documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png "Pull request integration") -This integration was [first released in Cake.Issues.Recipe 0.4.2] and has now been moved to its own addin, which can also be used outside of +This integration was [first released in Cake.Issues.Recipe 0.4.2]{target="_blank"} and has now been moved to its own addin, which can also be used outside of Cake.Issues.Recipe. [Cake.Issues.PullRequest.GitHubActions addin]: ../../documentation/pull-request-systems/github-actions/index.md diff --git a/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md b/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md index ad658977b..f6f32cdc2 100644 --- a/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md +++ b/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md @@ -30,7 +30,7 @@ All addins have been updated to support Cake 1.x. ## Support for Cake Frosting -All addins can be used with [Cake Frosting]. +All addins can be used with [Cake Frosting]{target="_blank"}. Cake Issues addins have always been self-contained, shipping with all required dependencies, to provide the best user experience. While this approach makes sense for Cake script runners, it makes things more complex than required when running under [Cake Frosting]. @@ -38,10 +38,10 @@ This is especially true for the [Cake.Issues.Reporting.Generic addin], which use It was therefore decided to release separate versions of the Cake.Issues.Reporting.Generic addin for the different script runners: -* [Cake.Issues.Reporting.Generic]: The addin packaged in a self-contained NuGet package for use with Cake script runners -* [Cake.Frosting.Issues.Reporting.Generic]: The addin packaged in a NuGet package containing dependencies for use with [Cake Frosting] +* [Cake.Issues.Reporting.Generic]{target="_blank"}: The addin packaged in a self-contained NuGet package for use with Cake script runners +* [Cake.Frosting.Issues.Reporting.Generic]{target="_blank"}: The addin packaged in a NuGet package containing dependencies for use with [Cake Frosting] -[Cake.Frosting.Issues.Reporting.Generic] has the additional benefit for the user that it gives the user full control +[Cake.Frosting.Issues.Reporting.Generic]{target="_blank"} has the additional benefit for the user that it gives the user full control of what exact version of dependencies should be used. In the future more Cake Issues addins might be released in Frosting specific packages. @@ -57,7 +57,7 @@ These kind of information can now be stored in the `IIssue.AdditionalInformation ## New provider type property -While there are aliases to get provider type name (e.g. [MsBuildIssuesProviderTypeName]), this information was in previous versions +While there are aliases to get provider type name (e.g. [MsBuildIssuesProviderTypeName]{target="_blank"}), this information was in previous versions not available through the `IIssueProvider` interface. There is a new `IIssueProvider.ProviderType` property which can be used to retrieve the provider type. @@ -71,8 +71,8 @@ A new PDF export has been added to the `HtmlDxDataGrid` template of the `Cake.Is Starting with Cake Issues 1.0.0 the three core addins `Cake.Issues`, `Cake.Issues.PullRequests` and `Cake.Issues.Reporting` will be always released together. -For that source code for the addin has been merged in the [Cake.Issues repository]. -Please open any issues related to any of the core addins in the [Cake.Issues issue tracker]. +For that source code for the addin has been merged in the [Cake.Issues repository]{target="_blank"}. +Please open any issues related to any of the core addins in the [Cake.Issues issue tracker]{target="_blank"}. [Cake.Issues repository]: https://github.com/cake-contrib/Cake.Issues [Cake.Issues issue tracker]: https://github.com/cake-contrib/Cake.Issues/issues diff --git a/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md b/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md index 687ce9b0f..5ba455672 100644 --- a/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md +++ b/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md @@ -31,10 +31,10 @@ See [announcement for release 1.0 of Cake.Issues addins] for features added in t ## Support for Cake Frosting -Additionally to the existing [Cake.Issues.Recipe] package, which works fine for Cake script runners, there's a new -[Cake.Frosting.Issues.Recipe] package suitable for builds using [Cake Frosting]. +Additionally to the existing [Cake.Issues.Recipe]{target="_blank"} package, which works fine for Cake script runners, there's a new +[Cake.Frosting.Issues.Recipe]{target="_blank"} package suitable for builds using [Cake Frosting]{target="_blank"}. -See [Using Cake.Frosting.Issues.Recipe] for an example. +See [Using Cake.Frosting.Issues.Recipe]{target="_blank"} for an example. [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe/ @@ -43,10 +43,10 @@ See [Using Cake.Frosting.Issues.Recipe] for an example. ## Support for environments not compatible with Cake.Git addin -In previous versions Cake.Issues recipes had used [Cake.Git addin] to determine state of the Git repository. -While this works in most cases, there are some environments where [Cake.Git addin] currently does not work. +In previous versions Cake.Issues recipes had used [Cake.Git addin]{target="_blank"} to determine state of the Git repository. +While this works in most cases, there are some environments where [Cake.Git addin]{target="_blank"} currently does not work. -Starting with this version it is now possible to define if [Cake.Git addin] or Git CLI should be used. +Starting with this version it is now possible to define if [Cake.Git addin]{target="_blank"} or Git CLI should be used. See [Git repository information configuration](../../documentation/recipe/configuration.md#git-repository-information) for details. diff --git a/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md b/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md index a2ce616db..f41f04da1 100644 --- a/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md +++ b/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md @@ -22,7 +22,7 @@ People working on this release: This version of Cake Issues recipes adds a new `FullIssuesReportSettings` configuration parameter which allows to customize the generated issue report. -See [Report creation parameters] for details. +See [Report creation parameters]{target="_blank"} for details. The following example enables exporting of the report when using Cake.Issues.Recipe: @@ -42,7 +42,7 @@ context.Parameters.Reporting.FullIssuesReportSettings `Cake.Git` has been updated to version 1.1.0 which comes with an updated version of LibGit2Sharp which adds support for Ubuntu 20. -See [Cake.Git 1.1.0 release notes] for details. +See [Cake.Git 1.1.0 release notes]{target="_blank"} for details. ## Updating from previous versions diff --git a/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md b/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md index 1e7736dea..972326b73 100644 --- a/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md +++ b/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md @@ -10,7 +10,7 @@ Version 1.2.0 of Cake Issues recipes have been released adding support to custom This post shows the highlights included in this release. -For details see [full release notes]. +For details see [full release notes]{target="_blank"}. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). ❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ diff --git a/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md b/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md index a80671717..7963ebcea 100644 --- a/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md +++ b/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md @@ -22,11 +22,11 @@ People working on this release: ## Support for markdownlint-cli JSON format Since version 0.28.0 markdownlint-cli supports a `--json` option to output result in JSON format. -This version adds support for this format through the [MarkdownlintCliJsonLogFileFormat] alias. +This version adds support for this format through the [MarkdownlintCliJsonLogFileFormat]{target="_blank"} alias. ## Provide column information -This release of Cake.Issues.Markdownlint enhances the [MarkdownlintCliLogFileFormat] to provide column information +This release of Cake.Issues.Markdownlint enhances the [MarkdownlintCliLogFileFormat]{target="_blank"} to provide column information if reported by markdownlint. ## Recipe packages diff --git a/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md b/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md index f075a75eb..ead0e76ff 100644 --- a/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md +++ b/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md @@ -33,7 +33,7 @@ Provider report is now rendered in different colors for the individual bars, mak ## Errata 0.6.0 -Underlying [Errata] library has been updated to 0.6.0, containing additional bug fixes and rendering improvements. +Underlying [Errata]{target="_blank"} library has been updated to 0.6.0, containing additional bug fixes and rendering improvements. ## Updating from previous versions diff --git a/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md b/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md index 7f22b5f27..274a8c8bf 100644 --- a/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md +++ b/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md @@ -28,7 +28,7 @@ People working on this release: All addins have been updated to support Cake 2.x. Target framework have been updated to .NET Core 3.1, .NET 5 and .NET 6 to be in line with Cake. -See [Sunsetting of .NET Framework and .NET Core runners in Cake 2.0] for details. +See [Sunsetting of .NET Framework and .NET Core runners in Cake 2.0]{target="_blank"} for details. ## Support for MsBuild binary logs version 9 @@ -50,20 +50,20 @@ This section documents the most common changes which might be required: For details see release notes of the individual addins: -* [Cake.Issues 2.0.0](https://github.com/cake-contrib/Cake.Issues/releases/tag/2.0.0) -* [Cake.Issues.DocFx 2.0.0](https://github.com/cake-contrib/Cake.Issues.DocFx/releases/tag/2.0.0) -* [Cake.Issues.DupFinder 2.0.0](https://github.com/cake-contrib/Cake.Issues.DupFinder/releases/tag/2.0.0) -* [Cake.Issues.EsLint 2.0.0](https://github.com/cake-contrib/Cake.Issues.EsLint/releases/tag/2.0.0) -* [Cake.Issues.GitRepository 2.0.0](https://github.com/cake-contrib/Cake.Issues.GitRepository/releases/tag/2.0.0) -* [Cake.Issues.InspectCode 2.0.0](https://github.com/cake-contrib/Cake.Issues.InspectCode/releases/tag/2.0.0) -* [Cake.Issues.Markdownlint 2.0.0](https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/2.0.0) -* [Cake.Issues.MsBuild 2.0.0](https://github.com/cake-contrib/Cake.Issues.MsBuild/releases/tag/2.0.0) -* [Cake.Issues.Terraform 2.0.0](https://github.com/cake-contrib/Cake.Issues.Terraform/releases/tag/2.0.0) -* [Cake.Issues.Reporting.Console 2.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Console/releases/tag/2.0.0) -* [Cake.Issues.Reporting.Generic 2.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/releases/tag/2.0.0) -* [Cake.Issues.Reporting.Sarif 2.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Sarif/releases/tag/2.0.0) -* [Cake.Issues.PullRequests.AppVeyor 2.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AppVeyor/releases/tag/2.0.0) -* [Cake.Issues.PullRequests.AzureDevOps 2.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AzureDevOps/releases/tag/2.0.0) -* [Cake.Issues.PullRequests.GitHubActions 2.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.GitHubActions/releases/tag/2.0.0) +* [Cake.Issues 2.0.0](https://github.com/cake-contrib/Cake.Issues/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.DocFx 2.0.0](https://github.com/cake-contrib/Cake.Issues.DocFx/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.DupFinder 2.0.0](https://github.com/cake-contrib/Cake.Issues.DupFinder/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.EsLint 2.0.0](https://github.com/cake-contrib/Cake.Issues.EsLint/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.GitRepository 2.0.0](https://github.com/cake-contrib/Cake.Issues.GitRepository/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.InspectCode 2.0.0](https://github.com/cake-contrib/Cake.Issues.InspectCode/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.Markdownlint 2.0.0](https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.MsBuild 2.0.0](https://github.com/cake-contrib/Cake.Issues.MsBuild/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.Terraform 2.0.0](https://github.com/cake-contrib/Cake.Issues.Terraform/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.Reporting.Console 2.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Console/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.Reporting.Generic 2.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.Reporting.Sarif 2.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Sarif/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.PullRequests.AppVeyor 2.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AppVeyor/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.PullRequests.AzureDevOps 2.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AzureDevOps/releases/tag/2.0.0){target="_blank"} +* [Cake.Issues.PullRequests.GitHubActions 2.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.GitHubActions/releases/tag/2.0.0){target="_blank"} [Sunsetting of .NET Framework and .NET Core runners in Cake 2.0]: https://cakebuild.net/blog/2021/10/sunsetting-runners diff --git a/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md b/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md index 0e8218054..ad948b74e 100644 --- a/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md +++ b/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md @@ -33,7 +33,7 @@ Support for binary logs in version 16 has been added to `Cake.Issues.MsBuild`. ## Out of the box support for more rule links -`Cake.Issues.MsBuild` now will automatically provide links for [Roslynator] and [SonarLint] rules. +`Cake.Issues.MsBuild` now will automatically provide links for [Roslynator]{target="_blank"} and [SonarLint]{target="_blank"} rules. Links for `CA` rules have updated to link to `learn.microsoft.com`. ## Updating from previous versions @@ -45,28 +45,28 @@ This section documents the most common changes which might be required: * `StringPathExtensions.IsValideRepositoryFilePath` has been renamed to `StringPathExtensions.IsValidRepositoryFilePath` * `BaseRuleDescription.Rule` has been made immutable after initialization * Cake.Issues.Recipe - * Since [Dupfinder has been sunsetted] end of 2021, out of the box support for it has been removed from Cake Issues Recipe + * Since [Dupfinder has been sunsetted]{target="_blank"} end of 2021, out of the box support for it has been removed from Cake Issues Recipe and `DupFinderLogFilePaths` is no longer available. To keep using DupFinder you need to manually add `Cake.Issues.DupFinder` and add issues using the `AddIssues` method. For details see release notes of the individual addins: -* [Cake.Issues.Recipe 3.0.0](https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/3.0.0) -* [Cake.Issues 3.0.0](https://github.com/cake-contrib/Cake.Issues/releases/tag/3.0.0) -* [Cake.Issues.DocFx 3.0.0](https://github.com/cake-contrib/Cake.Issues.DocFx/releases/tag/3.0.0) -* [Cake.Issues.DupFinder 3.0.0](https://github.com/cake-contrib/Cake.Issues.DupFinder/releases/tag/3.0.0) -* [Cake.Issues.EsLint 3.0.0](https://github.com/cake-contrib/Cake.Issues.EsLint/releases/tag/3.0.0) -* [Cake.Issues.GitRepository 3.0.0](https://github.com/cake-contrib/Cake.Issues.GitRepository/releases/tag/3.0.0) -* [Cake.Issues.InspectCode 3.0.0](https://github.com/cake-contrib/Cake.Issues.InspectCode/releases/tag/3.0.0) -* [Cake.Issues.Markdownlint 3.0.0](https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/3.0.0) -* [Cake.Issues.MsBuild 3.0.0](https://github.com/cake-contrib/Cake.Issues.MsBuild/releases/tag/3.0.0) -* [Cake.Issues.Terraform 3.0.0](https://github.com/cake-contrib/Cake.Issues.Terraform/releases/tag/3.0.0) -* [Cake.Issues.Reporting.Console 3.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Console/releases/tag/3.0.0) -* [Cake.Issues.Reporting.Generic 3.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/releases/tag/3.0.0) -* [Cake.Issues.Reporting.Sarif 3.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Sarif/releases/tag/3.0.0) -* [Cake.Issues.PullRequests.AppVeyor 3.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AppVeyor/releases/tag/3.0.0) -* [Cake.Issues.PullRequests.AzureDevOps 3.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AzureDevOps/releases/tag/3.0.0) -* [Cake.Issues.PullRequests.GitHubActions 3.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.GitHubActions/releases/tag/3.0.0) +* [Cake.Issues.Recipe 3.0.0](https://github.com/cake-contrib/Cake.Issues.Recipe/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues 3.0.0](https://github.com/cake-contrib/Cake.Issues/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.DocFx 3.0.0](https://github.com/cake-contrib/Cake.Issues.DocFx/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.DupFinder 3.0.0](https://github.com/cake-contrib/Cake.Issues.DupFinder/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.EsLint 3.0.0](https://github.com/cake-contrib/Cake.Issues.EsLint/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.GitRepository 3.0.0](https://github.com/cake-contrib/Cake.Issues.GitRepository/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.InspectCode 3.0.0](https://github.com/cake-contrib/Cake.Issues.InspectCode/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.Markdownlint 3.0.0](https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.MsBuild 3.0.0](https://github.com/cake-contrib/Cake.Issues.MsBuild/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.Terraform 3.0.0](https://github.com/cake-contrib/Cake.Issues.Terraform/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.Reporting.Console 3.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Console/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.Reporting.Generic 3.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.Reporting.Sarif 3.0.0](https://github.com/cake-contrib/Cake.Issues.Reporting.Sarif/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.PullRequests.AppVeyor 3.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AppVeyor/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.PullRequests.AzureDevOps 3.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.AzureDevOps/releases/tag/3.0.0){target="_blank"} +* [Cake.Issues.PullRequests.GitHubActions 3.0.0](https://github.com/cake-contrib/Cake.Issues.PullRequests.GitHubActions/releases/tag/3.0.0){target="_blank"} [Roslynator]: https://josefpihrt.github.io/docs/roslynator/ [SonarLint]: https://www.sonarsource.com/products/sonarlint/ diff --git a/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md b/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md index 2a9458668..2e7a89ab8 100644 --- a/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md +++ b/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md @@ -10,7 +10,7 @@ Version 3.1.0 of Cake Issues recipes have been released adding support for creat This post shows the highlights included in this release. -For details see [full release notes]. +For details see [full release notes]{target="_blank"}. For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). ❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ @@ -26,7 +26,7 @@ This version of Cake Issues recipes adds a new configuration parameter which all See [Report parameters] for details. If running on Azure Pipelines the generated SARIF file is uploaded so that it will be -shown in the [SARIF SAST Scans Tab extension]. +shown in the [SARIF SAST Scans Tab extension]{target="_blank"}. ## Updating from previous versions diff --git a/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md b/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md index 9af6563ee..1fe728a79 100644 --- a/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md +++ b/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md @@ -37,4 +37,4 @@ The change should not have any impact for users. While Cake.Issues 4.0.0 is a breaking release, there are no breaking changes beside the update to Cake 4.x and the changes to target framework version. -For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.0.0) +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.0.0){target="_blank"} diff --git a/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md b/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md index 1d76dddf5..dd378c0cf 100644 --- a/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md +++ b/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md @@ -45,4 +45,4 @@ newer versions where the vulnerabilities are fixed. Cake.Issues 5.0.0 is a breaking release, which means that there is a small change that changes to your build script are required. -For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.0) +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.0){target="_blank"} From de8db8599fa4edd1e0b7b505f735940ffa2ac0f8 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 21:24:39 +0100 Subject: [PATCH 148/201] Add blob post for new Cake.Issues.Sarif addin (#883) --- .../posts/2024-04-14-sarif-issue-provider.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md diff --git a/docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md b/docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md new file mode 100644 index 000000000..e7881d7f6 --- /dev/null +++ b/docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md @@ -0,0 +1,25 @@ +--- +title: New addin for reading SARIF files +date: 2024-04-14 +categories: + - New Addin +--- + +A new [Cake.Issues.Sarif addin] has been released which adds support for reading issues in [SARIF]{target="_blank"} format. + + + +[SARIF]{target="_blank"} is an industry standard format for the output of static analysis tools. +With the introduction of [SARIF]{target="_blank"} support through the [Cake.Issues.Sarif addin] +any tool which can output results in [SARIF]{target="_blank"} format can now be used together with Cake Issues. + +See [Supported Tools] for an updated list of supported tools. + +The addins is available in a version for Cake .NET Tool ([Cake.Issues.Sarif]{target="_blank"}) +and Cake Frosting ([Cake.Frosting.Issues.Sarif]{target="_blank"}). + +[Cake.Issues.Sarif addin]: ../../documentation/issue-providers/sarif/index.md +[SARIF]: https://sarifweb.azurewebsites.net/ +[Supported Tools]: ../../documentation/supported-tools.md +[Cake.Issues.Sarif]: https://www.nuget.org/packages/Cake.Issues.Sarif +[Cake.Frosting.Issues.Sarif]: https://www.nuget.org/packages/Cake.Frosting.Issues.Sarif From bd2569c83d3bf0320b6712edcdc0eae9dc4310a0 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 21:47:07 +0100 Subject: [PATCH 149/201] Add blog post for 4.2.0 release (#884) --- .../2024-04-14-cake-issues-v4.2.0-released.md | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md diff --git a/docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md b/docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md new file mode 100644 index 000000000..cdc90a661 --- /dev/null +++ b/docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md @@ -0,0 +1,77 @@ +--- +title: Cake Issues v4.2.0 Released +date: 2024-04-14 +categories: + - Release Notes +--- + +Cake Issues version 4.2.0 has been released introducing a new issue provider for SARIF compatible files. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## New issue provider for SARIF files + +A new [Cake.Issues.Sarif addin] has been released which adds support for reading issues in [SARIF]{target="_blank"} format. + +See [New addin for reading SARIF files](2024-04-14-sarif-issue-provider.md) for details. + +## Improvement for Cake Frosting + +Optimized versions for Cake Frosting have been released for the following addins: + +* [Cake.Frosting.Issues.DocFx]{target="_blank"} +* [Cake.Frosting.Issues.EsLint]{target="_blank"} +* [Cake.Frosting.Issues.GitRepository]{target="_blank"} +* [Cake.Frosting.Issues.InspectCode]{target="_blank"} +* [Cake.Frosting.Issues.Markdownlint]{target="_blank"} +* [Cake.Frosting.Issues.Terraform]{target="_blank"} +* [Cake.Frosting.Issues.PullRequests.AppVeyor]{target="_blank"} +* [Cake.Frosting.Issues.PullRequests.AzureDevOps]{target="_blank"} +* [Cake.Frosting.Issues.PullRequests.GitHubActions]{target="_blank"} + +These addins come with a dependency to the core addins, allowing the core addins to be consumed as transitive dependencies. + +## Alignment of release lifecycle + +As announced in [Alignment of addin lifecycles](2024-01-14-align-addin-lifecycle.md) work as started to move +addins into the main Cake Issues repository. + +Starting with this release the following addins will be released together with the core addins: + +* Cake.Issues.GitRepository +* Cake.Issues.Terraform +* Cake.Issues.PullRequests.AppVeyor +* Cake.Issues.PullRequests.AzureDevOps +* Cake.Issues.PullRequsts.GitHubActions +* Cake.Issues.Reporting.Console +* Cake.Issues.Reporting.Generic +* Cake.Issues.Reporting.Sarif + +## Updating from previous versions + +Cake.Issues 4.2.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.2.0){target="_blank"} + +[Cake.Issues.Sarif addin]: ../../documentation/issue-providers/sarif/index.md +[SARIF]: https://sarifweb.azurewebsites.net/ +[Cake.Frosting.Issues.DocFx]: https://www.nuget.org/packages/Cake.Frosting.Issues.DocFx +[Cake.Frosting.Issues.EsLint]: https://www.nuget.org/packages/Cake.Frosting.Issues.EsLint +[Cake.Frosting.Issues.GitRepository]: https://www.nuget.org/packages/Cake.Frosting.Issues.GitRepository +[Cake.Frosting.Issues.InspectCode]: https://www.nuget.org/packages/Cake.Frosting.Issues.InspectCode +[Cake.Frosting.Issues.Markdownlint]: https://www.nuget.org/packages/Cake.Frosting.Issues.Markdownlint +[Cake.Frosting.Issues.Terraform]: https://www.nuget.org/packages/Cake.Frosting.Issues.Terraform +[Cake.Frosting.Issues.PullRequests.AppVeyor]: https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests.AppVeyor +[Cake.Frosting.Issues.PullRequests.AzureDevOps]: https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests.AzureDevOps +[Cake.Frosting.Issues.PullRequests.GitHubActions]: https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests.GitHubActions From f194ceb00b349fae0a221533662ba8325edf165a Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 22:01:45 +0100 Subject: [PATCH 150/201] Add blog post for 4.2.1 release (#885) --- .../2024-04-16-cake-issues-v4.2.1-released.md | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md diff --git a/docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md b/docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md new file mode 100644 index 000000000..f7169dacd --- /dev/null +++ b/docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md @@ -0,0 +1,35 @@ +--- +title: Cake Issues v4.2.1 Released +date: 2024-04-16 +categories: + - Release Notes +--- + +Cake Issues version 4.2.1 has been released with compatibility fixes. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Compatibility improvements + +As a side-effect of moving all addins to the central Cake Issues repository, `AssemblyVersion` of every +has been set to the release version. + +Addins are backwards compatible though to latest major version, which was no longer possible with this change. + +This release fixes this by setting the `AssemblyVersion` to the major version (currently `4.0.0`). + +## Updating from previous versions + +Cake.Issues 4.2.1 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.2.1){target="_blank"} From 2e46d5b7d6648d2d1221520ae536ae5025587fd9 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 22:02:05 +0100 Subject: [PATCH 151/201] Fix typo in blog post (#886) --- docs/docs/blog/posts/2021-07-27-terraform-addin.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/blog/posts/2021-07-27-terraform-addin.md b/docs/docs/blog/posts/2021-07-27-terraform-addin.md index 5aee0e812..c4a8381fd 100644 --- a/docs/docs/blog/posts/2021-07-27-terraform-addin.md +++ b/docs/docs/blog/posts/2021-07-27-terraform-addin.md @@ -5,7 +5,7 @@ categories: - New Addin --- -A new [Cake.Issues.Terraform addin] has been released which adds support for reading issues from Terraform `validate` command.. +A new [Cake.Issues.Terraform addin] has been released which adds support for reading issues from Terraform `validate` command. From 1ecfb160ba547d6e60986bd1db07c779b706daf1 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 22:03:15 +0100 Subject: [PATCH 152/201] Add blog post for 4.3.0 release (#887) --- .../2024-04-20-cake-issues-v4.3.0-released.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md diff --git a/docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md b/docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md new file mode 100644 index 000000000..bdc710128 --- /dev/null +++ b/docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md @@ -0,0 +1,30 @@ +--- +title: Cake Issues v4.3.0 Released +date: 2024-04-20 +categories: + - Release Notes +--- + +Cake Issues version 4.3.0 has been released with support for MsBuild binary log format version 20. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Support for MsBuild binary logs version 20 + +Support for binary logs in version 20 has been added to `Cake.Issues.MsBuild`. + +## Updating from previous versions + +Cake.Issues 4.3.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.3.0){target="_blank"} From 67837a03a8507106989e962c1366f25f04cc7b1b Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 22:27:43 +0100 Subject: [PATCH 153/201] Bost news entries down for search (#888) --- docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md | 2 ++ docs/docs/blog/posts/2020-09-19-cake-issues-v0.9.1-released.md | 2 ++ .../blog/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md | 2 ++ docs/docs/blog/posts/2020-09-27-github-actions-addin.md | 2 ++ .../2020-10-09-cake-issues-pullrequests-v0.9.1-released.md | 2 ++ .../posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md | 2 ++ .../blog/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md | 2 ++ docs/docs/blog/posts/2021-07-27-terraform-addin.md | 2 ++ docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md | 2 ++ .../blog/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md | 2 ++ .../blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md | 2 ++ .../blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md | 2 ++ .../blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md | 2 ++ docs/docs/blog/posts/2021-08-29-console-addin.md | 2 ++ .../blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md | 2 ++ .../posts/2021-09-05-cake-issues-reporting-0-3-0-released.md | 2 ++ docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md | 2 ++ docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md | 2 ++ .../blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md | 2 ++ docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md | 2 ++ docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md | 2 ++ docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md | 2 ++ docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md | 2 ++ docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md | 2 ++ docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md | 2 ++ docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md | 2 ++ docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md | 2 ++ docs/docs/blog/posts/2024-12-21-new-website.md | 2 ++ 28 files changed, 56 insertions(+) diff --git a/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md b/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md index ba92a4b0c..7cc72f457 100644 --- a/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md +++ b/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues v0.9.0 Released date: 2020-08-22 categories: - Release Notes +search: + boost: 0.5 --- Cake Issues version 0.9.0 has been released. This is a major release bringing a lot of new features across all addins. diff --git a/docs/docs/blog/posts/2020-09-19-cake-issues-v0.9.1-released.md b/docs/docs/blog/posts/2020-09-19-cake-issues-v0.9.1-released.md index c906d3160..90d050367 100644 --- a/docs/docs/blog/posts/2020-09-19-cake-issues-v0.9.1-released.md +++ b/docs/docs/blog/posts/2020-09-19-cake-issues-v0.9.1-released.md @@ -3,6 +3,8 @@ title: Cake Issues v0.9.1 Released date: 2020-09-19 categories: - Release Notes +search: + boost: 0.5 --- Version 0.9.1 of Cake Issues and Cake.Issues.PullRequests.AzureDevOps have been released. diff --git a/docs/docs/blog/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md b/docs/docs/blog/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md index 088d2b4e0..3958a4f08 100644 --- a/docs/docs/blog/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md +++ b/docs/docs/blog/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md @@ -3,6 +3,8 @@ title: Cake Issues Recipe v0.4.2 released, bringing support for GitHub Actions date: 2020-09-24 categories: - Release Notes +search: + boost: 0.5 --- Version 0.4.2 of Cake Issues Recipe has been released bringing support for GitHub Actions. diff --git a/docs/docs/blog/posts/2020-09-27-github-actions-addin.md b/docs/docs/blog/posts/2020-09-27-github-actions-addin.md index 2af5ba672..63a7c475d 100644 --- a/docs/docs/blog/posts/2020-09-27-github-actions-addin.md +++ b/docs/docs/blog/posts/2020-09-27-github-actions-addin.md @@ -3,6 +3,8 @@ title: New GitHub Actions addin date: 2020-09-27 categories: - New Addin +search: + boost: 0.5 --- A new [Cake.Issues.PullRequest.GitHubActions addin] has been released which brings integration with GitHub Actions and GitHub pull requests. diff --git a/docs/docs/blog/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md b/docs/docs/blog/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md index 4555b3a48..ca4b0b6fb 100644 --- a/docs/docs/blog/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md +++ b/docs/docs/blog/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md @@ -3,6 +3,8 @@ title: Cake Issues PullRequests v0.9.1 Released date: 2020-10-09 categories: - Release Notes +search: + boost: 0.5 --- Version 0.9.1 of Cake.Issues.PullRequests has been released. diff --git a/docs/docs/blog/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md b/docs/docs/blog/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md index a7a4bfabb..cd92da9c9 100644 --- a/docs/docs/blog/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md +++ b/docs/docs/blog/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md @@ -3,6 +3,8 @@ title: Cake Issues MsBuild v0.9.1 Released date: 2020-10-20 categories: - Release Notes +search: + boost: 0.5 --- Version 0.9.1 of MsBuild support for Cake.Issues has been released. diff --git a/docs/docs/blog/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md b/docs/docs/blog/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md index 89fc88980..76c1fd9ce 100644 --- a/docs/docs/blog/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md +++ b/docs/docs/blog/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md @@ -3,6 +3,8 @@ title: Cake Issues Recipe v0.4.4 released, bringing support for ESLint date: 2020-12-01 categories: - Release Notes +search: + boost: 0.5 --- Version 0.4.4 of Cake Issues Recipe has been released bringing support for ESLint. diff --git a/docs/docs/blog/posts/2021-07-27-terraform-addin.md b/docs/docs/blog/posts/2021-07-27-terraform-addin.md index c4a8381fd..37aa62300 100644 --- a/docs/docs/blog/posts/2021-07-27-terraform-addin.md +++ b/docs/docs/blog/posts/2021-07-27-terraform-addin.md @@ -3,6 +3,8 @@ title: New addin for Terraform support date: 2021-07-27 categories: - New Addin +search: + boost: 0.5 --- A new [Cake.Issues.Terraform addin] has been released which adds support for reading issues from Terraform `validate` command. diff --git a/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md b/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md index f6f32cdc2..bb00727d1 100644 --- a/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md +++ b/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues v1.0.0 Released date: 2021-07-28 categories: - Release Notes +search: + boost: 0.5 --- More than 4 years after the [first commit for Cake.Prca](https://github.com/cake-contrib/Cake.Prca/commit/438b3a1a609e5b9cc9e6f8f489a73988f9ed1f4d){target="_blank"}, diff --git a/docs/docs/blog/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md b/docs/docs/blog/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md index 056935dbf..365c78041 100644 --- a/docs/docs/blog/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md +++ b/docs/docs/blog/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md @@ -3,6 +3,8 @@ title: Cake Issues ESLint v1.0.1 Released date: 2021-07-30 categories: - Release Notes +search: + boost: 0.5 --- Version 1.0.1 of ESLint support for Cake.Issues has been released. diff --git a/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md b/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md index 5ba455672..9bf0035bb 100644 --- a/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md +++ b/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues Recipe v1.0.0 Released, bringing support for Cake Frosting date: 2021-08-04 categories: - Release Notes +search: + boost: 0.5 --- Hard on the heels of the [announcement for release 1.0 of Cake.Issues addins], diff --git a/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md b/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md index f41f04da1..ee592513c 100644 --- a/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md +++ b/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues Recipes v1.1.0 released date: 2021-08-11 categories: - Release Notes +search: + boost: 0.5 --- Version 1.1.0 of Cake Issues recipes have been released adding support to customize report generation. diff --git a/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md b/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md index 972326b73..fd16fb8f2 100644 --- a/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md +++ b/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues Recipes v1.2.0 released date: 2021-08-19 categories: - Release Notes +search: + boost: 0.5 --- Version 1.2.0 of Cake Issues recipes have been released adding support to customize issue reporting to pull requests. diff --git a/docs/docs/blog/posts/2021-08-29-console-addin.md b/docs/docs/blog/posts/2021-08-29-console-addin.md index dd2c52299..1b418c6c1 100644 --- a/docs/docs/blog/posts/2021-08-29-console-addin.md +++ b/docs/docs/blog/posts/2021-08-29-console-addin.md @@ -3,6 +3,8 @@ title: New addin for printing issues to console date: 2021-08-29 categories: - New Addin +search: + boost: 0.5 --- A new [Cake.Issues.Reporting.Console addin] has been released which allows to output issues to the console. diff --git a/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md b/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md index 7963ebcea..99a3f51c2 100644 --- a/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md +++ b/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md @@ -3,6 +3,8 @@ title: Cake Issues Markdownlint v1.1.0 Released date: 2021-08-31 categories: - Release Notes +search: + boost: 0.5 --- Version 1.1.0 of Markdownlint support for Cake.Issues has been released. diff --git a/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md b/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md index ead0e76ff..f9213ba9f 100644 --- a/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md +++ b/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md @@ -3,6 +3,8 @@ title: Cake Issues Reporting Console v0.3.0 released, adding support for all Cak date: 2021-09-05 categories: - Release Notes +search: + boost: 0.5 --- Version 0.3.0 of [Cake.Issues.Reporting.Console] has been released. diff --git a/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md b/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md index 274a8c8bf..35a6bce6a 100644 --- a/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md +++ b/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues v2.0.0 Released date: 2022-12-10 categories: - Release Notes +search: + boost: 0.5 --- After several months with beta releases Cake Issues version 2.0.0 has been released. diff --git a/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md b/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md index ad948b74e..1aa7c1fb5 100644 --- a/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md +++ b/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues v3.0.0 Released date: 2023-07-22 categories: - Release Notes +search: + boost: 0.5 --- Cake Issues version 3.0.0 has been released. diff --git a/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md b/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md index 2e7a89ab8..0265dad65 100644 --- a/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md +++ b/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues Recipes v3.1.0 released date: 2023-08-16 categories: - Release Notes +search: + boost: 0.5 --- Version 3.1.0 of Cake Issues recipes have been released adding support for creating of reports in SARIF format. diff --git a/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md b/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md index 1fe728a79..9c89d20f7 100644 --- a/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md +++ b/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues v4.0.0 Released date: 2023-12-23 categories: - Release Notes +search: + boost: 0.5 --- Cake Issues version 4.0.0 has been released. diff --git a/docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md b/docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md index 013190781..7faf43381 100644 --- a/docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md +++ b/docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md @@ -3,6 +3,8 @@ title: Alignment of addin lifecycles date: 2024-01-14 categories: - Announcements +search: + boost: 0.5 --- Cake Issues has a [modular architecture] consisting of multiple addins. diff --git a/docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md b/docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md index 4c8abe036..536ba4f1d 100644 --- a/docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md +++ b/docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues v4.1.0 Released date: 2024-02-21 categories: - Release Notes +search: + boost: 0.5 --- Cake Issues version 4.1.0 has been released with improvements for Cake Frosting and support for latest MsBuild binary log format. diff --git a/docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md b/docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md index cdc90a661..fada06d5d 100644 --- a/docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md +++ b/docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues v4.2.0 Released date: 2024-04-14 categories: - Release Notes +search: + boost: 0.5 --- Cake Issues version 4.2.0 has been released introducing a new issue provider for SARIF compatible files. diff --git a/docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md b/docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md index e7881d7f6..e04295161 100644 --- a/docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md +++ b/docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md @@ -3,6 +3,8 @@ title: New addin for reading SARIF files date: 2024-04-14 categories: - New Addin +search: + boost: 0.5 --- A new [Cake.Issues.Sarif addin] has been released which adds support for reading issues in [SARIF]{target="_blank"} format. diff --git a/docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md b/docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md index f7169dacd..d5a702e7a 100644 --- a/docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md +++ b/docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md @@ -3,6 +3,8 @@ title: Cake Issues v4.2.1 Released date: 2024-04-16 categories: - Release Notes +search: + boost: 0.5 --- Cake Issues version 4.2.1 has been released with compatibility fixes. diff --git a/docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md b/docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md index bdc710128..b0f0fcbe7 100644 --- a/docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md +++ b/docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues v4.3.0 Released date: 2024-04-20 categories: - Release Notes +search: + boost: 0.5 --- Cake Issues version 4.3.0 has been released with support for MsBuild binary log format version 20. diff --git a/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md b/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md index dd378c0cf..06eec1382 100644 --- a/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md +++ b/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md @@ -3,6 +3,8 @@ title: Cake Issues v5.0.0 Released date: 2024-12-02 categories: - Release Notes +search: + boost: 0.5 --- Cake Issues version 5.0.0 has been released. diff --git a/docs/docs/blog/posts/2024-12-21-new-website.md b/docs/docs/blog/posts/2024-12-21-new-website.md index e239016cf..24fc85ca1 100644 --- a/docs/docs/blog/posts/2024-12-21-new-website.md +++ b/docs/docs/blog/posts/2024-12-21-new-website.md @@ -3,6 +3,8 @@ title: New website date: 2024-12-21 categories: - Announcements +search: + boost: 0.5 --- Today a new version of the Cake Issues website has been published. From 127d953094f27c44a53745b06821854fd7e29490 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 22:43:01 +0100 Subject: [PATCH 154/201] Add blog post for 4.3.1 release (#889) --- .../2024-04-25-cake-issues-v4.3.1-released.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 docs/docs/blog/posts/2024-04-25-cake-issues-v4.3.1-released.md diff --git a/docs/docs/blog/posts/2024-04-25-cake-issues-v4.3.1-released.md b/docs/docs/blog/posts/2024-04-25-cake-issues-v4.3.1-released.md new file mode 100644 index 000000000..41b05e2b4 --- /dev/null +++ b/docs/docs/blog/posts/2024-04-25-cake-issues-v4.3.1-released.md @@ -0,0 +1,33 @@ +--- +title: Cake Issues v4.3.1 Released +date: 2024-04-25 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.3.1 has been released bringing bug fixes. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Bugfix for issues across multiple lines + +This release fixes an exception if an issue provider reports an issue across multiple lines +and the end column is before the start column. + +## Updating from previous versions + +Cake.Issues 4.3.1 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.3.1){target="_blank"} From 16d7c650a9b442d92bc39b24155c5c4730b909a1 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 23:06:00 +0100 Subject: [PATCH 155/201] Add blog post for 4.4.0 release (#890) --- .../2024-05-18-cake-issues-v4.4.0-released.md | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 docs/docs/blog/posts/2024-05-18-cake-issues-v4.4.0-released.md diff --git a/docs/docs/blog/posts/2024-05-18-cake-issues-v4.4.0-released.md b/docs/docs/blog/posts/2024-05-18-cake-issues-v4.4.0-released.md new file mode 100644 index 000000000..b810bba3d --- /dev/null +++ b/docs/docs/blog/posts/2024-05-18-cake-issues-v4.4.0-released.md @@ -0,0 +1,46 @@ +--- +title: Cake Issues v4.4.0 Released +date: 2024-05-18 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.4.0 has been released with improvements for Cake Frosting. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Cake Frosting improvements + +Support for implicit usings has been added to the Cake Frosting addins. + +If `enable` is set in a Cake Frosting build, namespaces for Cake Issues addins are +implicitly added, resulting in a similar experience as when using Cake .NET Tool, where aliases can be used directly +without the requirements to first add `using` statements. + +## Filtering improvements in HTML DevExtreme Data Grid template + +The [HTML DevExtreme Data Grid template] now supports search boxes in filter dropdowns. + +See [Header Filter Customization in DataGrid](https://js.devexpress.com/jQuery/New/23_1/#Data-Filtering-UI-Customization){target="_blank"} +for details. + +## Updating from previous versions + +Cake.Issues 4.4.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.4.0){target="_blank"} + +[HTML DevExtreme Data Grid template]: ../../documentation/report-formats/generic/templates/htmldxdatagrid.md From 40b64dbeecd8f7240db7d52a8f259a76e494a6dc Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Mon, 30 Dec 2024 23:29:30 +0100 Subject: [PATCH 156/201] Add blog post for 4.5.0 release (#891) --- .../2024-05-23-cake-issues-v4.5.0-released.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 docs/docs/blog/posts/2024-05-23-cake-issues-v4.5.0-released.md diff --git a/docs/docs/blog/posts/2024-05-23-cake-issues-v4.5.0-released.md b/docs/docs/blog/posts/2024-05-23-cake-issues-v4.5.0-released.md new file mode 100644 index 000000000..674889188 --- /dev/null +++ b/docs/docs/blog/posts/2024-05-23-cake-issues-v4.5.0-released.md @@ -0,0 +1,48 @@ +--- +title: Cake Issues v4.5.0 Released +date: 2024-05-23 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.5.0 has been released adding support for [build breaking]. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [Speeedy01](https://github.com/Speeedy01){target="_blank"} + +## Support for breaking builds + +New [BreakBuildOnIssues aliases]{target="_blank"} have been introduced to fail builds when issues are found. + +See [build breaking] for an example. + +## Possibility to define license for HTML DevExtreme Data Grid + +Starting with version `23.2` DevExtreme no longer comes with a free community license. +[HTML DevExtreme Data Grid template] will stay on version `23.1` for this reason. + +If you have a DevExtreme license you can pass it to the new `DevExtremeLicenseKey` option +and update to a newer version using the `DevExtremeVersion` option. + +## Updating from previous versions + +Cake.Issues 4.5.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.5.0){target="_blank"} + +[build breaking]: ../../documentation/usage/breaking-builds/breaking-builds.md +[BreakBuildOnIssues aliases]: https://cakebuild.net/extensions/cake-issues/#Build-Breaking +[HTML DevExtreme Data Grid template]: ../../documentation/report-formats/generic/templates/htmldxdatagrid.md From ef069454e471d2362b1656e235cf12e781191189 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 00:03:52 +0100 Subject: [PATCH 157/201] Enable generation of social cards (#892) --- .github/workflows/publish-develop-docs.yml | 4 +++- .github/workflows/publish-release-docs.yml | 4 +++- docs/mkdocs.yml | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-develop-docs.yml b/.github/workflows/publish-develop-docs.yml index 72d1a23b6..7f3fc1ece 100644 --- a/.github/workflows/publish-develop-docs.yml +++ b/.github/workflows/publish-develop-docs.yml @@ -23,9 +23,11 @@ jobs: uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 with: python-version: 3.13.1 - - name: Install Dependencies + - name: Install Python Dependencies run: pip install -r requirements.txt working-directory: ./docs + - name: Install Required Libraries + run: apt-get install pngquant - name: Configure Git run: | git config --global user.name "Build Server" diff --git a/.github/workflows/publish-release-docs.yml b/.github/workflows/publish-release-docs.yml index e45606e54..e277377fb 100644 --- a/.github/workflows/publish-release-docs.yml +++ b/.github/workflows/publish-release-docs.yml @@ -22,9 +22,11 @@ jobs: uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 with: python-version: 3.13.1 - - name: Install Dependencies + - name: Install Python Dependencies run: pip install -r requirements.txt working-directory: ./docs + - name: Install Required Libraries + run: apt-get install pngquant - name: Configure Git run: | git config --global user.name "Build Server" diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index d155f3193..6105f0a92 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -71,6 +71,8 @@ plugins: post_readtime: true - macros - search + - social: + enabled: !ENV [GITHUB_ACTIONS, false] - table-reader # Extensions From 30184dbc6981ab903eaa8a665d8b22b7063a99ff Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 00:09:18 +0100 Subject: [PATCH 158/201] Fix doc publishing (#893) --- .github/workflows/publish-develop-docs.yml | 4 +++- .github/workflows/publish-release-docs.yml | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-develop-docs.yml b/.github/workflows/publish-develop-docs.yml index 7f3fc1ece..cf3fa3131 100644 --- a/.github/workflows/publish-develop-docs.yml +++ b/.github/workflows/publish-develop-docs.yml @@ -27,7 +27,9 @@ jobs: run: pip install -r requirements.txt working-directory: ./docs - name: Install Required Libraries - run: apt-get install pngquant + run: | + sudo apt-get update + sudo apt-get install -y pngquant - name: Configure Git run: | git config --global user.name "Build Server" diff --git a/.github/workflows/publish-release-docs.yml b/.github/workflows/publish-release-docs.yml index e277377fb..d1dca5af7 100644 --- a/.github/workflows/publish-release-docs.yml +++ b/.github/workflows/publish-release-docs.yml @@ -26,7 +26,9 @@ jobs: run: pip install -r requirements.txt working-directory: ./docs - name: Install Required Libraries - run: apt-get install pngquant + run: | + sudo apt-get update + sudo apt-get install -y pngquant - name: Configure Git run: | git config --global user.name "Build Server" From 65cff8f0dba7a844a813bb332fa59c02258743b5 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 00:12:42 +0100 Subject: [PATCH 159/201] Ensure Material for MkDocs imaging dependencies are installed (#894) --- docs/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/requirements.txt b/docs/requirements.txt index 3b68eda7d..ac214be75 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -2,4 +2,5 @@ mike==2.1.3 mkdocs==1.6.1 mkdocs-macros-plugin==1.3.7 mkdocs-material==9.5.49 +mkdocs-material[imaging]==9.5.49 mkdocs-table-reader-plugin==3.1.0 \ No newline at end of file From 972509eb4a2c7fc928d6153cebb82c23ab6db7b2 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 00:25:19 +0100 Subject: [PATCH 160/201] Add blog post for 4.5.1 release (#895) --- .../2024-05-24-cake-issues-v4.5.1-released.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 docs/docs/blog/posts/2024-05-24-cake-issues-v4.5.1-released.md diff --git a/docs/docs/blog/posts/2024-05-24-cake-issues-v4.5.1-released.md b/docs/docs/blog/posts/2024-05-24-cake-issues-v4.5.1-released.md new file mode 100644 index 000000000..c00f8037d --- /dev/null +++ b/docs/docs/blog/posts/2024-05-24-cake-issues-v4.5.1-released.md @@ -0,0 +1,33 @@ +--- +title: Cake Issues v4.5.1 Released +date: 2024-05-24 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.5.1 has been released containing bug fixes. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Fixed log output + +This release fixes verbose output of `Cake.Issues.PullRequests` for provider issue limits. + +## Updating from previous versions + +Cake.Issues 4.5.1 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.5.1){target="_blank"} From 606ece3b5da551abf9fa167c9234511753944342 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 00:44:00 +0100 Subject: [PATCH 161/201] Use /news as URL for news section (#896) --- docs/docs/{blog => news}/index.md | 0 .../posts/2020-08-22-cake-issues-v0.9.0-released.md | 0 .../posts/2020-09-19-cake-issues-v0.9.1-released.md | 0 .../{blog => news}/posts/2020-09-24-annotations.png | Bin ...2020-09-24-cake-issues-recipe-v0.4.2-released.md | 0 .../{blog => news}/posts/2020-09-24-log-output.png | Bin .../posts/2020-09-24-pullrequest-integration.png | Bin .../posts/2020-09-27-github-actions-addin.md | 0 ...0-09-cake-issues-pullrequests-v0.9.1-released.md | 0 ...020-10-20-cake-issues-msbuild-v0.9.1-released.md | 0 ...2020-12-01-cake-issues-recipe-v0.4.4-released.md | 0 .../posts/2021-07-27-terraform-addin.md | 0 .../posts/2021-07-28-cake-issues-v1.0.0-released.md | 0 ...2021-07-30-cake-issues-eslint-v1.0.1-released.md | 0 ...2021-08-04-cake-issues-recipe-v1.0.0-released.md | 0 ...2021-08-11-cake-issues-recipe-v1.1.0-released.md | 0 ...2021-08-19-cake-issues-recipe-v1.2.0-released.md | 0 .../posts/2021-08-29-console-addin.md | 0 .../{blog => news}/posts/2021-08-29-diagnostics.png | Bin .../posts/2021-08-29-summary-by-provider.png | Bin .../posts/2021-08-29-summary-of-priorities.png | Bin .../2021-08-31-cake-issues-markdownlint-v1.1.0.md | 0 ...21-09-05-cake-issues-reporting-0-3-0-released.md | 0 .../posts/2021-09-05-summary-by-provider.png | Bin .../posts/2022-12-10-cake-issues-v2.0.0-released.md | 0 .../posts/2023-07-22-cake-issues-v3.0.0-released.md | 0 ...2023-08-16-cake-issues-recipe-v3.1.0-released.md | 0 .../posts/2023-12-23-cake-issues-v4.0.0-released.md | 0 .../posts/2024-01-14-align-addin-lifecycle.md | 0 .../posts/2024-02-21-cake-issues-v4.1.0-released.md | 0 .../posts/2024-04-14-cake-issues-v4.2.0-released.md | 0 .../posts/2024-04-14-sarif-issue-provider.md | 0 .../posts/2024-04-16-cake-issues-v4.2.1-released.md | 0 .../posts/2024-04-20-cake-issues-v4.3.0-released.md | 0 .../posts/2024-04-25-cake-issues-v4.3.1-released.md | 0 .../posts/2024-05-18-cake-issues-v4.4.0-released.md | 0 .../posts/2024-05-23-cake-issues-v4.5.0-released.md | 0 .../posts/2024-05-24-cake-issues-v4.5.1-released.md | 0 .../posts/2024-12-02-cake-issues-v5.0.0-released.md | 0 .../{blog => news}/posts/2024-12-21-new-website.md | 0 docs/mkdocs.yml | 3 ++- 41 files changed, 2 insertions(+), 1 deletion(-) rename docs/docs/{blog => news}/index.md (100%) rename docs/docs/{blog => news}/posts/2020-08-22-cake-issues-v0.9.0-released.md (100%) rename docs/docs/{blog => news}/posts/2020-09-19-cake-issues-v0.9.1-released.md (100%) rename docs/docs/{blog => news}/posts/2020-09-24-annotations.png (100%) rename docs/docs/{blog => news}/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md (100%) rename docs/docs/{blog => news}/posts/2020-09-24-log-output.png (100%) rename docs/docs/{blog => news}/posts/2020-09-24-pullrequest-integration.png (100%) rename docs/docs/{blog => news}/posts/2020-09-27-github-actions-addin.md (100%) rename docs/docs/{blog => news}/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md (100%) rename docs/docs/{blog => news}/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md (100%) rename docs/docs/{blog => news}/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md (100%) rename docs/docs/{blog => news}/posts/2021-07-27-terraform-addin.md (100%) rename docs/docs/{blog => news}/posts/2021-07-28-cake-issues-v1.0.0-released.md (100%) rename docs/docs/{blog => news}/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md (100%) rename docs/docs/{blog => news}/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md (100%) rename docs/docs/{blog => news}/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md (100%) rename docs/docs/{blog => news}/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md (100%) rename docs/docs/{blog => news}/posts/2021-08-29-console-addin.md (100%) rename docs/docs/{blog => news}/posts/2021-08-29-diagnostics.png (100%) rename docs/docs/{blog => news}/posts/2021-08-29-summary-by-provider.png (100%) rename docs/docs/{blog => news}/posts/2021-08-29-summary-of-priorities.png (100%) rename docs/docs/{blog => news}/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md (100%) rename docs/docs/{blog => news}/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md (100%) rename docs/docs/{blog => news}/posts/2021-09-05-summary-by-provider.png (100%) rename docs/docs/{blog => news}/posts/2022-12-10-cake-issues-v2.0.0-released.md (100%) rename docs/docs/{blog => news}/posts/2023-07-22-cake-issues-v3.0.0-released.md (100%) rename docs/docs/{blog => news}/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md (100%) rename docs/docs/{blog => news}/posts/2023-12-23-cake-issues-v4.0.0-released.md (100%) rename docs/docs/{blog => news}/posts/2024-01-14-align-addin-lifecycle.md (100%) rename docs/docs/{blog => news}/posts/2024-02-21-cake-issues-v4.1.0-released.md (100%) rename docs/docs/{blog => news}/posts/2024-04-14-cake-issues-v4.2.0-released.md (100%) rename docs/docs/{blog => news}/posts/2024-04-14-sarif-issue-provider.md (100%) rename docs/docs/{blog => news}/posts/2024-04-16-cake-issues-v4.2.1-released.md (100%) rename docs/docs/{blog => news}/posts/2024-04-20-cake-issues-v4.3.0-released.md (100%) rename docs/docs/{blog => news}/posts/2024-04-25-cake-issues-v4.3.1-released.md (100%) rename docs/docs/{blog => news}/posts/2024-05-18-cake-issues-v4.4.0-released.md (100%) rename docs/docs/{blog => news}/posts/2024-05-23-cake-issues-v4.5.0-released.md (100%) rename docs/docs/{blog => news}/posts/2024-05-24-cake-issues-v4.5.1-released.md (100%) rename docs/docs/{blog => news}/posts/2024-12-02-cake-issues-v5.0.0-released.md (100%) rename docs/docs/{blog => news}/posts/2024-12-21-new-website.md (100%) diff --git a/docs/docs/blog/index.md b/docs/docs/news/index.md similarity index 100% rename from docs/docs/blog/index.md rename to docs/docs/news/index.md diff --git a/docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md b/docs/docs/news/posts/2020-08-22-cake-issues-v0.9.0-released.md similarity index 100% rename from docs/docs/blog/posts/2020-08-22-cake-issues-v0.9.0-released.md rename to docs/docs/news/posts/2020-08-22-cake-issues-v0.9.0-released.md diff --git a/docs/docs/blog/posts/2020-09-19-cake-issues-v0.9.1-released.md b/docs/docs/news/posts/2020-09-19-cake-issues-v0.9.1-released.md similarity index 100% rename from docs/docs/blog/posts/2020-09-19-cake-issues-v0.9.1-released.md rename to docs/docs/news/posts/2020-09-19-cake-issues-v0.9.1-released.md diff --git a/docs/docs/blog/posts/2020-09-24-annotations.png b/docs/docs/news/posts/2020-09-24-annotations.png similarity index 100% rename from docs/docs/blog/posts/2020-09-24-annotations.png rename to docs/docs/news/posts/2020-09-24-annotations.png diff --git a/docs/docs/blog/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md b/docs/docs/news/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md similarity index 100% rename from docs/docs/blog/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md rename to docs/docs/news/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md diff --git a/docs/docs/blog/posts/2020-09-24-log-output.png b/docs/docs/news/posts/2020-09-24-log-output.png similarity index 100% rename from docs/docs/blog/posts/2020-09-24-log-output.png rename to docs/docs/news/posts/2020-09-24-log-output.png diff --git a/docs/docs/blog/posts/2020-09-24-pullrequest-integration.png b/docs/docs/news/posts/2020-09-24-pullrequest-integration.png similarity index 100% rename from docs/docs/blog/posts/2020-09-24-pullrequest-integration.png rename to docs/docs/news/posts/2020-09-24-pullrequest-integration.png diff --git a/docs/docs/blog/posts/2020-09-27-github-actions-addin.md b/docs/docs/news/posts/2020-09-27-github-actions-addin.md similarity index 100% rename from docs/docs/blog/posts/2020-09-27-github-actions-addin.md rename to docs/docs/news/posts/2020-09-27-github-actions-addin.md diff --git a/docs/docs/blog/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md b/docs/docs/news/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md similarity index 100% rename from docs/docs/blog/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md rename to docs/docs/news/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md diff --git a/docs/docs/blog/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md b/docs/docs/news/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md similarity index 100% rename from docs/docs/blog/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md rename to docs/docs/news/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md diff --git a/docs/docs/blog/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md b/docs/docs/news/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md similarity index 100% rename from docs/docs/blog/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md rename to docs/docs/news/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md diff --git a/docs/docs/blog/posts/2021-07-27-terraform-addin.md b/docs/docs/news/posts/2021-07-27-terraform-addin.md similarity index 100% rename from docs/docs/blog/posts/2021-07-27-terraform-addin.md rename to docs/docs/news/posts/2021-07-27-terraform-addin.md diff --git a/docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md b/docs/docs/news/posts/2021-07-28-cake-issues-v1.0.0-released.md similarity index 100% rename from docs/docs/blog/posts/2021-07-28-cake-issues-v1.0.0-released.md rename to docs/docs/news/posts/2021-07-28-cake-issues-v1.0.0-released.md diff --git a/docs/docs/blog/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md b/docs/docs/news/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md similarity index 100% rename from docs/docs/blog/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md rename to docs/docs/news/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md diff --git a/docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md b/docs/docs/news/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md similarity index 100% rename from docs/docs/blog/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md rename to docs/docs/news/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md diff --git a/docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md b/docs/docs/news/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md similarity index 100% rename from docs/docs/blog/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md rename to docs/docs/news/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md diff --git a/docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md b/docs/docs/news/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md similarity index 100% rename from docs/docs/blog/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md rename to docs/docs/news/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md diff --git a/docs/docs/blog/posts/2021-08-29-console-addin.md b/docs/docs/news/posts/2021-08-29-console-addin.md similarity index 100% rename from docs/docs/blog/posts/2021-08-29-console-addin.md rename to docs/docs/news/posts/2021-08-29-console-addin.md diff --git a/docs/docs/blog/posts/2021-08-29-diagnostics.png b/docs/docs/news/posts/2021-08-29-diagnostics.png similarity index 100% rename from docs/docs/blog/posts/2021-08-29-diagnostics.png rename to docs/docs/news/posts/2021-08-29-diagnostics.png diff --git a/docs/docs/blog/posts/2021-08-29-summary-by-provider.png b/docs/docs/news/posts/2021-08-29-summary-by-provider.png similarity index 100% rename from docs/docs/blog/posts/2021-08-29-summary-by-provider.png rename to docs/docs/news/posts/2021-08-29-summary-by-provider.png diff --git a/docs/docs/blog/posts/2021-08-29-summary-of-priorities.png b/docs/docs/news/posts/2021-08-29-summary-of-priorities.png similarity index 100% rename from docs/docs/blog/posts/2021-08-29-summary-of-priorities.png rename to docs/docs/news/posts/2021-08-29-summary-of-priorities.png diff --git a/docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md b/docs/docs/news/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md similarity index 100% rename from docs/docs/blog/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md rename to docs/docs/news/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md diff --git a/docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md b/docs/docs/news/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md similarity index 100% rename from docs/docs/blog/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md rename to docs/docs/news/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md diff --git a/docs/docs/blog/posts/2021-09-05-summary-by-provider.png b/docs/docs/news/posts/2021-09-05-summary-by-provider.png similarity index 100% rename from docs/docs/blog/posts/2021-09-05-summary-by-provider.png rename to docs/docs/news/posts/2021-09-05-summary-by-provider.png diff --git a/docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md b/docs/docs/news/posts/2022-12-10-cake-issues-v2.0.0-released.md similarity index 100% rename from docs/docs/blog/posts/2022-12-10-cake-issues-v2.0.0-released.md rename to docs/docs/news/posts/2022-12-10-cake-issues-v2.0.0-released.md diff --git a/docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md b/docs/docs/news/posts/2023-07-22-cake-issues-v3.0.0-released.md similarity index 100% rename from docs/docs/blog/posts/2023-07-22-cake-issues-v3.0.0-released.md rename to docs/docs/news/posts/2023-07-22-cake-issues-v3.0.0-released.md diff --git a/docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md b/docs/docs/news/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md similarity index 100% rename from docs/docs/blog/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md rename to docs/docs/news/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md diff --git a/docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md b/docs/docs/news/posts/2023-12-23-cake-issues-v4.0.0-released.md similarity index 100% rename from docs/docs/blog/posts/2023-12-23-cake-issues-v4.0.0-released.md rename to docs/docs/news/posts/2023-12-23-cake-issues-v4.0.0-released.md diff --git a/docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md b/docs/docs/news/posts/2024-01-14-align-addin-lifecycle.md similarity index 100% rename from docs/docs/blog/posts/2024-01-14-align-addin-lifecycle.md rename to docs/docs/news/posts/2024-01-14-align-addin-lifecycle.md diff --git a/docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md b/docs/docs/news/posts/2024-02-21-cake-issues-v4.1.0-released.md similarity index 100% rename from docs/docs/blog/posts/2024-02-21-cake-issues-v4.1.0-released.md rename to docs/docs/news/posts/2024-02-21-cake-issues-v4.1.0-released.md diff --git a/docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md b/docs/docs/news/posts/2024-04-14-cake-issues-v4.2.0-released.md similarity index 100% rename from docs/docs/blog/posts/2024-04-14-cake-issues-v4.2.0-released.md rename to docs/docs/news/posts/2024-04-14-cake-issues-v4.2.0-released.md diff --git a/docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md b/docs/docs/news/posts/2024-04-14-sarif-issue-provider.md similarity index 100% rename from docs/docs/blog/posts/2024-04-14-sarif-issue-provider.md rename to docs/docs/news/posts/2024-04-14-sarif-issue-provider.md diff --git a/docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md b/docs/docs/news/posts/2024-04-16-cake-issues-v4.2.1-released.md similarity index 100% rename from docs/docs/blog/posts/2024-04-16-cake-issues-v4.2.1-released.md rename to docs/docs/news/posts/2024-04-16-cake-issues-v4.2.1-released.md diff --git a/docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md b/docs/docs/news/posts/2024-04-20-cake-issues-v4.3.0-released.md similarity index 100% rename from docs/docs/blog/posts/2024-04-20-cake-issues-v4.3.0-released.md rename to docs/docs/news/posts/2024-04-20-cake-issues-v4.3.0-released.md diff --git a/docs/docs/blog/posts/2024-04-25-cake-issues-v4.3.1-released.md b/docs/docs/news/posts/2024-04-25-cake-issues-v4.3.1-released.md similarity index 100% rename from docs/docs/blog/posts/2024-04-25-cake-issues-v4.3.1-released.md rename to docs/docs/news/posts/2024-04-25-cake-issues-v4.3.1-released.md diff --git a/docs/docs/blog/posts/2024-05-18-cake-issues-v4.4.0-released.md b/docs/docs/news/posts/2024-05-18-cake-issues-v4.4.0-released.md similarity index 100% rename from docs/docs/blog/posts/2024-05-18-cake-issues-v4.4.0-released.md rename to docs/docs/news/posts/2024-05-18-cake-issues-v4.4.0-released.md diff --git a/docs/docs/blog/posts/2024-05-23-cake-issues-v4.5.0-released.md b/docs/docs/news/posts/2024-05-23-cake-issues-v4.5.0-released.md similarity index 100% rename from docs/docs/blog/posts/2024-05-23-cake-issues-v4.5.0-released.md rename to docs/docs/news/posts/2024-05-23-cake-issues-v4.5.0-released.md diff --git a/docs/docs/blog/posts/2024-05-24-cake-issues-v4.5.1-released.md b/docs/docs/news/posts/2024-05-24-cake-issues-v4.5.1-released.md similarity index 100% rename from docs/docs/blog/posts/2024-05-24-cake-issues-v4.5.1-released.md rename to docs/docs/news/posts/2024-05-24-cake-issues-v4.5.1-released.md diff --git a/docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md b/docs/docs/news/posts/2024-12-02-cake-issues-v5.0.0-released.md similarity index 100% rename from docs/docs/blog/posts/2024-12-02-cake-issues-v5.0.0-released.md rename to docs/docs/news/posts/2024-12-02-cake-issues-v5.0.0-released.md diff --git a/docs/docs/blog/posts/2024-12-21-new-website.md b/docs/docs/news/posts/2024-12-21-new-website.md similarity index 100% rename from docs/docs/blog/posts/2024-12-21-new-website.md rename to docs/docs/news/posts/2024-12-21-new-website.md diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 6105f0a92..11ed78b24 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -68,6 +68,7 @@ theme: # Plugins plugins: - blog: + blog_dir: news post_readtime: true - macros - search @@ -115,7 +116,7 @@ extra: nav: - Home: index.md - News: - - blog/index.md + - news/index.md - Documentation: - Key concepts: - Overview: documentation/overview.md From 98e0337984b77d851fa8302bc0d538ab9966938f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 31 Dec 2024 09:34:21 +0100 Subject: [PATCH 162/201] Update dependency coverlet.msbuild to 6.0.3 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- src/Cake.Issues.DocFx.Tests/packages.lock.json | 12 ++++++------ src/Cake.Issues.EsLint.Tests/packages.lock.json | 12 ++++++------ .../packages.lock.json | 12 ++++++------ src/Cake.Issues.InspectCode.Tests/packages.lock.json | 12 ++++++------ .../packages.lock.json | 12 ++++++------ src/Cake.Issues.MsBuild.Tests/packages.lock.json | 12 ++++++------ .../packages.lock.json | 12 ++++++------ .../packages.lock.json | 12 ++++++------ .../packages.lock.json | 12 ++++++------ .../packages.lock.json | 12 ++++++------ .../packages.lock.json | 12 ++++++------ .../packages.lock.json | 12 ++++++------ .../packages.lock.json | 12 ++++++------ src/Cake.Issues.Reporting.Tests/packages.lock.json | 12 ++++++------ src/Cake.Issues.Sarif.Tests/packages.lock.json | 12 ++++++------ src/Cake.Issues.Terraform.Tests/packages.lock.json | 12 ++++++------ src/Cake.Issues.Tests/packages.lock.json | 12 ++++++------ src/Directory.Packages.props | 2 +- 18 files changed, 103 insertions(+), 103 deletions(-) diff --git a/src/Cake.Issues.DocFx.Tests/packages.lock.json b/src/Cake.Issues.DocFx.Tests/packages.lock.json index d4c35b04d..14f8346d2 100644 --- a/src/Cake.Issues.DocFx.Tests/packages.lock.json +++ b/src/Cake.Issues.DocFx.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -266,9 +266,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.EsLint.Tests/packages.lock.json b/src/Cake.Issues.EsLint.Tests/packages.lock.json index e5b33424a..6c8fc035f 100644 --- a/src/Cake.Issues.EsLint.Tests/packages.lock.json +++ b/src/Cake.Issues.EsLint.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -266,9 +266,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.GitRepository.Tests/packages.lock.json b/src/Cake.Issues.GitRepository.Tests/packages.lock.json index 2d3fd0208..a7824b2e2 100644 --- a/src/Cake.Issues.GitRepository.Tests/packages.lock.json +++ b/src/Cake.Issues.GitRepository.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -266,9 +266,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.InspectCode.Tests/packages.lock.json b/src/Cake.Issues.InspectCode.Tests/packages.lock.json index 6883b81ef..ffb197903 100644 --- a/src/Cake.Issues.InspectCode.Tests/packages.lock.json +++ b/src/Cake.Issues.InspectCode.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -266,9 +266,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.Markdownlint.Tests/packages.lock.json b/src/Cake.Issues.Markdownlint.Tests/packages.lock.json index c0c0efa67..1fb6a956e 100644 --- a/src/Cake.Issues.Markdownlint.Tests/packages.lock.json +++ b/src/Cake.Issues.Markdownlint.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -266,9 +266,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.MsBuild.Tests/packages.lock.json b/src/Cake.Issues.MsBuild.Tests/packages.lock.json index ad50bc209..909748957 100644 --- a/src/Cake.Issues.MsBuild.Tests/packages.lock.json +++ b/src/Cake.Issues.MsBuild.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -347,9 +347,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.PullRequests.AppVeyor.Tests/packages.lock.json b/src/Cake.Issues.PullRequests.AppVeyor.Tests/packages.lock.json index 27e21580c..42171f3f5 100644 --- a/src/Cake.Issues.PullRequests.AppVeyor.Tests/packages.lock.json +++ b/src/Cake.Issues.PullRequests.AppVeyor.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -351,9 +351,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.PullRequests.AzureDevOps.Tests/packages.lock.json b/src/Cake.Issues.PullRequests.AzureDevOps.Tests/packages.lock.json index 68b4c23b6..3c69a4213 100644 --- a/src/Cake.Issues.PullRequests.AzureDevOps.Tests/packages.lock.json +++ b/src/Cake.Issues.PullRequests.AzureDevOps.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -1442,9 +1442,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.PullRequests.GitHubActions.Tests/packages.lock.json b/src/Cake.Issues.PullRequests.GitHubActions.Tests/packages.lock.json index 3c7e58967..1a3edfa3c 100644 --- a/src/Cake.Issues.PullRequests.GitHubActions.Tests/packages.lock.json +++ b/src/Cake.Issues.PullRequests.GitHubActions.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -279,9 +279,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.PullRequests.Tests/packages.lock.json b/src/Cake.Issues.PullRequests.Tests/packages.lock.json index 4afb6e174..67a001881 100644 --- a/src/Cake.Issues.PullRequests.Tests/packages.lock.json +++ b/src/Cake.Issues.PullRequests.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -332,9 +332,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.Reporting.Console.Tests/packages.lock.json b/src/Cake.Issues.Reporting.Console.Tests/packages.lock.json index 0ab9c888a..875efcf1c 100644 --- a/src/Cake.Issues.Reporting.Console.Tests/packages.lock.json +++ b/src/Cake.Issues.Reporting.Console.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -296,9 +296,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.Reporting.Generic.Tests/packages.lock.json b/src/Cake.Issues.Reporting.Generic.Tests/packages.lock.json index e49affbf0..3c6e04e34 100644 --- a/src/Cake.Issues.Reporting.Generic.Tests/packages.lock.json +++ b/src/Cake.Issues.Reporting.Generic.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "HtmlAgilityPack": { "type": "Direct", @@ -379,9 +379,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "HtmlAgilityPack": { "type": "Direct", diff --git a/src/Cake.Issues.Reporting.Sarif.Tests/packages.lock.json b/src/Cake.Issues.Reporting.Sarif.Tests/packages.lock.json index 01b8e3fc3..559f74981 100644 --- a/src/Cake.Issues.Reporting.Sarif.Tests/packages.lock.json +++ b/src/Cake.Issues.Reporting.Sarif.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -503,9 +503,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.Reporting.Tests/packages.lock.json b/src/Cake.Issues.Reporting.Tests/packages.lock.json index 27ce40e5c..bcf111f6c 100644 --- a/src/Cake.Issues.Reporting.Tests/packages.lock.json +++ b/src/Cake.Issues.Reporting.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -266,9 +266,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.Sarif.Tests/packages.lock.json b/src/Cake.Issues.Sarif.Tests/packages.lock.json index ce1679c28..ea2bbde04 100644 --- a/src/Cake.Issues.Sarif.Tests/packages.lock.json +++ b/src/Cake.Issues.Sarif.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -497,9 +497,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.Terraform.Tests/packages.lock.json b/src/Cake.Issues.Terraform.Tests/packages.lock.json index c59133e62..72d4d640c 100644 --- a/src/Cake.Issues.Terraform.Tests/packages.lock.json +++ b/src/Cake.Issues.Terraform.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -266,9 +266,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Cake.Issues.Tests/packages.lock.json b/src/Cake.Issues.Tests/packages.lock.json index 5ac8d58f8..38b6591b5 100644 --- a/src/Cake.Issues.Tests/packages.lock.json +++ b/src/Cake.Issues.Tests/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", @@ -260,9 +260,9 @@ "net9.0": { "coverlet.msbuild": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "8b4jBNH7mcQy1otyQErjjIUuGD74XxKZ1wvDufbY7jhWwckl7wIa+icjwdPYeI0aYMS4Tp63LIZvyMFjWwOMDw==" + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" }, "Microsoft.CodeAnalysis.NetAnalyzers": { "type": "Direct", diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 333f47294..38a8dcb3b 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -43,7 +43,7 @@ - + From 565a0abfe313773d9a49940e0a392ed780c80a83 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 10:41:35 +0100 Subject: [PATCH 163/201] Add blog post for 4.6.0 release (#901) --- .../2024-06-24-cake-issues-v4.6.0-released.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 docs/docs/news/posts/2024-06-24-cake-issues-v4.6.0-released.md diff --git a/docs/docs/news/posts/2024-06-24-cake-issues-v4.6.0-released.md b/docs/docs/news/posts/2024-06-24-cake-issues-v4.6.0-released.md new file mode 100644 index 000000000..e237c0590 --- /dev/null +++ b/docs/docs/news/posts/2024-06-24-cake-issues-v4.6.0-released.md @@ -0,0 +1,56 @@ +--- +title: Cake Issues v4.6.0 Released +date: 2024-06-24 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.6.0 has been released with improvements for SARIF reports. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [christianbumann](https://github.com/christianbumann){target="_blank"} +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [Speeedy01](https://github.com/Speeedy01){target="_blank"} + +## Improvements for SARIF Reports + +A new option [SarifIssueReportFormatSettings.ExistingIssues]{target="_blank"} has been introduced which allows to pass in a list of known +issues not related to current code changes, resulting in the [baselineState property]{target="_blank"} being set in the resulting SARIF report. + +This property is for example be used in the [SARIF viewer extension for Azure Pipelines]{target="_blank"} as filter option. + +The following new settings options have been added: + +| SarifIssueReportFormatSettings property | Output property | Description | +|-----------------------------------------|------------------------------------------------------|------------------------------------------| +| [Guid]{target="_blank"} | [automationDetails.guid]{target="_blank"} | Unique, stable identifier for the run | +| [BaselineGuid]{target="_blank"} | [run.baselineGuid]{target="_blank"} | String equal to Guid of a previous run | +| [CorrelationGuid]{target="_blank"} | [automationDetails.correlationGuid]{target="_blank"} | Guid shared by all runs of the same type | + +## Updating from previous versions + +Cake.Issues 4.6.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.6.0){target="_blank"} + +[SarifIssueReportFormatSettings.ExistingIssues]: https://cakebuild.net/api/Cake.Issues.Reporting.Sarif/SarifIssueReportFormatSettings/B37B3648 +[baselineState property]: https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/sarif-v2.1.0-os.html#_Toc34317662 +[SARIF viewer extension for Azure Pipelines]: https://marketplace.visualstudio.com/items?itemName=sariftools.sarif-viewer-build-tab +[Guid]: https://cakebuild.net/api/Cake.Issues.Reporting.Sarif/SarifIssueReportFormatSettings/F52A2FFC +[automationDetails.guid]: https://docs.oasis-open.org/sarif/sarif/v2.0/csprd02/sarif-v2.0-csprd02.html#_Toc10127718 +[BaselineGuid]: https://cakebuild.net/api/Cake.Issues.Reporting.Sarif/SarifIssueReportFormatSettings/54F97E33 +[run.baselineGuid]: https://docs.oasis-open.org/sarif/sarif/v2.0/csprd02/sarif-v2.0-csprd02.html#_Toc10127680 +[CorrelationGuid]: https://cakebuild.net/api/Cake.Issues.Reporting.Sarif/SarifIssueReportFormatSettings/51613F52 +[automationDetails.correlationGuid]: https://docs.oasis-open.org/sarif/sarif/v2.0/csprd02/sarif-v2.0-csprd02.html#_Toc10127719 From dceb9cf8b7766d0202dcb3bb1503bb616854790b Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 10:45:18 +0100 Subject: [PATCH 164/201] Add blog post for 4.7.0 release (#902) --- .../2024-07-16-cake-issues-v4.7.0-released.md | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 docs/docs/news/posts/2024-07-16-cake-issues-v4.7.0-released.md diff --git a/docs/docs/news/posts/2024-07-16-cake-issues-v4.7.0-released.md b/docs/docs/news/posts/2024-07-16-cake-issues-v4.7.0-released.md new file mode 100644 index 000000000..39799717e --- /dev/null +++ b/docs/docs/news/posts/2024-07-16-cake-issues-v4.7.0-released.md @@ -0,0 +1,42 @@ +--- +title: Cake Issues v4.7.0 Released +date: 2024-07-16 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.7.0 has been released with detailed line information for SARIF issue provider and +support for MsBuild binary log format version 21. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Support for MsBuild binary logs version 21 + +Support for binary logs in version 21 has been added to `Cake.Issues.MsBuild`. + +## Enhanced line and column information from SARIF reports + +`Cake.Issues.Sarif` has been enhanced to also provide the following `IIssue` properties if available: + +- [x] `IIssue.EndLine` +- [x] `IIssue.Column` +- [x] `IIssue.EndColumn` + +## Updating from previous versions + +Cake.Issues 4.7.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.7.0){target="_blank"} From bb7f41ec437dfbfad90d57b6e0998090e94f6595 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 11:11:06 +0100 Subject: [PATCH 165/201] Change MkDocs docs directory to `input` (#903) --- .../stages/integration-tests-reporting-generic.yml | 4 ++-- docs/{docs => input}/api.md | 0 .../documentation/assets/images/overview.png | Bin .../assets/tables/supported-tools-ansible.csv | 0 .../assets/tables/supported-tools-arm.csv | 0 .../assets/tables/supported-tools-bicep.csv | 0 .../assets/tables/supported-tools-cfn.csv | 0 .../assets/tables/supported-tools-docker.csv | 0 .../assets/tables/supported-tools-dotnet.csv | 0 .../tables/supported-tools-github-actions.csv | 0 .../assets/tables/supported-tools-go.csv | 0 .../assets/tables/supported-tools-groovy.csv | 0 .../assets/tables/supported-tools-helm.csv | 0 .../assets/tables/supported-tools-java.csv | 0 .../assets/tables/supported-tools-javascript.csv | 0 .../assets/tables/supported-tools-json.csv | 0 .../assets/tables/supported-tools-jsx.csv | 0 .../assets/tables/supported-tools-kotlin.csv | 0 .../assets/tables/supported-tools-kubernetes.csv | 0 .../assets/tables/supported-tools-markdown.csv | 0 .../assets/tables/supported-tools-openapi.csv | 0 .../assets/tables/supported-tools-php.csv | 0 .../assets/tables/supported-tools-protobuf.csv | 0 .../assets/tables/supported-tools-python.csv | 0 .../assets/tables/supported-tools-secrets.csv | 0 .../assets/tables/supported-tools-terraform.csv | 0 .../assets/tables/supported-tools-typescript.csv | 0 .../documentation/contributing/how-to-build.md | 0 .../documentation/contributing/how-to-contribute.md | 0 .../documentation/contributing/how-to-release.md | 0 .../documentation/extending/index.md | 0 .../extending/issue-provider/categories.md | 0 .../extending/issue-provider/helper.md | 0 .../extending/issue-provider/overview.md | 0 .../issue-provider/tutorials/logfile-format.md | 0 .../issue-provider/tutorials/rule-url-resolving.md | 0 .../extending/issue-provider/tutorials/settings.md | 0 .../extending/issue-provider/tutorials/simple.md | 0 .../extending/pull-request-system/categories.md | 0 .../extending/pull-request-system/overview.md | 0 .../extending/report-format/categories.md | 0 .../extending/report-format/overview.md | 0 .../documentation/extending/testing.md | 0 docs/{docs => input}/documentation/features.md | 0 .../documentation/how-cake-issues-works.md | 0 .../documentation/issue-providers/docfx/examples.md | 0 .../documentation/issue-providers/docfx/features.md | 0 .../documentation/issue-providers/docfx/index.md | 0 .../issue-providers/eslint/features.md | 0 .../documentation/issue-providers/eslint/index.md | 0 .../issue-providers/gitrepository/examples.md | 0 .../issue-providers/gitrepository/features.md | 0 .../issue-providers/gitrepository/index.md | 0 .../rules/BinaryFileNotTrackedByLfs.md | 0 .../gitrepository/rules/FilePathTooLong.md | 0 .../issue-providers/gitrepository/rules/index.md | 0 .../documentation/issue-providers/index.md | 0 .../issue-providers/inspectcode/examples.md | 0 .../issue-providers/inspectcode/features.md | 0 .../issue-providers/inspectcode/index.md | 0 .../issue-providers/markdownlint/examples.md | 0 .../issue-providers/markdownlint/features.md | 0 .../issue-providers/markdownlint/index.md | 0 .../issue-providers/msbuild/examples.md | 0 .../issue-providers/msbuild/features.md | 0 .../documentation/issue-providers/msbuild/index.md | 0 .../documentation/issue-providers/sarif/features.md | 0 .../documentation/issue-providers/sarif/index.md | 0 .../issue-providers/terraform/features.md | 0 .../issue-providers/terraform/index.md | 0 docs/{docs => input}/documentation/overview.md | 0 .../appveyor/appveyor-messages.png | Bin .../examples/github-pullrequest-integration.md | 0 .../examples/github-pullrequest-integration.png | Bin .../pull-request-systems/appveyor/examples/index.md | 0 .../appveyor/examples/write-messages.md | 0 .../pull-request-systems/appveyor/features.md | 0 .../pull-request-systems/appveyor/index.md | 0 .../cake.issues.pullrequests.azuredevops.png | Bin .../azure-devops/examples/azure-pipelines.md | 0 .../azure-devops/examples/index.md | 0 .../azure-devops/examples/pullrequest-id.md | 0 .../azure-devops/examples/repository-information.md | 0 .../pull-request-systems/azure-devops/features.md | 0 .../pull-request-systems/azure-devops/index.md | 0 .../pull-request-systems/azure-devops/setup.md | 0 .../github-actions/examples/index.md | 0 .../github-actions/examples/write-annotations.md | 0 .../pull-request-systems/github-actions/features.md | 0 .../github-actions/githubactions-annotations.png | Bin .../github-actions/githubactions-log-output.png | Bin .../githubactions-pullrequest-integration.png | Bin .../pull-request-systems/github-actions/index.md | 0 .../documentation/pull-request-systems/index.md | 0 .../documentation/recipe/configuration.md | 0 docs/{docs => input}/documentation/recipe/demos.md | 0 docs/{docs => input}/documentation/recipe/index.md | 0 .../documentation/recipe/supported-tools.md | 0 docs/{docs => input}/documentation/recipe/tasks.md | 0 .../report-formats/console/examples.md | 0 .../report-formats/console/features.md | 0 .../documentation/report-formats/console/index.md | 0 .../generic/examples/custom-template.md | 0 .../generic/examples/default-template.md | 0 .../report-formats/generic/examples/index.md | 0 .../report-formats/generic/features.md | 0 .../documentation/report-formats/generic/index.md | 0 .../templates/htmldatatable-demo-default.html | 0 .../generic/templates/htmldatatable.md | 0 .../generic/templates/htmldatatable01.png | Bin .../templates/htmldiagnostic-demo-default.html | 0 .../generic/templates/htmldiagnostic.md | 0 .../generic/templates/htmldiagnostic01.png | Bin .../htmldxdatagrid-demo-additionalcolumns.html | 0 .../templates/htmldxdatagrid-demo-changetitle.html | 0 .../templates/htmldxdatagrid-demo-columnhiding.html | 0 .../htmldxdatagrid-demo-customexportfilename.html | 0 .../htmldxdatagrid-demo-customscriptlocation.html | 0 .../templates/htmldxdatagrid-demo-default.html | 0 .../htmldxdatagrid-demo-disablefiltering.html | 0 .../htmldxdatagrid-demo-disablegrouping.html | 0 .../htmldxdatagrid-demo-disableheader.html | 0 .../htmldxdatagrid-demo-disablesearching.html | 0 .../htmldxdatagrid-demo-enableexporting.html | 0 .../htmldxdatagrid-demo-exportformat-pdf.html | 0 .../htmldxdatagrid-demo-exportformat-xlsx.html | 0 .../templates/htmldxdatagrid-demo-grouping.html | 0 .../templates/htmldxdatagrid-demo-sorting.html | 0 .../htmldxdatagrid-demo-theme-carmine.html | 0 .../htmldxdatagrid-demo-theme-contrast.html | 0 .../htmldxdatagrid-demo-theme-contrastcompact.html | 0 .../templates/htmldxdatagrid-demo-theme-dark.html | 0 .../htmldxdatagrid-demo-theme-darkcompact.html | 0 .../htmldxdatagrid-demo-theme-darkmoon.html | 0 .../htmldxdatagrid-demo-theme-darkviolet.html | 0 .../htmldxdatagrid-demo-theme-greenmist.html | 0 .../templates/htmldxdatagrid-demo-theme-light.html | 0 .../htmldxdatagrid-demo-theme-lightcompact.html | 0 .../htmldxdatagrid-demo-theme-materialbluedark.html | 0 ...datagrid-demo-theme-materialbluedarkcompact.html | 0 ...htmldxdatagrid-demo-theme-materialbluelight.html | 0 ...atagrid-demo-theme-materialbluelightcompact.html | 0 .../htmldxdatagrid-demo-theme-materiallimedark.html | 0 ...datagrid-demo-theme-materiallimedarkcompact.html | 0 ...htmldxdatagrid-demo-theme-materiallimelight.html | 0 ...atagrid-demo-theme-materiallimelightcompact.html | 0 ...tmldxdatagrid-demo-theme-materialorangedark.html | 0 ...tagrid-demo-theme-materialorangedarkcompact.html | 0 ...mldxdatagrid-demo-theme-materialorangelight.html | 0 ...agrid-demo-theme-materialorangelightcompact.html | 0 ...tmldxdatagrid-demo-theme-materialpurpledark.html | 0 ...tagrid-demo-theme-materialpurpledarkcompact.html | 0 ...mldxdatagrid-demo-theme-materialpurplelight.html | 0 ...agrid-demo-theme-materialpurplelightcompact.html | 0 .../htmldxdatagrid-demo-theme-materialtealdark.html | 0 ...datagrid-demo-theme-materialtealdarkcompact.html | 0 ...htmldxdatagrid-demo-theme-materialteallight.html | 0 ...atagrid-demo-theme-materialteallightcompact.html | 0 .../htmldxdatagrid-demo-theme-softblue.html | 0 .../generic/templates/htmldxdatagrid.md | 0 .../generic/templates/htmldxdatagrid01.png | Bin .../report-formats/generic/templates/index.md | 0 .../documentation/report-formats/index.md | 0 .../documentation/report-formats/sarif/examples.md | 0 .../documentation/report-formats/sarif/features.md | 0 .../documentation/report-formats/sarif/index.md | 0 .../documentation/resources/blog-posts.md | 0 .../documentation/resources/presentations.md | 0 .../documentation/supported-tools.md | 2 +- .../usage/breaking-builds/breaking-builds.md | 0 .../usage/creating-issues/creating-issues.md | 0 .../usage/creating-reports/creating-reports.md | 0 .../documentation/usage/creating-reports/index.md | 0 docs/{docs => input}/documentation/usage/index.md | 0 .../usage/reading-issues/file-linking.md | 0 .../documentation/usage/reading-issues/index.md | 0 .../usage/reading-issues/reading-issues.md | 0 .../usage/reading-issues/run-information.md | 0 .../documentation/usage/recipe/index.md | 0 .../recipe/using-cake-frosting-issues-recipe.md | 0 .../usage/recipe/using-cake-issues-recipe.md | 0 .../custom-issue-filter.md | 0 .../reporting-issues-to-pull-requests/index.md | 0 .../report-issues-to-pull-requests.md | 0 docs/{docs => input}/index.md | 0 docs/{docs => input}/news/index.md | 0 .../posts/2020-08-22-cake-issues-v0.9.0-released.md | 0 .../posts/2020-09-19-cake-issues-v0.9.1-released.md | 0 .../news/posts/2020-09-24-annotations.png | Bin ...2020-09-24-cake-issues-recipe-v0.4.2-released.md | 0 .../news/posts/2020-09-24-log-output.png | Bin .../posts/2020-09-24-pullrequest-integration.png | Bin .../news/posts/2020-09-27-github-actions-addin.md | 0 ...0-09-cake-issues-pullrequests-v0.9.1-released.md | 0 ...020-10-20-cake-issues-msbuild-v0.9.1-released.md | 0 ...2020-12-01-cake-issues-recipe-v0.4.4-released.md | 0 .../news/posts/2021-07-27-terraform-addin.md | 0 .../posts/2021-07-28-cake-issues-v1.0.0-released.md | 0 ...2021-07-30-cake-issues-eslint-v1.0.1-released.md | 0 ...2021-08-04-cake-issues-recipe-v1.0.0-released.md | 0 ...2021-08-11-cake-issues-recipe-v1.1.0-released.md | 0 ...2021-08-19-cake-issues-recipe-v1.2.0-released.md | 0 .../news/posts/2021-08-29-console-addin.md | 0 .../news/posts/2021-08-29-diagnostics.png | Bin .../news/posts/2021-08-29-summary-by-provider.png | Bin .../news/posts/2021-08-29-summary-of-priorities.png | Bin .../2021-08-31-cake-issues-markdownlint-v1.1.0.md | 0 ...21-09-05-cake-issues-reporting-0-3-0-released.md | 0 .../news/posts/2021-09-05-summary-by-provider.png | Bin .../posts/2022-12-10-cake-issues-v2.0.0-released.md | 0 .../posts/2023-07-22-cake-issues-v3.0.0-released.md | 0 ...2023-08-16-cake-issues-recipe-v3.1.0-released.md | 0 .../posts/2023-12-23-cake-issues-v4.0.0-released.md | 0 .../news/posts/2024-01-14-align-addin-lifecycle.md | 0 .../posts/2024-02-21-cake-issues-v4.1.0-released.md | 0 .../posts/2024-04-14-cake-issues-v4.2.0-released.md | 0 .../news/posts/2024-04-14-sarif-issue-provider.md | 0 .../posts/2024-04-16-cake-issues-v4.2.1-released.md | 0 .../posts/2024-04-20-cake-issues-v4.3.0-released.md | 0 .../posts/2024-04-25-cake-issues-v4.3.1-released.md | 0 .../posts/2024-05-18-cake-issues-v4.4.0-released.md | 0 .../posts/2024-05-23-cake-issues-v4.5.0-released.md | 0 .../posts/2024-05-24-cake-issues-v4.5.1-released.md | 0 .../posts/2024-06-24-cake-issues-v4.6.0-released.md | 0 .../posts/2024-07-16-cake-issues-v4.7.0-released.md | 0 .../posts/2024-12-02-cake-issues-v5.0.0-released.md | 0 .../news/posts/2024-12-21-new-website.md | 0 docs/mkdocs.yml | 3 ++- .../frosting/build/BuildContext.cs | 2 +- .../script-runner/build.cake | 2 +- 230 files changed, 7 insertions(+), 6 deletions(-) rename docs/{docs => input}/api.md (100%) rename docs/{docs => input}/documentation/assets/images/overview.png (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-ansible.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-arm.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-bicep.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-cfn.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-docker.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-dotnet.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-github-actions.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-go.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-groovy.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-helm.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-java.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-javascript.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-json.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-jsx.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-kotlin.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-kubernetes.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-markdown.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-openapi.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-php.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-protobuf.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-python.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-secrets.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-terraform.csv (100%) rename docs/{docs => input}/documentation/assets/tables/supported-tools-typescript.csv (100%) rename docs/{docs => input}/documentation/contributing/how-to-build.md (100%) rename docs/{docs => input}/documentation/contributing/how-to-contribute.md (100%) rename docs/{docs => input}/documentation/contributing/how-to-release.md (100%) rename docs/{docs => input}/documentation/extending/index.md (100%) rename docs/{docs => input}/documentation/extending/issue-provider/categories.md (100%) rename docs/{docs => input}/documentation/extending/issue-provider/helper.md (100%) rename docs/{docs => input}/documentation/extending/issue-provider/overview.md (100%) rename docs/{docs => input}/documentation/extending/issue-provider/tutorials/logfile-format.md (100%) rename docs/{docs => input}/documentation/extending/issue-provider/tutorials/rule-url-resolving.md (100%) rename docs/{docs => input}/documentation/extending/issue-provider/tutorials/settings.md (100%) rename docs/{docs => input}/documentation/extending/issue-provider/tutorials/simple.md (100%) rename docs/{docs => input}/documentation/extending/pull-request-system/categories.md (100%) rename docs/{docs => input}/documentation/extending/pull-request-system/overview.md (100%) rename docs/{docs => input}/documentation/extending/report-format/categories.md (100%) rename docs/{docs => input}/documentation/extending/report-format/overview.md (100%) rename docs/{docs => input}/documentation/extending/testing.md (100%) rename docs/{docs => input}/documentation/features.md (100%) rename docs/{docs => input}/documentation/how-cake-issues-works.md (100%) rename docs/{docs => input}/documentation/issue-providers/docfx/examples.md (100%) rename docs/{docs => input}/documentation/issue-providers/docfx/features.md (100%) rename docs/{docs => input}/documentation/issue-providers/docfx/index.md (100%) rename docs/{docs => input}/documentation/issue-providers/eslint/features.md (100%) rename docs/{docs => input}/documentation/issue-providers/eslint/index.md (100%) rename docs/{docs => input}/documentation/issue-providers/gitrepository/examples.md (100%) rename docs/{docs => input}/documentation/issue-providers/gitrepository/features.md (100%) rename docs/{docs => input}/documentation/issue-providers/gitrepository/index.md (100%) rename docs/{docs => input}/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md (100%) rename docs/{docs => input}/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md (100%) rename docs/{docs => input}/documentation/issue-providers/gitrepository/rules/index.md (100%) rename docs/{docs => input}/documentation/issue-providers/index.md (100%) rename docs/{docs => input}/documentation/issue-providers/inspectcode/examples.md (100%) rename docs/{docs => input}/documentation/issue-providers/inspectcode/features.md (100%) rename docs/{docs => input}/documentation/issue-providers/inspectcode/index.md (100%) rename docs/{docs => input}/documentation/issue-providers/markdownlint/examples.md (100%) rename docs/{docs => input}/documentation/issue-providers/markdownlint/features.md (100%) rename docs/{docs => input}/documentation/issue-providers/markdownlint/index.md (100%) rename docs/{docs => input}/documentation/issue-providers/msbuild/examples.md (100%) rename docs/{docs => input}/documentation/issue-providers/msbuild/features.md (100%) rename docs/{docs => input}/documentation/issue-providers/msbuild/index.md (100%) rename docs/{docs => input}/documentation/issue-providers/sarif/features.md (100%) rename docs/{docs => input}/documentation/issue-providers/sarif/index.md (100%) rename docs/{docs => input}/documentation/issue-providers/terraform/features.md (100%) rename docs/{docs => input}/documentation/issue-providers/terraform/index.md (100%) rename docs/{docs => input}/documentation/overview.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/appveyor/appveyor-messages.png (100%) rename docs/{docs => input}/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.png (100%) rename docs/{docs => input}/documentation/pull-request-systems/appveyor/examples/index.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/appveyor/examples/write-messages.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/appveyor/features.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/appveyor/index.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png (100%) rename docs/{docs => input}/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/azure-devops/examples/index.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/azure-devops/examples/repository-information.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/azure-devops/features.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/azure-devops/index.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/azure-devops/setup.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/github-actions/examples/index.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/github-actions/examples/write-annotations.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/github-actions/features.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/github-actions/githubactions-annotations.png (100%) rename docs/{docs => input}/documentation/pull-request-systems/github-actions/githubactions-log-output.png (100%) rename docs/{docs => input}/documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png (100%) rename docs/{docs => input}/documentation/pull-request-systems/github-actions/index.md (100%) rename docs/{docs => input}/documentation/pull-request-systems/index.md (100%) rename docs/{docs => input}/documentation/recipe/configuration.md (100%) rename docs/{docs => input}/documentation/recipe/demos.md (100%) rename docs/{docs => input}/documentation/recipe/index.md (100%) rename docs/{docs => input}/documentation/recipe/supported-tools.md (100%) rename docs/{docs => input}/documentation/recipe/tasks.md (100%) rename docs/{docs => input}/documentation/report-formats/console/examples.md (100%) rename docs/{docs => input}/documentation/report-formats/console/features.md (100%) rename docs/{docs => input}/documentation/report-formats/console/index.md (100%) rename docs/{docs => input}/documentation/report-formats/generic/examples/custom-template.md (100%) rename docs/{docs => input}/documentation/report-formats/generic/examples/default-template.md (100%) rename docs/{docs => input}/documentation/report-formats/generic/examples/index.md (100%) rename docs/{docs => input}/documentation/report-formats/generic/features.md (100%) rename docs/{docs => input}/documentation/report-formats/generic/index.md (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldatatable-demo-default.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldatatable.md (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldatatable01.png (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldiagnostic-demo-default.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldiagnostic.md (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldiagnostic01.png (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-default.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid.md (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/htmldxdatagrid01.png (100%) rename docs/{docs => input}/documentation/report-formats/generic/templates/index.md (100%) rename docs/{docs => input}/documentation/report-formats/index.md (100%) rename docs/{docs => input}/documentation/report-formats/sarif/examples.md (100%) rename docs/{docs => input}/documentation/report-formats/sarif/features.md (100%) rename docs/{docs => input}/documentation/report-formats/sarif/index.md (100%) rename docs/{docs => input}/documentation/resources/blog-posts.md (100%) rename docs/{docs => input}/documentation/resources/presentations.md (100%) rename docs/{docs => input}/documentation/supported-tools.md (97%) rename docs/{docs => input}/documentation/usage/breaking-builds/breaking-builds.md (100%) rename docs/{docs => input}/documentation/usage/creating-issues/creating-issues.md (100%) rename docs/{docs => input}/documentation/usage/creating-reports/creating-reports.md (100%) rename docs/{docs => input}/documentation/usage/creating-reports/index.md (100%) rename docs/{docs => input}/documentation/usage/index.md (100%) rename docs/{docs => input}/documentation/usage/reading-issues/file-linking.md (100%) rename docs/{docs => input}/documentation/usage/reading-issues/index.md (100%) rename docs/{docs => input}/documentation/usage/reading-issues/reading-issues.md (100%) rename docs/{docs => input}/documentation/usage/reading-issues/run-information.md (100%) rename docs/{docs => input}/documentation/usage/recipe/index.md (100%) rename docs/{docs => input}/documentation/usage/recipe/using-cake-frosting-issues-recipe.md (100%) rename docs/{docs => input}/documentation/usage/recipe/using-cake-issues-recipe.md (100%) rename docs/{docs => input}/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md (100%) rename docs/{docs => input}/documentation/usage/reporting-issues-to-pull-requests/index.md (100%) rename docs/{docs => input}/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md (100%) rename docs/{docs => input}/index.md (100%) rename docs/{docs => input}/news/index.md (100%) rename docs/{docs => input}/news/posts/2020-08-22-cake-issues-v0.9.0-released.md (100%) rename docs/{docs => input}/news/posts/2020-09-19-cake-issues-v0.9.1-released.md (100%) rename docs/{docs => input}/news/posts/2020-09-24-annotations.png (100%) rename docs/{docs => input}/news/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md (100%) rename docs/{docs => input}/news/posts/2020-09-24-log-output.png (100%) rename docs/{docs => input}/news/posts/2020-09-24-pullrequest-integration.png (100%) rename docs/{docs => input}/news/posts/2020-09-27-github-actions-addin.md (100%) rename docs/{docs => input}/news/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md (100%) rename docs/{docs => input}/news/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md (100%) rename docs/{docs => input}/news/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md (100%) rename docs/{docs => input}/news/posts/2021-07-27-terraform-addin.md (100%) rename docs/{docs => input}/news/posts/2021-07-28-cake-issues-v1.0.0-released.md (100%) rename docs/{docs => input}/news/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md (100%) rename docs/{docs => input}/news/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md (100%) rename docs/{docs => input}/news/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md (100%) rename docs/{docs => input}/news/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md (100%) rename docs/{docs => input}/news/posts/2021-08-29-console-addin.md (100%) rename docs/{docs => input}/news/posts/2021-08-29-diagnostics.png (100%) rename docs/{docs => input}/news/posts/2021-08-29-summary-by-provider.png (100%) rename docs/{docs => input}/news/posts/2021-08-29-summary-of-priorities.png (100%) rename docs/{docs => input}/news/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md (100%) rename docs/{docs => input}/news/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md (100%) rename docs/{docs => input}/news/posts/2021-09-05-summary-by-provider.png (100%) rename docs/{docs => input}/news/posts/2022-12-10-cake-issues-v2.0.0-released.md (100%) rename docs/{docs => input}/news/posts/2023-07-22-cake-issues-v3.0.0-released.md (100%) rename docs/{docs => input}/news/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md (100%) rename docs/{docs => input}/news/posts/2023-12-23-cake-issues-v4.0.0-released.md (100%) rename docs/{docs => input}/news/posts/2024-01-14-align-addin-lifecycle.md (100%) rename docs/{docs => input}/news/posts/2024-02-21-cake-issues-v4.1.0-released.md (100%) rename docs/{docs => input}/news/posts/2024-04-14-cake-issues-v4.2.0-released.md (100%) rename docs/{docs => input}/news/posts/2024-04-14-sarif-issue-provider.md (100%) rename docs/{docs => input}/news/posts/2024-04-16-cake-issues-v4.2.1-released.md (100%) rename docs/{docs => input}/news/posts/2024-04-20-cake-issues-v4.3.0-released.md (100%) rename docs/{docs => input}/news/posts/2024-04-25-cake-issues-v4.3.1-released.md (100%) rename docs/{docs => input}/news/posts/2024-05-18-cake-issues-v4.4.0-released.md (100%) rename docs/{docs => input}/news/posts/2024-05-23-cake-issues-v4.5.0-released.md (100%) rename docs/{docs => input}/news/posts/2024-05-24-cake-issues-v4.5.1-released.md (100%) rename docs/{docs => input}/news/posts/2024-06-24-cake-issues-v4.6.0-released.md (100%) rename docs/{docs => input}/news/posts/2024-07-16-cake-issues-v4.7.0-released.md (100%) rename docs/{docs => input}/news/posts/2024-12-02-cake-issues-v5.0.0-released.md (100%) rename docs/{docs => input}/news/posts/2024-12-21-new-website.md (100%) diff --git a/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml b/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml index bf68c851b..415ba46c1 100644 --- a/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml +++ b/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml @@ -31,7 +31,7 @@ stages: - powershell: ./build.ps1 --verbosity=diagnostic workingDirectory: ./tests/Cake.Issues.Reporting.Generic/script-runner displayName: 'Run integration tests' - - publish: $(Build.SourcesDirectory)/docs/docs/documentation/report-formats/generic/templates + - publish: $(Build.SourcesDirectory)/docs/input/documentation/report-formats/generic/templates artifact: Integration Tests Cake.Issues.Reporting.Generic Cake Scripting $(System.JobName) displayName: 'Publish generated reports as build artifact' - job: TestReportingGenericFrostingNet8Job @@ -60,6 +60,6 @@ stages: - powershell: ./build.ps1 --verbosity=diagnostic workingDirectory: ./tests/Cake.Issues.Reporting.Generic/frosting displayName: 'Run integration tests' - - publish: $(Build.SourcesDirectory)/docs/docs/documentation/report-formats/generic/templates + - publish: $(Build.SourcesDirectory)/docs/input/documentation/report-formats/generic/templates artifact: Integration Tests Cake.Issues.Reporting.Generic Cake Frosting .NET 8 $(System.JobName) displayName: 'Publish generated reports as build artifact' diff --git a/docs/docs/api.md b/docs/input/api.md similarity index 100% rename from docs/docs/api.md rename to docs/input/api.md diff --git a/docs/docs/documentation/assets/images/overview.png b/docs/input/documentation/assets/images/overview.png similarity index 100% rename from docs/docs/documentation/assets/images/overview.png rename to docs/input/documentation/assets/images/overview.png diff --git a/docs/docs/documentation/assets/tables/supported-tools-ansible.csv b/docs/input/documentation/assets/tables/supported-tools-ansible.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-ansible.csv rename to docs/input/documentation/assets/tables/supported-tools-ansible.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-arm.csv b/docs/input/documentation/assets/tables/supported-tools-arm.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-arm.csv rename to docs/input/documentation/assets/tables/supported-tools-arm.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-bicep.csv b/docs/input/documentation/assets/tables/supported-tools-bicep.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-bicep.csv rename to docs/input/documentation/assets/tables/supported-tools-bicep.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-cfn.csv b/docs/input/documentation/assets/tables/supported-tools-cfn.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-cfn.csv rename to docs/input/documentation/assets/tables/supported-tools-cfn.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-docker.csv b/docs/input/documentation/assets/tables/supported-tools-docker.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-docker.csv rename to docs/input/documentation/assets/tables/supported-tools-docker.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-dotnet.csv b/docs/input/documentation/assets/tables/supported-tools-dotnet.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-dotnet.csv rename to docs/input/documentation/assets/tables/supported-tools-dotnet.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-github-actions.csv b/docs/input/documentation/assets/tables/supported-tools-github-actions.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-github-actions.csv rename to docs/input/documentation/assets/tables/supported-tools-github-actions.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-go.csv b/docs/input/documentation/assets/tables/supported-tools-go.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-go.csv rename to docs/input/documentation/assets/tables/supported-tools-go.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-groovy.csv b/docs/input/documentation/assets/tables/supported-tools-groovy.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-groovy.csv rename to docs/input/documentation/assets/tables/supported-tools-groovy.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-helm.csv b/docs/input/documentation/assets/tables/supported-tools-helm.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-helm.csv rename to docs/input/documentation/assets/tables/supported-tools-helm.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-java.csv b/docs/input/documentation/assets/tables/supported-tools-java.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-java.csv rename to docs/input/documentation/assets/tables/supported-tools-java.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-javascript.csv b/docs/input/documentation/assets/tables/supported-tools-javascript.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-javascript.csv rename to docs/input/documentation/assets/tables/supported-tools-javascript.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-json.csv b/docs/input/documentation/assets/tables/supported-tools-json.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-json.csv rename to docs/input/documentation/assets/tables/supported-tools-json.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-jsx.csv b/docs/input/documentation/assets/tables/supported-tools-jsx.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-jsx.csv rename to docs/input/documentation/assets/tables/supported-tools-jsx.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-kotlin.csv b/docs/input/documentation/assets/tables/supported-tools-kotlin.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-kotlin.csv rename to docs/input/documentation/assets/tables/supported-tools-kotlin.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv b/docs/input/documentation/assets/tables/supported-tools-kubernetes.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-kubernetes.csv rename to docs/input/documentation/assets/tables/supported-tools-kubernetes.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-markdown.csv b/docs/input/documentation/assets/tables/supported-tools-markdown.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-markdown.csv rename to docs/input/documentation/assets/tables/supported-tools-markdown.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-openapi.csv b/docs/input/documentation/assets/tables/supported-tools-openapi.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-openapi.csv rename to docs/input/documentation/assets/tables/supported-tools-openapi.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-php.csv b/docs/input/documentation/assets/tables/supported-tools-php.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-php.csv rename to docs/input/documentation/assets/tables/supported-tools-php.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-protobuf.csv b/docs/input/documentation/assets/tables/supported-tools-protobuf.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-protobuf.csv rename to docs/input/documentation/assets/tables/supported-tools-protobuf.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-python.csv b/docs/input/documentation/assets/tables/supported-tools-python.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-python.csv rename to docs/input/documentation/assets/tables/supported-tools-python.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-secrets.csv b/docs/input/documentation/assets/tables/supported-tools-secrets.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-secrets.csv rename to docs/input/documentation/assets/tables/supported-tools-secrets.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-terraform.csv b/docs/input/documentation/assets/tables/supported-tools-terraform.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-terraform.csv rename to docs/input/documentation/assets/tables/supported-tools-terraform.csv diff --git a/docs/docs/documentation/assets/tables/supported-tools-typescript.csv b/docs/input/documentation/assets/tables/supported-tools-typescript.csv similarity index 100% rename from docs/docs/documentation/assets/tables/supported-tools-typescript.csv rename to docs/input/documentation/assets/tables/supported-tools-typescript.csv diff --git a/docs/docs/documentation/contributing/how-to-build.md b/docs/input/documentation/contributing/how-to-build.md similarity index 100% rename from docs/docs/documentation/contributing/how-to-build.md rename to docs/input/documentation/contributing/how-to-build.md diff --git a/docs/docs/documentation/contributing/how-to-contribute.md b/docs/input/documentation/contributing/how-to-contribute.md similarity index 100% rename from docs/docs/documentation/contributing/how-to-contribute.md rename to docs/input/documentation/contributing/how-to-contribute.md diff --git a/docs/docs/documentation/contributing/how-to-release.md b/docs/input/documentation/contributing/how-to-release.md similarity index 100% rename from docs/docs/documentation/contributing/how-to-release.md rename to docs/input/documentation/contributing/how-to-release.md diff --git a/docs/docs/documentation/extending/index.md b/docs/input/documentation/extending/index.md similarity index 100% rename from docs/docs/documentation/extending/index.md rename to docs/input/documentation/extending/index.md diff --git a/docs/docs/documentation/extending/issue-provider/categories.md b/docs/input/documentation/extending/issue-provider/categories.md similarity index 100% rename from docs/docs/documentation/extending/issue-provider/categories.md rename to docs/input/documentation/extending/issue-provider/categories.md diff --git a/docs/docs/documentation/extending/issue-provider/helper.md b/docs/input/documentation/extending/issue-provider/helper.md similarity index 100% rename from docs/docs/documentation/extending/issue-provider/helper.md rename to docs/input/documentation/extending/issue-provider/helper.md diff --git a/docs/docs/documentation/extending/issue-provider/overview.md b/docs/input/documentation/extending/issue-provider/overview.md similarity index 100% rename from docs/docs/documentation/extending/issue-provider/overview.md rename to docs/input/documentation/extending/issue-provider/overview.md diff --git a/docs/docs/documentation/extending/issue-provider/tutorials/logfile-format.md b/docs/input/documentation/extending/issue-provider/tutorials/logfile-format.md similarity index 100% rename from docs/docs/documentation/extending/issue-provider/tutorials/logfile-format.md rename to docs/input/documentation/extending/issue-provider/tutorials/logfile-format.md diff --git a/docs/docs/documentation/extending/issue-provider/tutorials/rule-url-resolving.md b/docs/input/documentation/extending/issue-provider/tutorials/rule-url-resolving.md similarity index 100% rename from docs/docs/documentation/extending/issue-provider/tutorials/rule-url-resolving.md rename to docs/input/documentation/extending/issue-provider/tutorials/rule-url-resolving.md diff --git a/docs/docs/documentation/extending/issue-provider/tutorials/settings.md b/docs/input/documentation/extending/issue-provider/tutorials/settings.md similarity index 100% rename from docs/docs/documentation/extending/issue-provider/tutorials/settings.md rename to docs/input/documentation/extending/issue-provider/tutorials/settings.md diff --git a/docs/docs/documentation/extending/issue-provider/tutorials/simple.md b/docs/input/documentation/extending/issue-provider/tutorials/simple.md similarity index 100% rename from docs/docs/documentation/extending/issue-provider/tutorials/simple.md rename to docs/input/documentation/extending/issue-provider/tutorials/simple.md diff --git a/docs/docs/documentation/extending/pull-request-system/categories.md b/docs/input/documentation/extending/pull-request-system/categories.md similarity index 100% rename from docs/docs/documentation/extending/pull-request-system/categories.md rename to docs/input/documentation/extending/pull-request-system/categories.md diff --git a/docs/docs/documentation/extending/pull-request-system/overview.md b/docs/input/documentation/extending/pull-request-system/overview.md similarity index 100% rename from docs/docs/documentation/extending/pull-request-system/overview.md rename to docs/input/documentation/extending/pull-request-system/overview.md diff --git a/docs/docs/documentation/extending/report-format/categories.md b/docs/input/documentation/extending/report-format/categories.md similarity index 100% rename from docs/docs/documentation/extending/report-format/categories.md rename to docs/input/documentation/extending/report-format/categories.md diff --git a/docs/docs/documentation/extending/report-format/overview.md b/docs/input/documentation/extending/report-format/overview.md similarity index 100% rename from docs/docs/documentation/extending/report-format/overview.md rename to docs/input/documentation/extending/report-format/overview.md diff --git a/docs/docs/documentation/extending/testing.md b/docs/input/documentation/extending/testing.md similarity index 100% rename from docs/docs/documentation/extending/testing.md rename to docs/input/documentation/extending/testing.md diff --git a/docs/docs/documentation/features.md b/docs/input/documentation/features.md similarity index 100% rename from docs/docs/documentation/features.md rename to docs/input/documentation/features.md diff --git a/docs/docs/documentation/how-cake-issues-works.md b/docs/input/documentation/how-cake-issues-works.md similarity index 100% rename from docs/docs/documentation/how-cake-issues-works.md rename to docs/input/documentation/how-cake-issues-works.md diff --git a/docs/docs/documentation/issue-providers/docfx/examples.md b/docs/input/documentation/issue-providers/docfx/examples.md similarity index 100% rename from docs/docs/documentation/issue-providers/docfx/examples.md rename to docs/input/documentation/issue-providers/docfx/examples.md diff --git a/docs/docs/documentation/issue-providers/docfx/features.md b/docs/input/documentation/issue-providers/docfx/features.md similarity index 100% rename from docs/docs/documentation/issue-providers/docfx/features.md rename to docs/input/documentation/issue-providers/docfx/features.md diff --git a/docs/docs/documentation/issue-providers/docfx/index.md b/docs/input/documentation/issue-providers/docfx/index.md similarity index 100% rename from docs/docs/documentation/issue-providers/docfx/index.md rename to docs/input/documentation/issue-providers/docfx/index.md diff --git a/docs/docs/documentation/issue-providers/eslint/features.md b/docs/input/documentation/issue-providers/eslint/features.md similarity index 100% rename from docs/docs/documentation/issue-providers/eslint/features.md rename to docs/input/documentation/issue-providers/eslint/features.md diff --git a/docs/docs/documentation/issue-providers/eslint/index.md b/docs/input/documentation/issue-providers/eslint/index.md similarity index 100% rename from docs/docs/documentation/issue-providers/eslint/index.md rename to docs/input/documentation/issue-providers/eslint/index.md diff --git a/docs/docs/documentation/issue-providers/gitrepository/examples.md b/docs/input/documentation/issue-providers/gitrepository/examples.md similarity index 100% rename from docs/docs/documentation/issue-providers/gitrepository/examples.md rename to docs/input/documentation/issue-providers/gitrepository/examples.md diff --git a/docs/docs/documentation/issue-providers/gitrepository/features.md b/docs/input/documentation/issue-providers/gitrepository/features.md similarity index 100% rename from docs/docs/documentation/issue-providers/gitrepository/features.md rename to docs/input/documentation/issue-providers/gitrepository/features.md diff --git a/docs/docs/documentation/issue-providers/gitrepository/index.md b/docs/input/documentation/issue-providers/gitrepository/index.md similarity index 100% rename from docs/docs/documentation/issue-providers/gitrepository/index.md rename to docs/input/documentation/issue-providers/gitrepository/index.md diff --git a/docs/docs/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md b/docs/input/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md similarity index 100% rename from docs/docs/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md rename to docs/input/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md diff --git a/docs/docs/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md b/docs/input/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md similarity index 100% rename from docs/docs/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md rename to docs/input/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md diff --git a/docs/docs/documentation/issue-providers/gitrepository/rules/index.md b/docs/input/documentation/issue-providers/gitrepository/rules/index.md similarity index 100% rename from docs/docs/documentation/issue-providers/gitrepository/rules/index.md rename to docs/input/documentation/issue-providers/gitrepository/rules/index.md diff --git a/docs/docs/documentation/issue-providers/index.md b/docs/input/documentation/issue-providers/index.md similarity index 100% rename from docs/docs/documentation/issue-providers/index.md rename to docs/input/documentation/issue-providers/index.md diff --git a/docs/docs/documentation/issue-providers/inspectcode/examples.md b/docs/input/documentation/issue-providers/inspectcode/examples.md similarity index 100% rename from docs/docs/documentation/issue-providers/inspectcode/examples.md rename to docs/input/documentation/issue-providers/inspectcode/examples.md diff --git a/docs/docs/documentation/issue-providers/inspectcode/features.md b/docs/input/documentation/issue-providers/inspectcode/features.md similarity index 100% rename from docs/docs/documentation/issue-providers/inspectcode/features.md rename to docs/input/documentation/issue-providers/inspectcode/features.md diff --git a/docs/docs/documentation/issue-providers/inspectcode/index.md b/docs/input/documentation/issue-providers/inspectcode/index.md similarity index 100% rename from docs/docs/documentation/issue-providers/inspectcode/index.md rename to docs/input/documentation/issue-providers/inspectcode/index.md diff --git a/docs/docs/documentation/issue-providers/markdownlint/examples.md b/docs/input/documentation/issue-providers/markdownlint/examples.md similarity index 100% rename from docs/docs/documentation/issue-providers/markdownlint/examples.md rename to docs/input/documentation/issue-providers/markdownlint/examples.md diff --git a/docs/docs/documentation/issue-providers/markdownlint/features.md b/docs/input/documentation/issue-providers/markdownlint/features.md similarity index 100% rename from docs/docs/documentation/issue-providers/markdownlint/features.md rename to docs/input/documentation/issue-providers/markdownlint/features.md diff --git a/docs/docs/documentation/issue-providers/markdownlint/index.md b/docs/input/documentation/issue-providers/markdownlint/index.md similarity index 100% rename from docs/docs/documentation/issue-providers/markdownlint/index.md rename to docs/input/documentation/issue-providers/markdownlint/index.md diff --git a/docs/docs/documentation/issue-providers/msbuild/examples.md b/docs/input/documentation/issue-providers/msbuild/examples.md similarity index 100% rename from docs/docs/documentation/issue-providers/msbuild/examples.md rename to docs/input/documentation/issue-providers/msbuild/examples.md diff --git a/docs/docs/documentation/issue-providers/msbuild/features.md b/docs/input/documentation/issue-providers/msbuild/features.md similarity index 100% rename from docs/docs/documentation/issue-providers/msbuild/features.md rename to docs/input/documentation/issue-providers/msbuild/features.md diff --git a/docs/docs/documentation/issue-providers/msbuild/index.md b/docs/input/documentation/issue-providers/msbuild/index.md similarity index 100% rename from docs/docs/documentation/issue-providers/msbuild/index.md rename to docs/input/documentation/issue-providers/msbuild/index.md diff --git a/docs/docs/documentation/issue-providers/sarif/features.md b/docs/input/documentation/issue-providers/sarif/features.md similarity index 100% rename from docs/docs/documentation/issue-providers/sarif/features.md rename to docs/input/documentation/issue-providers/sarif/features.md diff --git a/docs/docs/documentation/issue-providers/sarif/index.md b/docs/input/documentation/issue-providers/sarif/index.md similarity index 100% rename from docs/docs/documentation/issue-providers/sarif/index.md rename to docs/input/documentation/issue-providers/sarif/index.md diff --git a/docs/docs/documentation/issue-providers/terraform/features.md b/docs/input/documentation/issue-providers/terraform/features.md similarity index 100% rename from docs/docs/documentation/issue-providers/terraform/features.md rename to docs/input/documentation/issue-providers/terraform/features.md diff --git a/docs/docs/documentation/issue-providers/terraform/index.md b/docs/input/documentation/issue-providers/terraform/index.md similarity index 100% rename from docs/docs/documentation/issue-providers/terraform/index.md rename to docs/input/documentation/issue-providers/terraform/index.md diff --git a/docs/docs/documentation/overview.md b/docs/input/documentation/overview.md similarity index 100% rename from docs/docs/documentation/overview.md rename to docs/input/documentation/overview.md diff --git a/docs/docs/documentation/pull-request-systems/appveyor/appveyor-messages.png b/docs/input/documentation/pull-request-systems/appveyor/appveyor-messages.png similarity index 100% rename from docs/docs/documentation/pull-request-systems/appveyor/appveyor-messages.png rename to docs/input/documentation/pull-request-systems/appveyor/appveyor-messages.png diff --git a/docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md b/docs/input/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md rename to docs/input/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md diff --git a/docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.png b/docs/input/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.png similarity index 100% rename from docs/docs/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.png rename to docs/input/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.png diff --git a/docs/docs/documentation/pull-request-systems/appveyor/examples/index.md b/docs/input/documentation/pull-request-systems/appveyor/examples/index.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/appveyor/examples/index.md rename to docs/input/documentation/pull-request-systems/appveyor/examples/index.md diff --git a/docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md b/docs/input/documentation/pull-request-systems/appveyor/examples/write-messages.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/appveyor/examples/write-messages.md rename to docs/input/documentation/pull-request-systems/appveyor/examples/write-messages.md diff --git a/docs/docs/documentation/pull-request-systems/appveyor/features.md b/docs/input/documentation/pull-request-systems/appveyor/features.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/appveyor/features.md rename to docs/input/documentation/pull-request-systems/appveyor/features.md diff --git a/docs/docs/documentation/pull-request-systems/appveyor/index.md b/docs/input/documentation/pull-request-systems/appveyor/index.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/appveyor/index.md rename to docs/input/documentation/pull-request-systems/appveyor/index.md diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png b/docs/input/documentation/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png similarity index 100% rename from docs/docs/documentation/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png rename to docs/input/documentation/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md rename to docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/index.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/index.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/azure-devops/examples/index.md rename to docs/input/documentation/pull-request-systems/azure-devops/examples/index.md diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md rename to docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/azure-devops/examples/repository-information.md rename to docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/features.md b/docs/input/documentation/pull-request-systems/azure-devops/features.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/azure-devops/features.md rename to docs/input/documentation/pull-request-systems/azure-devops/features.md diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/index.md b/docs/input/documentation/pull-request-systems/azure-devops/index.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/azure-devops/index.md rename to docs/input/documentation/pull-request-systems/azure-devops/index.md diff --git a/docs/docs/documentation/pull-request-systems/azure-devops/setup.md b/docs/input/documentation/pull-request-systems/azure-devops/setup.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/azure-devops/setup.md rename to docs/input/documentation/pull-request-systems/azure-devops/setup.md diff --git a/docs/docs/documentation/pull-request-systems/github-actions/examples/index.md b/docs/input/documentation/pull-request-systems/github-actions/examples/index.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/github-actions/examples/index.md rename to docs/input/documentation/pull-request-systems/github-actions/examples/index.md diff --git a/docs/docs/documentation/pull-request-systems/github-actions/examples/write-annotations.md b/docs/input/documentation/pull-request-systems/github-actions/examples/write-annotations.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/github-actions/examples/write-annotations.md rename to docs/input/documentation/pull-request-systems/github-actions/examples/write-annotations.md diff --git a/docs/docs/documentation/pull-request-systems/github-actions/features.md b/docs/input/documentation/pull-request-systems/github-actions/features.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/github-actions/features.md rename to docs/input/documentation/pull-request-systems/github-actions/features.md diff --git a/docs/docs/documentation/pull-request-systems/github-actions/githubactions-annotations.png b/docs/input/documentation/pull-request-systems/github-actions/githubactions-annotations.png similarity index 100% rename from docs/docs/documentation/pull-request-systems/github-actions/githubactions-annotations.png rename to docs/input/documentation/pull-request-systems/github-actions/githubactions-annotations.png diff --git a/docs/docs/documentation/pull-request-systems/github-actions/githubactions-log-output.png b/docs/input/documentation/pull-request-systems/github-actions/githubactions-log-output.png similarity index 100% rename from docs/docs/documentation/pull-request-systems/github-actions/githubactions-log-output.png rename to docs/input/documentation/pull-request-systems/github-actions/githubactions-log-output.png diff --git a/docs/docs/documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png b/docs/input/documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png similarity index 100% rename from docs/docs/documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png rename to docs/input/documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png diff --git a/docs/docs/documentation/pull-request-systems/github-actions/index.md b/docs/input/documentation/pull-request-systems/github-actions/index.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/github-actions/index.md rename to docs/input/documentation/pull-request-systems/github-actions/index.md diff --git a/docs/docs/documentation/pull-request-systems/index.md b/docs/input/documentation/pull-request-systems/index.md similarity index 100% rename from docs/docs/documentation/pull-request-systems/index.md rename to docs/input/documentation/pull-request-systems/index.md diff --git a/docs/docs/documentation/recipe/configuration.md b/docs/input/documentation/recipe/configuration.md similarity index 100% rename from docs/docs/documentation/recipe/configuration.md rename to docs/input/documentation/recipe/configuration.md diff --git a/docs/docs/documentation/recipe/demos.md b/docs/input/documentation/recipe/demos.md similarity index 100% rename from docs/docs/documentation/recipe/demos.md rename to docs/input/documentation/recipe/demos.md diff --git a/docs/docs/documentation/recipe/index.md b/docs/input/documentation/recipe/index.md similarity index 100% rename from docs/docs/documentation/recipe/index.md rename to docs/input/documentation/recipe/index.md diff --git a/docs/docs/documentation/recipe/supported-tools.md b/docs/input/documentation/recipe/supported-tools.md similarity index 100% rename from docs/docs/documentation/recipe/supported-tools.md rename to docs/input/documentation/recipe/supported-tools.md diff --git a/docs/docs/documentation/recipe/tasks.md b/docs/input/documentation/recipe/tasks.md similarity index 100% rename from docs/docs/documentation/recipe/tasks.md rename to docs/input/documentation/recipe/tasks.md diff --git a/docs/docs/documentation/report-formats/console/examples.md b/docs/input/documentation/report-formats/console/examples.md similarity index 100% rename from docs/docs/documentation/report-formats/console/examples.md rename to docs/input/documentation/report-formats/console/examples.md diff --git a/docs/docs/documentation/report-formats/console/features.md b/docs/input/documentation/report-formats/console/features.md similarity index 100% rename from docs/docs/documentation/report-formats/console/features.md rename to docs/input/documentation/report-formats/console/features.md diff --git a/docs/docs/documentation/report-formats/console/index.md b/docs/input/documentation/report-formats/console/index.md similarity index 100% rename from docs/docs/documentation/report-formats/console/index.md rename to docs/input/documentation/report-formats/console/index.md diff --git a/docs/docs/documentation/report-formats/generic/examples/custom-template.md b/docs/input/documentation/report-formats/generic/examples/custom-template.md similarity index 100% rename from docs/docs/documentation/report-formats/generic/examples/custom-template.md rename to docs/input/documentation/report-formats/generic/examples/custom-template.md diff --git a/docs/docs/documentation/report-formats/generic/examples/default-template.md b/docs/input/documentation/report-formats/generic/examples/default-template.md similarity index 100% rename from docs/docs/documentation/report-formats/generic/examples/default-template.md rename to docs/input/documentation/report-formats/generic/examples/default-template.md diff --git a/docs/docs/documentation/report-formats/generic/examples/index.md b/docs/input/documentation/report-formats/generic/examples/index.md similarity index 100% rename from docs/docs/documentation/report-formats/generic/examples/index.md rename to docs/input/documentation/report-formats/generic/examples/index.md diff --git a/docs/docs/documentation/report-formats/generic/features.md b/docs/input/documentation/report-formats/generic/features.md similarity index 100% rename from docs/docs/documentation/report-formats/generic/features.md rename to docs/input/documentation/report-formats/generic/features.md diff --git a/docs/docs/documentation/report-formats/generic/index.md b/docs/input/documentation/report-formats/generic/index.md similarity index 100% rename from docs/docs/documentation/report-formats/generic/index.md rename to docs/input/documentation/report-formats/generic/index.md diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldatatable-demo-default.html b/docs/input/documentation/report-formats/generic/templates/htmldatatable-demo-default.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldatatable-demo-default.html rename to docs/input/documentation/report-formats/generic/templates/htmldatatable-demo-default.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldatatable.md b/docs/input/documentation/report-formats/generic/templates/htmldatatable.md similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldatatable.md rename to docs/input/documentation/report-formats/generic/templates/htmldatatable.md diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldatatable01.png b/docs/input/documentation/report-formats/generic/templates/htmldatatable01.png similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldatatable01.png rename to docs/input/documentation/report-formats/generic/templates/htmldatatable01.png diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic-demo-default.html b/docs/input/documentation/report-formats/generic/templates/htmldiagnostic-demo-default.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldiagnostic-demo-default.html rename to docs/input/documentation/report-formats/generic/templates/htmldiagnostic-demo-default.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic.md b/docs/input/documentation/report-formats/generic/templates/htmldiagnostic.md similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldiagnostic.md rename to docs/input/documentation/report-formats/generic/templates/htmldiagnostic.md diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldiagnostic01.png b/docs/input/documentation/report-formats/generic/templates/htmldiagnostic01.png similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldiagnostic01.png rename to docs/input/documentation/report-formats/generic/templates/htmldiagnostic01.png diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-default.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-default.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-default.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-default.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid.md b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid.md similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid.md rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid.md diff --git a/docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid01.png b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid01.png similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/htmldxdatagrid01.png rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid01.png diff --git a/docs/docs/documentation/report-formats/generic/templates/index.md b/docs/input/documentation/report-formats/generic/templates/index.md similarity index 100% rename from docs/docs/documentation/report-formats/generic/templates/index.md rename to docs/input/documentation/report-formats/generic/templates/index.md diff --git a/docs/docs/documentation/report-formats/index.md b/docs/input/documentation/report-formats/index.md similarity index 100% rename from docs/docs/documentation/report-formats/index.md rename to docs/input/documentation/report-formats/index.md diff --git a/docs/docs/documentation/report-formats/sarif/examples.md b/docs/input/documentation/report-formats/sarif/examples.md similarity index 100% rename from docs/docs/documentation/report-formats/sarif/examples.md rename to docs/input/documentation/report-formats/sarif/examples.md diff --git a/docs/docs/documentation/report-formats/sarif/features.md b/docs/input/documentation/report-formats/sarif/features.md similarity index 100% rename from docs/docs/documentation/report-formats/sarif/features.md rename to docs/input/documentation/report-formats/sarif/features.md diff --git a/docs/docs/documentation/report-formats/sarif/index.md b/docs/input/documentation/report-formats/sarif/index.md similarity index 100% rename from docs/docs/documentation/report-formats/sarif/index.md rename to docs/input/documentation/report-formats/sarif/index.md diff --git a/docs/docs/documentation/resources/blog-posts.md b/docs/input/documentation/resources/blog-posts.md similarity index 100% rename from docs/docs/documentation/resources/blog-posts.md rename to docs/input/documentation/resources/blog-posts.md diff --git a/docs/docs/documentation/resources/presentations.md b/docs/input/documentation/resources/presentations.md similarity index 100% rename from docs/docs/documentation/resources/presentations.md rename to docs/input/documentation/resources/presentations.md diff --git a/docs/docs/documentation/supported-tools.md b/docs/input/documentation/supported-tools.md similarity index 97% rename from docs/docs/documentation/supported-tools.md rename to docs/input/documentation/supported-tools.md index c5bf9e43b..2a1313e09 100644 --- a/docs/docs/documentation/supported-tools.md +++ b/docs/input/documentation/supported-tools.md @@ -7,7 +7,7 @@ This pages lists tools known to be working with Cake Issues (1) { .annotate } 1. If you have used Cake Issues with other we would like to hear from you. - You can add it to this list by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues/tree/develop/docs/docs/documentation/assets/tables/supported-tools.csv){target='_blank'}. + You can add it to this list by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues/tree/develop/docs/input/documentation/assets/tables/supported-tools.csv){target='_blank'}. ## .NET diff --git a/docs/docs/documentation/usage/breaking-builds/breaking-builds.md b/docs/input/documentation/usage/breaking-builds/breaking-builds.md similarity index 100% rename from docs/docs/documentation/usage/breaking-builds/breaking-builds.md rename to docs/input/documentation/usage/breaking-builds/breaking-builds.md diff --git a/docs/docs/documentation/usage/creating-issues/creating-issues.md b/docs/input/documentation/usage/creating-issues/creating-issues.md similarity index 100% rename from docs/docs/documentation/usage/creating-issues/creating-issues.md rename to docs/input/documentation/usage/creating-issues/creating-issues.md diff --git a/docs/docs/documentation/usage/creating-reports/creating-reports.md b/docs/input/documentation/usage/creating-reports/creating-reports.md similarity index 100% rename from docs/docs/documentation/usage/creating-reports/creating-reports.md rename to docs/input/documentation/usage/creating-reports/creating-reports.md diff --git a/docs/docs/documentation/usage/creating-reports/index.md b/docs/input/documentation/usage/creating-reports/index.md similarity index 100% rename from docs/docs/documentation/usage/creating-reports/index.md rename to docs/input/documentation/usage/creating-reports/index.md diff --git a/docs/docs/documentation/usage/index.md b/docs/input/documentation/usage/index.md similarity index 100% rename from docs/docs/documentation/usage/index.md rename to docs/input/documentation/usage/index.md diff --git a/docs/docs/documentation/usage/reading-issues/file-linking.md b/docs/input/documentation/usage/reading-issues/file-linking.md similarity index 100% rename from docs/docs/documentation/usage/reading-issues/file-linking.md rename to docs/input/documentation/usage/reading-issues/file-linking.md diff --git a/docs/docs/documentation/usage/reading-issues/index.md b/docs/input/documentation/usage/reading-issues/index.md similarity index 100% rename from docs/docs/documentation/usage/reading-issues/index.md rename to docs/input/documentation/usage/reading-issues/index.md diff --git a/docs/docs/documentation/usage/reading-issues/reading-issues.md b/docs/input/documentation/usage/reading-issues/reading-issues.md similarity index 100% rename from docs/docs/documentation/usage/reading-issues/reading-issues.md rename to docs/input/documentation/usage/reading-issues/reading-issues.md diff --git a/docs/docs/documentation/usage/reading-issues/run-information.md b/docs/input/documentation/usage/reading-issues/run-information.md similarity index 100% rename from docs/docs/documentation/usage/reading-issues/run-information.md rename to docs/input/documentation/usage/reading-issues/run-information.md diff --git a/docs/docs/documentation/usage/recipe/index.md b/docs/input/documentation/usage/recipe/index.md similarity index 100% rename from docs/docs/documentation/usage/recipe/index.md rename to docs/input/documentation/usage/recipe/index.md diff --git a/docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md b/docs/input/documentation/usage/recipe/using-cake-frosting-issues-recipe.md similarity index 100% rename from docs/docs/documentation/usage/recipe/using-cake-frosting-issues-recipe.md rename to docs/input/documentation/usage/recipe/using-cake-frosting-issues-recipe.md diff --git a/docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md b/docs/input/documentation/usage/recipe/using-cake-issues-recipe.md similarity index 100% rename from docs/docs/documentation/usage/recipe/using-cake-issues-recipe.md rename to docs/input/documentation/usage/recipe/using-cake-issues-recipe.md diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md b/docs/input/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md similarity index 100% rename from docs/docs/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md rename to docs/input/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/index.md b/docs/input/documentation/usage/reporting-issues-to-pull-requests/index.md similarity index 100% rename from docs/docs/documentation/usage/reporting-issues-to-pull-requests/index.md rename to docs/input/documentation/usage/reporting-issues-to-pull-requests/index.md diff --git a/docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md b/docs/input/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md similarity index 100% rename from docs/docs/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md rename to docs/input/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md diff --git a/docs/docs/index.md b/docs/input/index.md similarity index 100% rename from docs/docs/index.md rename to docs/input/index.md diff --git a/docs/docs/news/index.md b/docs/input/news/index.md similarity index 100% rename from docs/docs/news/index.md rename to docs/input/news/index.md diff --git a/docs/docs/news/posts/2020-08-22-cake-issues-v0.9.0-released.md b/docs/input/news/posts/2020-08-22-cake-issues-v0.9.0-released.md similarity index 100% rename from docs/docs/news/posts/2020-08-22-cake-issues-v0.9.0-released.md rename to docs/input/news/posts/2020-08-22-cake-issues-v0.9.0-released.md diff --git a/docs/docs/news/posts/2020-09-19-cake-issues-v0.9.1-released.md b/docs/input/news/posts/2020-09-19-cake-issues-v0.9.1-released.md similarity index 100% rename from docs/docs/news/posts/2020-09-19-cake-issues-v0.9.1-released.md rename to docs/input/news/posts/2020-09-19-cake-issues-v0.9.1-released.md diff --git a/docs/docs/news/posts/2020-09-24-annotations.png b/docs/input/news/posts/2020-09-24-annotations.png similarity index 100% rename from docs/docs/news/posts/2020-09-24-annotations.png rename to docs/input/news/posts/2020-09-24-annotations.png diff --git a/docs/docs/news/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md b/docs/input/news/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md similarity index 100% rename from docs/docs/news/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md rename to docs/input/news/posts/2020-09-24-cake-issues-recipe-v0.4.2-released.md diff --git a/docs/docs/news/posts/2020-09-24-log-output.png b/docs/input/news/posts/2020-09-24-log-output.png similarity index 100% rename from docs/docs/news/posts/2020-09-24-log-output.png rename to docs/input/news/posts/2020-09-24-log-output.png diff --git a/docs/docs/news/posts/2020-09-24-pullrequest-integration.png b/docs/input/news/posts/2020-09-24-pullrequest-integration.png similarity index 100% rename from docs/docs/news/posts/2020-09-24-pullrequest-integration.png rename to docs/input/news/posts/2020-09-24-pullrequest-integration.png diff --git a/docs/docs/news/posts/2020-09-27-github-actions-addin.md b/docs/input/news/posts/2020-09-27-github-actions-addin.md similarity index 100% rename from docs/docs/news/posts/2020-09-27-github-actions-addin.md rename to docs/input/news/posts/2020-09-27-github-actions-addin.md diff --git a/docs/docs/news/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md b/docs/input/news/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md similarity index 100% rename from docs/docs/news/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md rename to docs/input/news/posts/2020-10-09-cake-issues-pullrequests-v0.9.1-released.md diff --git a/docs/docs/news/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md b/docs/input/news/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md similarity index 100% rename from docs/docs/news/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md rename to docs/input/news/posts/2020-10-20-cake-issues-msbuild-v0.9.1-released.md diff --git a/docs/docs/news/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md b/docs/input/news/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md similarity index 100% rename from docs/docs/news/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md rename to docs/input/news/posts/2020-12-01-cake-issues-recipe-v0.4.4-released.md diff --git a/docs/docs/news/posts/2021-07-27-terraform-addin.md b/docs/input/news/posts/2021-07-27-terraform-addin.md similarity index 100% rename from docs/docs/news/posts/2021-07-27-terraform-addin.md rename to docs/input/news/posts/2021-07-27-terraform-addin.md diff --git a/docs/docs/news/posts/2021-07-28-cake-issues-v1.0.0-released.md b/docs/input/news/posts/2021-07-28-cake-issues-v1.0.0-released.md similarity index 100% rename from docs/docs/news/posts/2021-07-28-cake-issues-v1.0.0-released.md rename to docs/input/news/posts/2021-07-28-cake-issues-v1.0.0-released.md diff --git a/docs/docs/news/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md b/docs/input/news/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md similarity index 100% rename from docs/docs/news/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md rename to docs/input/news/posts/2021-07-30-cake-issues-eslint-v1.0.1-released.md diff --git a/docs/docs/news/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md b/docs/input/news/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md similarity index 100% rename from docs/docs/news/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md rename to docs/input/news/posts/2021-08-04-cake-issues-recipe-v1.0.0-released.md diff --git a/docs/docs/news/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md b/docs/input/news/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md similarity index 100% rename from docs/docs/news/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md rename to docs/input/news/posts/2021-08-11-cake-issues-recipe-v1.1.0-released.md diff --git a/docs/docs/news/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md b/docs/input/news/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md similarity index 100% rename from docs/docs/news/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md rename to docs/input/news/posts/2021-08-19-cake-issues-recipe-v1.2.0-released.md diff --git a/docs/docs/news/posts/2021-08-29-console-addin.md b/docs/input/news/posts/2021-08-29-console-addin.md similarity index 100% rename from docs/docs/news/posts/2021-08-29-console-addin.md rename to docs/input/news/posts/2021-08-29-console-addin.md diff --git a/docs/docs/news/posts/2021-08-29-diagnostics.png b/docs/input/news/posts/2021-08-29-diagnostics.png similarity index 100% rename from docs/docs/news/posts/2021-08-29-diagnostics.png rename to docs/input/news/posts/2021-08-29-diagnostics.png diff --git a/docs/docs/news/posts/2021-08-29-summary-by-provider.png b/docs/input/news/posts/2021-08-29-summary-by-provider.png similarity index 100% rename from docs/docs/news/posts/2021-08-29-summary-by-provider.png rename to docs/input/news/posts/2021-08-29-summary-by-provider.png diff --git a/docs/docs/news/posts/2021-08-29-summary-of-priorities.png b/docs/input/news/posts/2021-08-29-summary-of-priorities.png similarity index 100% rename from docs/docs/news/posts/2021-08-29-summary-of-priorities.png rename to docs/input/news/posts/2021-08-29-summary-of-priorities.png diff --git a/docs/docs/news/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md b/docs/input/news/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md similarity index 100% rename from docs/docs/news/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md rename to docs/input/news/posts/2021-08-31-cake-issues-markdownlint-v1.1.0.md diff --git a/docs/docs/news/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md b/docs/input/news/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md similarity index 100% rename from docs/docs/news/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md rename to docs/input/news/posts/2021-09-05-cake-issues-reporting-0-3-0-released.md diff --git a/docs/docs/news/posts/2021-09-05-summary-by-provider.png b/docs/input/news/posts/2021-09-05-summary-by-provider.png similarity index 100% rename from docs/docs/news/posts/2021-09-05-summary-by-provider.png rename to docs/input/news/posts/2021-09-05-summary-by-provider.png diff --git a/docs/docs/news/posts/2022-12-10-cake-issues-v2.0.0-released.md b/docs/input/news/posts/2022-12-10-cake-issues-v2.0.0-released.md similarity index 100% rename from docs/docs/news/posts/2022-12-10-cake-issues-v2.0.0-released.md rename to docs/input/news/posts/2022-12-10-cake-issues-v2.0.0-released.md diff --git a/docs/docs/news/posts/2023-07-22-cake-issues-v3.0.0-released.md b/docs/input/news/posts/2023-07-22-cake-issues-v3.0.0-released.md similarity index 100% rename from docs/docs/news/posts/2023-07-22-cake-issues-v3.0.0-released.md rename to docs/input/news/posts/2023-07-22-cake-issues-v3.0.0-released.md diff --git a/docs/docs/news/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md b/docs/input/news/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md similarity index 100% rename from docs/docs/news/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md rename to docs/input/news/posts/2023-08-16-cake-issues-recipe-v3.1.0-released.md diff --git a/docs/docs/news/posts/2023-12-23-cake-issues-v4.0.0-released.md b/docs/input/news/posts/2023-12-23-cake-issues-v4.0.0-released.md similarity index 100% rename from docs/docs/news/posts/2023-12-23-cake-issues-v4.0.0-released.md rename to docs/input/news/posts/2023-12-23-cake-issues-v4.0.0-released.md diff --git a/docs/docs/news/posts/2024-01-14-align-addin-lifecycle.md b/docs/input/news/posts/2024-01-14-align-addin-lifecycle.md similarity index 100% rename from docs/docs/news/posts/2024-01-14-align-addin-lifecycle.md rename to docs/input/news/posts/2024-01-14-align-addin-lifecycle.md diff --git a/docs/docs/news/posts/2024-02-21-cake-issues-v4.1.0-released.md b/docs/input/news/posts/2024-02-21-cake-issues-v4.1.0-released.md similarity index 100% rename from docs/docs/news/posts/2024-02-21-cake-issues-v4.1.0-released.md rename to docs/input/news/posts/2024-02-21-cake-issues-v4.1.0-released.md diff --git a/docs/docs/news/posts/2024-04-14-cake-issues-v4.2.0-released.md b/docs/input/news/posts/2024-04-14-cake-issues-v4.2.0-released.md similarity index 100% rename from docs/docs/news/posts/2024-04-14-cake-issues-v4.2.0-released.md rename to docs/input/news/posts/2024-04-14-cake-issues-v4.2.0-released.md diff --git a/docs/docs/news/posts/2024-04-14-sarif-issue-provider.md b/docs/input/news/posts/2024-04-14-sarif-issue-provider.md similarity index 100% rename from docs/docs/news/posts/2024-04-14-sarif-issue-provider.md rename to docs/input/news/posts/2024-04-14-sarif-issue-provider.md diff --git a/docs/docs/news/posts/2024-04-16-cake-issues-v4.2.1-released.md b/docs/input/news/posts/2024-04-16-cake-issues-v4.2.1-released.md similarity index 100% rename from docs/docs/news/posts/2024-04-16-cake-issues-v4.2.1-released.md rename to docs/input/news/posts/2024-04-16-cake-issues-v4.2.1-released.md diff --git a/docs/docs/news/posts/2024-04-20-cake-issues-v4.3.0-released.md b/docs/input/news/posts/2024-04-20-cake-issues-v4.3.0-released.md similarity index 100% rename from docs/docs/news/posts/2024-04-20-cake-issues-v4.3.0-released.md rename to docs/input/news/posts/2024-04-20-cake-issues-v4.3.0-released.md diff --git a/docs/docs/news/posts/2024-04-25-cake-issues-v4.3.1-released.md b/docs/input/news/posts/2024-04-25-cake-issues-v4.3.1-released.md similarity index 100% rename from docs/docs/news/posts/2024-04-25-cake-issues-v4.3.1-released.md rename to docs/input/news/posts/2024-04-25-cake-issues-v4.3.1-released.md diff --git a/docs/docs/news/posts/2024-05-18-cake-issues-v4.4.0-released.md b/docs/input/news/posts/2024-05-18-cake-issues-v4.4.0-released.md similarity index 100% rename from docs/docs/news/posts/2024-05-18-cake-issues-v4.4.0-released.md rename to docs/input/news/posts/2024-05-18-cake-issues-v4.4.0-released.md diff --git a/docs/docs/news/posts/2024-05-23-cake-issues-v4.5.0-released.md b/docs/input/news/posts/2024-05-23-cake-issues-v4.5.0-released.md similarity index 100% rename from docs/docs/news/posts/2024-05-23-cake-issues-v4.5.0-released.md rename to docs/input/news/posts/2024-05-23-cake-issues-v4.5.0-released.md diff --git a/docs/docs/news/posts/2024-05-24-cake-issues-v4.5.1-released.md b/docs/input/news/posts/2024-05-24-cake-issues-v4.5.1-released.md similarity index 100% rename from docs/docs/news/posts/2024-05-24-cake-issues-v4.5.1-released.md rename to docs/input/news/posts/2024-05-24-cake-issues-v4.5.1-released.md diff --git a/docs/docs/news/posts/2024-06-24-cake-issues-v4.6.0-released.md b/docs/input/news/posts/2024-06-24-cake-issues-v4.6.0-released.md similarity index 100% rename from docs/docs/news/posts/2024-06-24-cake-issues-v4.6.0-released.md rename to docs/input/news/posts/2024-06-24-cake-issues-v4.6.0-released.md diff --git a/docs/docs/news/posts/2024-07-16-cake-issues-v4.7.0-released.md b/docs/input/news/posts/2024-07-16-cake-issues-v4.7.0-released.md similarity index 100% rename from docs/docs/news/posts/2024-07-16-cake-issues-v4.7.0-released.md rename to docs/input/news/posts/2024-07-16-cake-issues-v4.7.0-released.md diff --git a/docs/docs/news/posts/2024-12-02-cake-issues-v5.0.0-released.md b/docs/input/news/posts/2024-12-02-cake-issues-v5.0.0-released.md similarity index 100% rename from docs/docs/news/posts/2024-12-02-cake-issues-v5.0.0-released.md rename to docs/input/news/posts/2024-12-02-cake-issues-v5.0.0-released.md diff --git a/docs/docs/news/posts/2024-12-21-new-website.md b/docs/input/news/posts/2024-12-21-new-website.md similarity index 100% rename from docs/docs/news/posts/2024-12-21-new-website.md rename to docs/input/news/posts/2024-12-21-new-website.md diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 11ed78b24..8ce854051 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -7,12 +7,13 @@ site_description: Issue Management for the Cake Build System # Repository repo_name: cake-contrib/Cake.Issues repo_url: https://github.com/cake-contrib/Cake.Issues -edit_uri: edit/develop/docs/docs/ +edit_uri: edit/develop/docs/input/ # Copyright copyright: Copyright © Cake Issues Contributors # Build configuration +docs_dir: input strict: true validation: omitted_files: warn diff --git a/tests/Cake.Issues.Reporting.Generic/frosting/build/BuildContext.cs b/tests/Cake.Issues.Reporting.Generic/frosting/build/BuildContext.cs index af71dc2fc..15ebb3893 100644 --- a/tests/Cake.Issues.Reporting.Generic/frosting/build/BuildContext.cs +++ b/tests/Cake.Issues.Reporting.Generic/frosting/build/BuildContext.cs @@ -13,7 +13,7 @@ public BuildContext(ICakeContext context) : base(context) { this.RepoRootFolder = context.MakeAbsolute(context.Directory("./../..")); - this.TemplateGalleryFolder = this.RepoRootFolder.Combine("../../docs/docs/documentation/report-formats/generic/templates"); + this.TemplateGalleryFolder = this.RepoRootFolder.Combine("../../docs/input/documentation/report-formats/generic/templates"); this.Issues = new List(); } diff --git a/tests/Cake.Issues.Reporting.Generic/script-runner/build.cake b/tests/Cake.Issues.Reporting.Generic/script-runner/build.cake index 52556e2bb..effbe39ec 100644 --- a/tests/Cake.Issues.Reporting.Generic/script-runner/build.cake +++ b/tests/Cake.Issues.Reporting.Generic/script-runner/build.cake @@ -16,7 +16,7 @@ public class BuildData public BuildData(ICakeContext context) { this.RepoRootFolder = context.MakeAbsolute(context.Directory("./")); - this.TemplateGalleryFolder = this.RepoRootFolder.Combine("../../../docs/docs/documentation/report-formats/generic/templates"); + this.TemplateGalleryFolder = this.RepoRootFolder.Combine("../../../docs/input/documentation/report-formats/generic/templates"); this.Issues = new List(); } From 72671fb12ffba27be7f4c103d312dc248a692253 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 11:16:56 +0100 Subject: [PATCH 166/201] Add blog post for 4.7.1 release (#905) --- .../2024-07-17-cake-issues-v4.7.1-released.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/input/news/posts/2024-07-17-cake-issues-v4.7.1-released.md diff --git a/docs/input/news/posts/2024-07-17-cake-issues-v4.7.1-released.md b/docs/input/news/posts/2024-07-17-cake-issues-v4.7.1-released.md new file mode 100644 index 000000000..ab504397b --- /dev/null +++ b/docs/input/news/posts/2024-07-17-cake-issues-v4.7.1-released.md @@ -0,0 +1,40 @@ +--- +title: Cake Issues v4.7.1 Released +date: 2024-07-17 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.7.1 has been released with bugfixes for SARIF reports + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [christianbumann](https://github.com/christianbumann){target="_blank"} +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Bugfixes for SARIF reports + +This release fixes two bugs in `Cake.Issues.Reporting.Sarif`: + +* If two or more different rules containing a rule URL are reported by the same issue provider, + the first occurrence of the second rule will have `0` as `ruleIndex` instead of `1` +* `originalUriBaseIds` should end with a slash as defined in [SARIF Specification 2.1.0 §3.14.14]. + +## Updating from previous versions + +Cake.Issues 4.7.1 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.7.1){target="_blank"} + +[SARIF Specification 2.1.0 §3.14.14]: https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/sarif-v2.1.0-os.html#_Toc34317431 From 5fa30aaae2b86761a972dc30717e42abce11d6f6 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 11:17:49 +0100 Subject: [PATCH 167/201] Fix link to supported tools tables (#904) --- docs/input/documentation/supported-tools.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/input/documentation/supported-tools.md b/docs/input/documentation/supported-tools.md index 2a1313e09..a33ab37f1 100644 --- a/docs/input/documentation/supported-tools.md +++ b/docs/input/documentation/supported-tools.md @@ -7,7 +7,7 @@ This pages lists tools known to be working with Cake Issues (1) { .annotate } 1. If you have used Cake Issues with other we would like to hear from you. - You can add it to this list by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues/tree/develop/docs/input/documentation/assets/tables/supported-tools.csv){target='_blank'}. + You can add it to this list by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues/tree/develop/docs/input/documentation/assets/tables/){target='_blank'}. ## .NET From 255d6b9ee036d76ddad0ad731197bbf1eae95f40 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 11:25:34 +0100 Subject: [PATCH 168/201] Add blog post for 4.7.2 release (#906) --- .../2024-07-18-cake-issues-v4.7.2-released.md | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docs/input/news/posts/2024-07-18-cake-issues-v4.7.2-released.md diff --git a/docs/input/news/posts/2024-07-18-cake-issues-v4.7.2-released.md b/docs/input/news/posts/2024-07-18-cake-issues-v4.7.2-released.md new file mode 100644 index 000000000..90b538608 --- /dev/null +++ b/docs/input/news/posts/2024-07-18-cake-issues-v4.7.2-released.md @@ -0,0 +1,35 @@ +--- +title: Cake Issues v4.7.2 Released +date: 2024-07-18 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.7.2 has been released containing bug fixes for generic reporting addin. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Fix for generic reporting addin + +This release fixes an bug in `Cake.Issues.Reporting.Generic` where it was not possible to overwrite +version of JsPdf version used in [HTML DevExtreme Data Grid template]. + +## Updating from previous versions + +Cake.Issues 4.7.2 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.7.2){target="_blank"} + +[HTML DevExtreme Data Grid template]: ../../documentation/report-formats/generic/templates/htmldxdatagrid.md From 4aeffb57512d1c53fd9a95d59241c92ab62346b7 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 12:08:49 +0100 Subject: [PATCH 169/201] Add blog post for 4.8.0 release (#907) --- .../2024-07-19-cake-issues-v4.8.0-released.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 docs/input/news/posts/2024-07-19-cake-issues-v4.8.0-released.md diff --git a/docs/input/news/posts/2024-07-19-cake-issues-v4.8.0-released.md b/docs/input/news/posts/2024-07-19-cake-issues-v4.8.0-released.md new file mode 100644 index 000000000..9fa1dd845 --- /dev/null +++ b/docs/input/news/posts/2024-07-19-cake-issues-v4.8.0-released.md @@ -0,0 +1,43 @@ +--- +title: Cake Issues v4.8.0 Released +date: 2024-07-19 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.8.0 has been released with improvements for SARIF issue provider. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Improvements for SARIF issue provider + +In previous releases the SARIF issue provider used the tool name defined in the SARIF file for a specific run as issue provider. +This has the advantage that if multiple SARIF files from different sources are read, +every issue has a different issue provider name, which reflects the original tool. + +But it can also have side-effect, for example that different states are reported to pull request depending if run is successful or not +(see [cake-contrib/Cake.Issues.Recipe#477]{target="_blank"}), because the actual issue provider name is only known once there are issues reported. + +This release introduces a new option [SarifIssuesSettings.UseToolNameAsIssueProviderName]{target="_blank"} to define whether the tool name reported +in the SARIF log or a fixed value should be used as issue provider name. + +## Updating from previous versions + +Cake.Issues 4.8.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.8.0){target="_blank"} + +[cake-contrib/Cake.Issues.Recipe#477]: https://github.com/cake-contrib/Cake.Issues.Recipe/issues/477 +[SarifIssuesSettings.UseToolNameAsIssueProviderName]: https://cakebuild.net/api/Cake.Issues.Sarif/SarifIssuesSettings/16594493 From f37272a4feed1dd1c6935400b1d2afeea59e256a Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 12:13:41 +0100 Subject: [PATCH 170/201] Add blog post for 4.9.0 release (#908) --- .../2024-07-25-cake-issues-v4.9.0-released.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 docs/input/news/posts/2024-07-25-cake-issues-v4.9.0-released.md diff --git a/docs/input/news/posts/2024-07-25-cake-issues-v4.9.0-released.md b/docs/input/news/posts/2024-07-25-cake-issues-v4.9.0-released.md new file mode 100644 index 000000000..3ec30f643 --- /dev/null +++ b/docs/input/news/posts/2024-07-25-cake-issues-v4.9.0-released.md @@ -0,0 +1,43 @@ +--- +title: Cake Issues v4.9.0 Released +date: 2024-07-25 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.9.0 has been released with bugfixes for SARIF report format and Terraform issue provider. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [christianbumann](https://github.com/christianbumann){target="_blank"} +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Bugfixes for SARIF report format + +This release fixes an issue where entries in a SARIF report were marked as updated if branch or commit in file link has changed. + +To achieve this, a [new constructor]{target="_blank"} for the generic `IIssueComparer` has been introduced, which allows to define +which `IIssue` properties should be ignored for the comparison. + +## Bugfixes for Terraform issue provider + +A bug has been fixed where root directory was not correctly determined when running on Linux or macOS. + +## Updating from previous versions + +Cake.Issues 4.9.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.9.0){target="_blank"} + +[new constructor]: https://cakebuild.net/api/Cake.Issues/IIssueComparer/0089D7CF From 7d37cff727549171e837710e2c429b83611cbe80 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 12:30:40 +0100 Subject: [PATCH 171/201] Add blog post for 4.10.0 release (#909) --- ...2024-07-30-cake-issues-v4.10.0-released.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docs/input/news/posts/2024-07-30-cake-issues-v4.10.0-released.md diff --git a/docs/input/news/posts/2024-07-30-cake-issues-v4.10.0-released.md b/docs/input/news/posts/2024-07-30-cake-issues-v4.10.0-released.md new file mode 100644 index 000000000..14e5f2b30 --- /dev/null +++ b/docs/input/news/posts/2024-07-30-cake-issues-v4.10.0-released.md @@ -0,0 +1,34 @@ +--- +title: Cake Issues v4.10.0 Released +date: 2024-07-30 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.10.0 has been released with support for MsBuild binary log format version 22. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [christianbumann](https://github.com/christianbumann){target="_blank"} +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Support for MsBuild binary logs version 22 + +Support for binary logs in version 20 has been added to `Cake.Issues.MsBuild`. + +## Updating from previous versions + +Cake.Issues 4.10.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.10.0){target="_blank"} From 1a58ff35aa87fc98c976cf6097ebebfc76c741f0 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 12:42:07 +0100 Subject: [PATCH 172/201] Add blog post for 4.10.1 release (#911) --- ...2024-08-20-cake-issues-v4.10.1-released.md | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 docs/input/news/posts/2024-08-20-cake-issues-v4.10.1-released.md diff --git a/docs/input/news/posts/2024-08-20-cake-issues-v4.10.1-released.md b/docs/input/news/posts/2024-08-20-cake-issues-v4.10.1-released.md new file mode 100644 index 000000000..7a8942d70 --- /dev/null +++ b/docs/input/news/posts/2024-08-20-cake-issues-v4.10.1-released.md @@ -0,0 +1,54 @@ +--- +title: Cake Issues v4.10.1 Released +date: 2024-08-20 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version v4.10.1 has been released with bugfixes for Cake Frosting and file linking + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [christianbumann](https://github.com/christianbumann){target="_blank"} +* [eoehen](https://github.com/eoehen){target="_blank"} +* [gep13](https://github.com/gep13){target="_blank"} +* [hotchkj](https://github.com/hotchkj){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Bugfixes for Cake Frosting + +This release fixes dependencies of the following Cake Frosting optimized NuGet packages: + +* [Cake.Frosting.Issues.PullRequests.AppVeyor]{target="_blank"} +* [Cake.Frosting.Issues.PullRequests.AzureDevOps]{target="_blank"} +* [Cake.Frosting.Issues.PullRequests.GitHubActions]{target="_blank"} +* [Cake.Frosting.Issues.Reporting.Console]{target="_blank"} +* [Cake.Frosting.Issues.Reporting.Generic]{target="_blank"} +* [Cake.Frosting.Issues.Reporting.Sarif]{target="_blank"} + +## Bugfixes for file linking + +This release fixes an issue that file links are created for issues which are not related to a file. + +## Updating from previous versions + +Cake.Issues v4.10.1 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/v4.10.1){target="_blank"} + +[Cake.Frosting.Issues.PullRequests.AppVeyor]: https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests.AppVeyor/4.10.1#dependencies-body-tab +[Cake.Frosting.Issues.PullRequests.AzureDevOps]: https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests.AzureDevOps/4.10.1#dependencies-body-tab +[Cake.Frosting.Issues.PullRequests.GitHubActions]: https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests.GitHubActions/4.10.1#dependencies-body-tab +[Cake.Frosting.Issues.Reporting.Console]: https://www.nuget.org/packages/Cake.Frosting.Issues.Reporting.Console/4.10.1#dependencies-body-tab +[Cake.Frosting.Issues.Reporting.Generic]: https://www.nuget.org/packages/Cake.Frosting.Issues.Reporting.Generic/4.10.1#dependencies-body-tab +[Cake.Frosting.Issues.Reporting.Sarif]: https://www.nuget.org/packages/Cake.Frosting.Issues.Reporting.Sarif/4.10.1#dependencies-body-tab From 78ef3979566996b18d648cfaea640030a653786c Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 12:43:02 +0100 Subject: [PATCH 173/201] Add blog post for 4.11 release (#912) --- ...2024-10-06-cake-issues-v4.11.0-released.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 docs/input/news/posts/2024-10-06-cake-issues-v4.11.0-released.md diff --git a/docs/input/news/posts/2024-10-06-cake-issues-v4.11.0-released.md b/docs/input/news/posts/2024-10-06-cake-issues-v4.11.0-released.md new file mode 100644 index 000000000..361d450d2 --- /dev/null +++ b/docs/input/news/posts/2024-10-06-cake-issues-v4.11.0-released.md @@ -0,0 +1,33 @@ +--- +title: Cake Issues v4.11.0 Released +date: 2024-10-06 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.11.0 has been released with support for MsBuild binary log format version 23. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Support for MsBuild binary logs version 23 + +Support for binary logs in version 23 has been added to `Cake.Issues.MsBuild`. + +## Updating from previous versions + +Cake.Issues 4.11.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.11.0){target="_blank"} From 993dfeb2fa6235e7a0e013d62f41f9c632637104 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 12:47:06 +0100 Subject: [PATCH 174/201] Add blog post for 4.12 release (#913) --- ...2024-11-05-cake-issues-v4.12.0-released.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 docs/input/news/posts/2024-11-05-cake-issues-v4.12.0-released.md diff --git a/docs/input/news/posts/2024-11-05-cake-issues-v4.12.0-released.md b/docs/input/news/posts/2024-11-05-cake-issues-v4.12.0-released.md new file mode 100644 index 000000000..85493493a --- /dev/null +++ b/docs/input/news/posts/2024-11-05-cake-issues-v4.12.0-released.md @@ -0,0 +1,33 @@ +--- +title: Cake Issues v4.12.0 Released +date: 2024-11-05 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 4.12.0 has been released with support for MsBuild binary log format version 24. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Support for MsBuild binary logs version 24 + +Support for binary logs in version 24 has been added to `Cake.Issues.MsBuild`. + +## Updating from previous versions + +Cake.Issues 4.12.0 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.12.0){target="_blank"} From a8530d6a630cf0595ee6961d6d26541579cb6e26 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 13:51:21 +0100 Subject: [PATCH 175/201] Add blog post for 5.0.1 release (#914) --- .../2024-12-17-cake-issues-v5.0.1-released.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 docs/input/news/posts/2024-12-17-cake-issues-v5.0.1-released.md diff --git a/docs/input/news/posts/2024-12-17-cake-issues-v5.0.1-released.md b/docs/input/news/posts/2024-12-17-cake-issues-v5.0.1-released.md new file mode 100644 index 000000000..798f2684b --- /dev/null +++ b/docs/input/news/posts/2024-12-17-cake-issues-v5.0.1-released.md @@ -0,0 +1,38 @@ +--- +title: Cake Issues v5.0.1 Released +date: 2024-12-17 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 5.0.1 has been released containing bug fixes for Cake Frosting addins + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [christianbumann](https://github.com/christianbumann){target="_blank"} +* [eoehen](https://github.com/eoehen){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## Bugfixes for Cake Frosting + +This release fixes dependencies of the following Cake Frosting optimized NuGet packages: + +* [Cake.Frosting.Issues.PullRequests.AppVeyor]{target="_blank"} + +## Updating from previous versions + +Cake.Issues 4.7.2 addins are compatible with any 4.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/4.7.2){target="_blank"} + +[Cake.Frosting.Issues.PullRequests.AppVeyor]: https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests.AppVeyor/5.0.1#dependencies-body-tab From e0ba610d83c7abce7f5d7a9315b140fb1639f7a2 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Tue, 31 Dec 2024 16:17:06 +0100 Subject: [PATCH 176/201] Update links in README to new website (#915) --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2ddf5b59e..efacfe90c 100644 --- a/README.md +++ b/README.md @@ -97,15 +97,15 @@ In Cake Frosting they can be added using package references: ``` -See [list of available addins](https://cakeissues.net/addins/). +See [list of available addins](#addins). ### Compatibility -See [Release Notes](https://cakeissues.net/docs/overview/release-notes/Cake.Issues) for requirements for each specific version. +See [Release Notes](https://github.com/cake-contrib/Cake.Issues/releases) for requirements for each specific version. ## Usage -See [Website](https://cakeissues.net/docs/usage/) for detailed usage instructions. +See [Website](https://cakeissues.net/latest/documentation/usage/) for detailed usage instructions. ## Support & Discussion @@ -136,7 +136,7 @@ For questions and to discuss ideas & feature requests, use the [GitHub discussio ## API The Cake Issues addins provide a wide range of additional aliases which can be used in Cake builds. -See [API reference](https://cakeissues.net/dsl/) for an overview. +See [API reference](https://cakeissues.net/latest/api/) for an overview. ## Contributing @@ -149,9 +149,9 @@ Contributions are welcome. See [Contribution Guidelines](CONTRIBUTING.md). Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[extension points]: https://cakeissues.net/docs/extending/ -[set of aliases]: https://cakeissues.net/dsl/ -[variety of analyzers and linters]: https://cakeissues.net/addins/issue-provider/ -[over 15 distinct addins]: https://cakeissues.net/addins/ -[75 aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[extension points]: https://cakeissues.net/latest/documentation/extending/ +[set of aliases]: https://cakeissues.net/latest/api/ +[variety of analyzers and linters]: https://cakeissues.net/latest/documentation/supported-tools/ +[over 15 distinct addins]: #addins +[75 aliases]: https://cakeissues.net/latest/api/ From 65c64b45ad030cce7f5985dc655716244320a391 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 1 Jan 2025 00:13:02 +0100 Subject: [PATCH 177/201] Add usage examples for Cake Frosting (#899) --- .../usage/breaking-builds/breaking-builds.md | 87 ++++++++++--- .../usage/creating-issues/creating-issues.md | 97 ++++++++++++--- .../creating-reports/creating-reports.md | 107 +++++++++++----- .../usage/reading-issues/file-linking.md | 53 +++++--- .../usage/reading-issues/reading-issues.md | 116 +++++++++++++----- .../usage/reading-issues/run-information.md | 88 +++++++++---- .../custom-issue-filter.md | 101 +++++++++++---- .../report-issues-to-pull-requests.md | 106 ++++++++++++---- docs/mkdocs.yml | 2 + 9 files changed, 575 insertions(+), 182 deletions(-) diff --git a/docs/input/documentation/usage/breaking-builds/breaking-builds.md b/docs/input/documentation/usage/breaking-builds/breaking-builds.md index 1c9beadbd..dc387c50b 100644 --- a/docs/input/documentation/usage/breaking-builds/breaking-builds.md +++ b/docs/input/documentation/usage/breaking-builds/breaking-builds.md @@ -7,20 +7,79 @@ The `Cake.Issues` addin can be used to break builds if specific issues were repo To break builds you need to import the following core addin: -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + ``` + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + ``` The following task will fail the build if any issues were added to the `issues` global variable: -```csharp -// Global issues list into which issues need to be added. -IEnumerable issues = null; - -Task("BreakBuildOnIssues") - .Description("Breaks build if any issues in the code are found.") - .Does(() => -{ - BreakBuildOnIssues(issues); -}); -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + // Global issues list into which issues need to be added. + IEnumerable issues = null; + + Task("BreakBuildOnIssues") + .Description("Breaks build if any issues in the code are found.") + .Does(() => + { + BreakBuildOnIssues(issues); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Core; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .UseContext() + .Run(args); + } + } + + public class BuildContext(ICakeContext context) : FrostingContext(context) + { + private readonly List _issues = []; + + public IEnumerable Issues { get { return _issues; } } + + public void AddIssues(IEnumerable issues) + { + _issues.AddRange(issues); + } + } + + [TaskName("BreakBuildOnIssues")] + public sealed class BreakBuildOnIssuesTask : FrostingTask + { + public override void Run(BuildContext context) + { + context.BreakBuildOnIssues(context.Issues); + } + } + ``` diff --git a/docs/input/documentation/usage/creating-issues/creating-issues.md b/docs/input/documentation/usage/creating-issues/creating-issues.md index f921ce8a2..671d1c651 100644 --- a/docs/input/documentation/usage/creating-issues/creating-issues.md +++ b/docs/input/documentation/usage/creating-issues/creating-issues.md @@ -8,26 +8,83 @@ This issues can for example be used to create reports. To create issues you need to import the following core addin: -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + ``` + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + ``` In the following task a new warning for the myfile.txt file on line 42 is created: -```csharp -Task("Create-Issue").Does(() => -{ - var issue = - NewIssue( - "Something went wrong", - "MyCakeScript", - "My Cake Script") - .WithMessageInHtmlFormat("Something went wrong") - .WithMessageInMarkdownFormat("Something went **wrong**") - .InFile("myfile.txt", 42) - .WithPriority(IssuePriority.Warning) - .Create(); - - Information("Issue created with message: {0}", issues.MessageText); -}); -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Create-Issue").Does(() => + { + var issue = + NewIssue( + "Something went wrong", + "MyCakeScript", + "My Cake Script") + .WithMessageInHtmlFormat("Something went wrong") + .WithMessageInMarkdownFormat("Something went **wrong**") + .InFile("myfile.txt", 42) + .WithPriority(IssuePriority.Warning) + .Create(); + + Information("Issue created with message: {0}", issue.MessageText); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.Diagnostics; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("Create-Issue")] + public sealed class CreateIssueTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var issue = + context.NewIssue( + "Something went wrong", + "MyCakeScript", + "My Cake Script") + .WithMessageInHtmlFormat("Something went wrong") + .WithMessageInMarkdownFormat("Something went **wrong**") + .InFile("myfile.txt", 42) + .WithPriority(IssuePriority.Warning) + .Create(); + + context.Information("Issue created with message: {0}", issue.MessageText); + } + } + ``` diff --git a/docs/input/documentation/usage/creating-reports/creating-reports.md b/docs/input/documentation/usage/creating-reports/creating-reports.md index 21213d4b2..59435d809 100644 --- a/docs/input/documentation/usage/creating-reports/creating-reports.md +++ b/docs/input/documentation/usage/creating-reports/creating-reports.md @@ -3,34 +3,85 @@ title: Creating reports description: Usage instructions how to create reports. --- -To create report for issues you need to import the following core addins: - -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} -``` - -Also you need to import at least one issue provider and report format. +To create report for issues you need to import the corresponding report format. In the following example the issue provider for reading warnings from MsBuild log files and generic report format is imported: -```csharp -#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Reporting.Generic&version={{ cake_issues_version }} -``` - -Finally you can define a task where you call the reporting addin with the desired issue provider and report format: - -```csharp -Task("Create-Report").Does(() => -{ - var repoRootFolder = new DirectoryPath(@"C:\repo"); - CreateIssueReport( - MsBuildIssuesFromFilePath( - @"C:\build\msbuild.log", - MsBuildBinaryLogFileFormat), - GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), - repoRootFolder, - @"c:\report.html"); -}); -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Reporting.Generic&version={{ cake_issues_version }} + ``` + + !!! note + In addition to the report format the `Cake.Issues` and `Cake.Issues.Reporting` core addins need to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` +Afterwards you can define a task where you call the reporting addin with the desired issue provider and report format: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Create-Report").Does(() => + { + var repoRootFolder = new DirectoryPath(@"C:\repo"); + CreateIssueReport( + MsBuildIssuesFromFilePath( + @"C:\build\msbuild.log", + MsBuildBinaryLogFileFormat), + GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), + repoRootFolder, + @"c:\report.html"); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Core.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("Create-Report")] + public sealed class CreateReportTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootFolder = new DirectoryPath(@"C:\repo"); + context.CreateIssueReport( + context.MsBuildIssuesFromFilePath( + @"C:\build\msbuild.log", + context.MsBuildBinaryLogFileFormat()), + context.GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), + repoRootFolder, + @"c:\report.html"); + } + } + ``` diff --git a/docs/input/documentation/usage/reading-issues/file-linking.md b/docs/input/documentation/usage/reading-issues/file-linking.md index 7a1609086..16b7514a0 100644 --- a/docs/input/documentation/usage/reading-issues/file-linking.md +++ b/docs/input/documentation/usage/reading-issues/file-linking.md @@ -6,22 +6,43 @@ description: Example how to define file link settings. File link settings can be defined while reading issues and are passed through the `IIssue.FileLink` property to reporting formats, pull request systems and build server implementations: -```csharp -var settings = - new ReadIssuesSettings(@"c:\repo") - { - FileLinkSettings = - IssueFileLinkSettingsForGitHubCommit( - "https://github.com/cake-contrib/Cake.Issues", - "76a7cacef7ad4295a6766646d45c9b56") - }; - - var issues = - ReadIssues( - InspectCodeIssuesFromFilePath( - @"C:\build\inspectcode.log"), - settings)); -``` +=== "Cake .NET Tool" + + ```csharp + var settings = + new ReadIssuesSettings(@"c:\repo") + { + FileLinkSettings = + IssueFileLinkSettingsForGitHubCommit( + "https://github.com/cake-contrib/Cake.Issues", + "76a7cacef7ad4295a6766646d45c9b56") + }; + + var issues = + ReadIssues( + InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + settings)); + ``` + +=== "Cake Frosting" + + ```csharp + var settings = + new ReadIssuesSettings(@"c:\repo") + { + FileLinkSettings = + IssueFileLinkSettingsForGitHubCommit( + "https://github.com/cake-contrib/Cake.Issues", + "76a7cacef7ad4295a6766646d45c9b56") + }; + + var issues = + context.ReadIssues( + context.InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + settings)); + ``` Cake.Issues comes with out-of-the-box support for linking to files hosted on GitHub and Azure Repos, either for a specific branch or commit. Additionally there are aliases which can be used to define any custom pattern. diff --git a/docs/input/documentation/usage/reading-issues/reading-issues.md b/docs/input/documentation/usage/reading-issues/reading-issues.md index 9b76a9c6d..985938743 100644 --- a/docs/input/documentation/usage/reading-issues/reading-issues.md +++ b/docs/input/documentation/usage/reading-issues/reading-issues.md @@ -6,40 +6,98 @@ description: Usage instructions how to read issues. The `Cake.Issues` addin can be used to aggregate issues from different sources. This can for example be useful to break builds based on the reported issues. -To read issues you need to import the following core addin: - -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -``` - -Also you need to import at least one issue provider. +To read issues you need to import at least one issue provider. In the following example the issue providers for reading warnings from MsBuild log files and from JetBrains InspectCode are imported: -```csharp -#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} + ``` + + !!! note + In addition to the issue providers the `Cake.Issues` core addin needs to be added. -Finally you can define a task where you call the core addin with the desired issue providers. +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` + +Afterwards you can define a task where you call the core addin with the desired issue providers. The following example reads warnings and errors reported by MsBuild from a binary log and issues reported by JetBrains InspectCode: -```csharp -Task("Read-Issues").Does(() => -{ - var repoRootFolder = new DirectoryPath(@"C:\repo"); - var issues = ReadIssues( - new List +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Read-Issues").Does(() => + { + var repoRootFolder = new DirectoryPath(@"C:\repo"); + var issues = ReadIssues( + new List + { + MsBuildIssuesFromFilePath( + @"C:\build\msbuild.log", + MsBuildBinaryLogFileFormat), + InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log") + }, + repoRootFolder); + + Information("{0} issues are found.", issues.Count()); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.Diagnostics; + using Cake.Core.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) { - MsBuildIssuesFromFilePath( - @"C:\build\msbuild.log", - MsBuildBinaryLogFileFormat), - InspectCodeIssuesFromFilePath( - @"C:\build\inspectcode.log") - }, - repoRootFolder); - - Information("{0} issues are found.", issues.Count()); -}); -``` + return new CakeHost() + .Run(args); + } + } + + [TaskName("Read-Issues")] + public sealed class ReadIssuesTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootFolder = new DirectoryPath(@"C:\repo"); + var issues = context.ReadIssues( + new List + { + context.MsBuildIssuesFromFilePath( + @"C:\build\msbuild.log", + context.MsBuildBinaryLogFileFormat()), + context.InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log") + }, + repoRootFolder); + + context.Information("{0} issues are found.", issues.Count()); + } + } + ``` diff --git a/docs/input/documentation/usage/reading-issues/run-information.md b/docs/input/documentation/usage/reading-issues/run-information.md index 193118e47..01f8397df 100644 --- a/docs/input/documentation/usage/reading-issues/run-information.md +++ b/docs/input/documentation/usage/reading-issues/run-information.md @@ -11,32 +11,66 @@ individual issues could not be assigned to any of the calls, since issue provide Starting with Cake.Issues 0.9.0 it is possible to pass additional run information while reading issues, which then will be stored with each issues in the `IIssue.Run` property: -```csharp -var issues = new List(); +=== "Cake .NET Tool" -// Parse issues from build of solution 1 -issues.AddRange( - ReadIssues( - MsBuildIssuesFromFilePath( - @"C:\build\solution1-msbuild.log", - MsBuildBinaryLogFileFormat), - new ReadIssuesSettings(@"c:\repo") - { - Run = "Solution 1" - } - ) -); + ```csharp + var issues = new List(); + + // Parse issues from build of solution 1 + issues.AddRange( + ReadIssues( + MsBuildIssuesFromFilePath( + @"C:\build\solution1-msbuild.log", + MsBuildBinaryLogFileFormat), + new ReadIssuesSettings(@"c:\repo") + { + Run = "Solution 1" + } + ) + ); + + // Parse issues from build of solution 2 + issues.AddRange( + ReadIssues( + MsBuildIssuesFromFilePath( + @"C:\build\solution2-msbuild.log", + MsBuildBinaryLogFileFormat), + new ReadIssuesSettings(@"c:\repo") + { + Run = "Solution 2" + } + ) + ); + ``` -// Parse issues from build of solution 2 -issues.AddRange( - ReadIssues( - MsBuildIssuesFromFilePath( - @"C:\build\solution2-msbuild.log", - MsBuildBinaryLogFileFormat), - new ReadIssuesSettings(@"c:\repo") - { - Run = "Solution 2" - } - ) -); -``` +=== "Cake Frosting" + + ```csharp + var issues = new List(); + + // Parse issues from build of solution 1 + issues.AddRange( + context.ReadIssues( + context.MsBuildIssuesFromFilePath( + @"C:\build\solution1-msbuild.log", + context.MsBuildBinaryLogFileFormat()), + new ReadIssuesSettings(@"c:\repo") + { + Run = "Solution 1" + } + ) + ); + + // Parse issues from build of solution 2 + issues.AddRange( + context.ReadIssues( + context.MsBuildIssuesFromFilePath( + @"C:\build\solution2-msbuild.log", + context.MsBuildBinaryLogFileFormat()), + new ReadIssuesSettings(@"c:\repo") + { + Run = "Solution 2" + } + ) + ); + ``` diff --git a/docs/input/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md b/docs/input/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md index 030ba80e4..b7e57be55 100644 --- a/docs/input/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md +++ b/docs/input/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md @@ -14,29 +14,88 @@ You can define custom filters which are applied to issues before they are posted The following example will filter out all issues from the rule `CA1000` from being posted to the pull request. -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} +=== "Cake .NET Tool" -Task("ReportIssuesToPullRequest").Does(() => -{ - var repoRootFolder = new DirectoryPath(@"C:\repo"); + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} - var settings = new ReportIssuesToPullRequestSettings(repoRootFolder); + Task("ReportIssuesToPullRequest").Does(() => + { + var repoRootFolder = new DirectoryPath(@"C:\repo"); - // Add custom filter. - settings.IssueFilters.Add(x => x.Where(issue => issue.Rule != "CA1000")); + var settings = new ReportIssuesToPullRequestFromIssueProviderSettings(repoRootFolder); - ReportIssuesToPullRequest( - new List + // Add custom filter. + settings.IssueFilters.Add(x => x.Where(issue => issue.RuleId != "CA1000")); + + ReportIssuesToPullRequest( + new List + { + MsBuildIssuesFromFilePath( + @"C:\build\msbuild.log", + MsBuildBinaryLogFileFormat) + }, + AzureDevOpsPullRequests(), + settings); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` + + ```csharp title="Program.cs" + using Cake.Core.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) { - MsBuildIssuesFromFilePath( - @"C:\build\msbuild.log", - MsBuildBinaryLogFileFormat) - }, - AzureDevOpsPullRequests(), - settings)); -}); -``` + return new CakeHost() + .Run(args); + } + } + + [TaskName("ReportIssuesToPullRequest")] + public sealed class ReportIssuesToPullRequestTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootFolder = new DirectoryPath(@"C:\repo"); + + var settings = new ReportIssuesToPullRequestFromIssueProviderSettings(repoRootFolder); + + // Add custom filter. + settings.IssueFilters.Add(x => x.Where(issue => issue.RuleId != "CA1000")); + + context.ReportIssuesToPullRequest( + new List + { + context.MsBuildIssuesFromFilePath( + @"C:\build\msbuild.log", + context.MsBuildBinaryLogFileFormat()) + }, + context.AzureDevOpsPullRequests(), + settings); + } + } + ``` + diff --git a/docs/input/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md b/docs/input/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md index 99ecf218d..bc95c9a0e 100644 --- a/docs/input/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md +++ b/docs/input/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md @@ -3,33 +3,85 @@ title: Report issues to pull requests description: Usage instructions how to report issues to pull requests. --- -To use report issues to pull requests you need to import the following core addins: - -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} -``` - -Also you need to import at least one issue provider and pull request system. +To use report issues to pull requests you need to import the corresponding pull request system addin. In the following example the issue provider for reading warnings from MsBuild log files and support for Azure DevOps pull requests is imported: -```csharp -#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} -``` - -Finally you can define a task where you call the core addin with the desired issue provider and pull request system: - -```csharp -Task("ReportIssuesToPullRequest").Does(() => -{ - var repoRootFolder = new DirectoryPath(@"C:\repo"); - ReportIssuesToPullRequest( - MsBuildIssuesFromFilePath( - @"C:\build\msbuild.log", - MsBuildBinaryLogFileFormat), - AzureDevOpsPullRequests(), - repoRootFolder); -}); -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} + ``` + + !!! note + In addition to the pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins need to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` + +Afterwards you can define a task where you call the core addin with the desired issue provider and pull request system: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("ReportIssuesToPullRequest").Does(() => + { + var repoRootFolder = new DirectoryPath(@"C:\repo"); + ReportIssuesToPullRequest( + MsBuildIssuesFromFilePath( + @"C:\build\msbuild.log", + MsBuildBinaryLogFileFormat), + AzureDevOpsPullRequests(), + repoRootFolder); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Core.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("ReportIssuesToPullRequest")] + public sealed class ReportIssuesToPullRequestTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootFolder = new DirectoryPath(@"C:\repo"); + context.ReportIssuesToPullRequest( + context.MsBuildIssuesFromFilePath( + @"C:\build\msbuild.log", + context.MsBuildBinaryLogFileFormat()), + context.AzureDevOpsPullRequests(), + repoRootFolder); + } + } + ``` + diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 8ce854051..11ba38530 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -106,7 +106,9 @@ markdown_extensions: # Additional configuration extra: + cake_version: 5.0.0 cake_issues_version: 5.0.1 + example_tfm: net9.0 version: provider: mike social: From 154a3b1685a1e0238a41e5511f5d25d7d471a228 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 1 Jan 2025 09:18:23 +0100 Subject: [PATCH 178/201] Add 2024 review blog post (#917) --- .../posts/2025-01-01-2024-contributions.png | Bin 0 -> 32070 bytes .../input/news/posts/2025-01-01-2024-recap.md | 76 ++++++++++++++++++ .../input/news/posts/2025-01-01-downloads.png | Bin 0 -> 57107 bytes 3 files changed, 76 insertions(+) create mode 100644 docs/input/news/posts/2025-01-01-2024-contributions.png create mode 100644 docs/input/news/posts/2025-01-01-2024-recap.md create mode 100644 docs/input/news/posts/2025-01-01-downloads.png diff --git a/docs/input/news/posts/2025-01-01-2024-contributions.png b/docs/input/news/posts/2025-01-01-2024-contributions.png new file mode 100644 index 0000000000000000000000000000000000000000..6de62332b6ca413648956203aa45d260f50b320f GIT binary patch literal 32070 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 SN9b@FxavdA2PH}`-uy2qmnx(H literal 0 HcmV?d00001 diff --git a/docs/input/news/posts/2025-01-01-2024-recap.md b/docs/input/news/posts/2025-01-01-2024-recap.md new file mode 100644 index 000000000..f3dd5ae3d --- /dev/null +++ b/docs/input/news/posts/2025-01-01-2024-recap.md @@ -0,0 +1,76 @@ +--- +title: 2024 In Review +date: 2025-01-01 +categories: + - Announcements +search: + boost: 0.5 +--- + +2024 had been an amazing year for Cake Issues. In this post we'll look back to what had been achieved in 2024. + +![Cake Issues contribution graph for 2024](2025-01-01-2024-contributions.png "Cake Issues contribution graph for 2024") + + + +## Alignment of addin lifecycles + +2024 started with an [announcement to consolidate all Cake Issue addins] into the main [Cake.Issues GitHub repository]{target="_blank"}, +which has been finished by now. + +Beside having all addins share a release lifecycle, having them in a single repository also simplified maintenance work and release process. +This resulted in a total of 20 releases of Cake Issues in 2024, including one major release with [5.0.0], bringing constant improvements and bugfixes. + +Core `Cake.Issues` addin has seen a steady, and stronger than 2023, rise of downloads during 2024, +resulting in nearly 1 million downloads by the end of the year: + +![Cake.Issues NuGet package downloads for 2024](2025-01-01-downloads.png "Cake.Issues NuGet package downloads for 2024") + +See [NuGet Trends](https://nugettrends.com/packages?ids=Cake.Issues&months=12){target="_blank"} for details. + +The individual addins had a different age, some up to [7 years old]{target="_blank"}, written for .NET Framework. +As part of the consolidation of all addins in a single mono-repository effort was made to unify and modernize the code base across all addins. + +## New addins + +With the [introduction of Cake.Issues.Sarif] a lot of additional tools supporting the [SARIF] standard +are now supported by Cake Issues as listed on [Supported Tools]. + +## Improvements for Cake Frosting + +Several improvements were released during 2024 for running Cake Issues with Cake Frosting. + +For all addins a NuGet package optimized for running with Cake Frosting is now available. +These NuGet packages have dependencies to Cake, Cake Issues core addins or any other required dependency defined, +which gives full control about the dependency, their version and update behavior to the user through the standard .NET project system. + +These packages also support implicit usings improving discoverability of aliases for build authors. +Implicit usings can be enabled by setting `enable` in the csproj file of a build. + +## Updated website + +The end of 2024 saw also the [relaunch of Cake Issues website], which has been updated to modern standards and tooling. +Effort has also been put into content to improve discoverability of documentation for users. +Examples and documentation have also been updated to latest Cake Issues and .NET version. + +## Thanks + +❤ Huge thanks to our community! All what had been achieved in 2024 would not have been possible without the support and contributions of the community! ❤ + +People contributing to Cake Issues in 2024: + +* [christianbumann](https://github.com/christianbumann){target="_blank"} +* [eoehen](https://github.com/eoehen){target="_blank"} +* [gep13](https://github.com/gep13){target="_blank"} +* [hotchkj](https://github.com/hotchkj){target="_blank"} +* [pascalberger](https://github.com/pascalberger){target="_blank"} +* [Speeedy01](https://github.com/Speeedy01){target="_blank"} + +[announcement to consolidate all Cake Issue addins]: 2024-01-14-align-addin-lifecycle.md +[Cake.Issues GitHub repository]: https://github.com/cake-contrib/Cake.Issues +[5.0.0]: 2024-12-02-cake-issues-v5.0.0-released.md +[7 years old]: https://github.com/cake-contrib/Cake.Prca/commit/438b3a1a609e5b9cc9e6f8f489a73988f9ed1f4d +[introduction of Cake.Issues.Sarif]: 2024-04-14-sarif-issue-provider.md +[SARIF]: https://sarifweb.azurewebsites.net/ +[Supported Tools]: ../../documentation/supported-tools.md +[relaunch of Cake Issues website]: 2024-12-21-new-website.md diff --git a/docs/input/news/posts/2025-01-01-downloads.png b/docs/input/news/posts/2025-01-01-downloads.png new file mode 100644 index 0000000000000000000000000000000000000000..7fff02576eaade7ce013ee303bf840046f3848cb GIT binary patch literal 57107 zcmce8by!v1y6-|%5G4cwB~_3Pr5i;Aq@@R$3Gjg9rlxfndHC6PANOu17#1D3R#b zz$fBzBn#jhij|zG5G1dQWCi?iUGIg|3kakj;P%kyslq@sf*OU!;bNvN@jpw^)m*cu}ZY;w4y5&!jx{vyOXY9JI z2Can8ZNeM-R;-b|28{^owj;8`putS_=dbpN?z355?P1;_;=bJbaPy`g$>rX2RCf`q z%e@4*7Zhlhdp-3Df#7C#}F$mnm;H>6`ZSDLPt&Qg~Rgx$LIR` z=c<7?eVOvU7absV*!hd@AvLPhX+oem@vA9g~ca&l#5g*`Qce0XXq9*4zxxu>B)s6g4+p6>D-ABKG%_^B)6 zdV3fa-@~}E@l}~Yw?O%1GY@oes1^U-y={BG^YgG9H*T<}3O^2%PVb+RrVa1N9J+h? z=hFw;A`~qPma#E0xOjLvERm8_5|WZBM7d{Y&fda>`n^fh)6?7A=I0A6)YQ~jGIM*! z#vIYEJVJbYeEQ^u;uc&aSyfgR7Bl8tC*Q9wI{(ogQN_`uQ+`ScB^w(XA7Aw=Ujl`i zgoOHz4tgG*C`V6|iAtMdU$d)U-)3gn$_@3Lotpy#pr4-%29lV=I6@F!tIXi<>zh3J zG%_qK?IMS~!gfPd2>n3!-nm|5;7Rx6z|TDC&mZ>0PmPYMWGbw7i^#)Zre(VQ9>2f}Il|*0#s601GG-N=!`bI4E3M zsamA_Gm70vzp1mc^Ydr)K(UmIg#HyddHHZ=O{P$BOws11rjQb3}xa)Mdo*3S_v)oJJ*rpB6+Ap#A78jf{2F4=F-yErZH$A-bJ7pK8FISB= z7L^5+%8!*NR!_Y_AEcQh-Cu(qSvaGAPhp)9GL zV`n?NBM*=3LSjNf*KAxH<*y#qYNbx2`Hvqzf-7@(cjq)2V*~%(p4Tr}5;Cbr1P0zE zAt50m5=W0@)x$b?J~7`G92^vsG5h&0MTRsp3ro({U6s8?7nw1=Xgpj>lH zNV|71w>Uq49Sv;>Y;WA?g(E{OX!&@1MBD=LG%4SA7-bJq1k_6z(y#Tz0zNsHc9g( zeNE@nq+@*~{seHz>g7M73UXiQ|7WQBuaWQIL(}_S396TWda*s5!8T@DA)ea1t3eE< z8Nev<6ll2q*PnGNF+o+vdGu{~PEeBX(fzE{Dm!7A)Fa%lY8)qaawRJ}>5(dFt`7by z=stB9$(A>=<_-FEn=|%8d#$Op25K1}7A_XLZ^0gM*61x$mh!8MF|D? zRyLdJiEQ#;u{t6}Jx{zgbZWOoa1jwz%)YXjS9DZ6VN)@9$_w4BQlgUY6@^k|%GQ!w zEshMTpP&c@nJsjm9u%)kJp8jjK;(56!@vAKG*1*3&lYXcJQYA>?MO@J$(ivvc)?t# z4%hiDB4c2=5B^$E#zH$3$<6pA@&)kl;Tr~-&hoRd-KA;HC^D!968$BnX&?=wY=R@G$wTz0*YPsc)^#9*du2J@s-3_?~?P*z3P z^|b`2sADLOP;0PUg;x<{jjGCRPEm>5@^)c=jb45@Zf2o+-pQ%$_o*Xs(K~)pX z@P?C5^!80yG<}Kd-JAUEP&ZW?fVP1!9{J8JO2zPi)l6)> z7x8n&tzE=6_n%j_?Rb3B?R)kh8Vzn`-giXJ123%7TGm8kUJ|2=tIL|7_p7#pOW4L% z=`YcvR~Qucjiyr6vPI(kH}0_{oyWW|aX^)pIJ9;li0f|;_URhOsnjUuga^`;5tDN#bBHLyD}W{ zW;|x&89Jh+F_mg`PLpG8p{p%V`c}@>h;L%D+s;aFti8-9GA}GSb`&p*M9t!ER5L3+ zd1njh?(%d^_{SMaWSO9h6E-UYKSlRZJ#d5w&Rk0svZ`a%&VEeiQvOumApElV^=zU% z=AfU~p$frMCxgc9nmWQ7El8xiwr4_O)Dgc}Yw>oc^{z%#1-At;uZ5TG?%7&VV%?3S zqEfbec2+aC%TVwfwW*|F?CaMT`9veOJgncKw}r$cI9tA1#CGMQS6_^e)9ayKFSba& zIZ~L5fC;#&3c9_^ssanz#qB%#bEY~%tc$HBWWA}QV8Hb9VxuakmIFS$Y(CPTsV_+j z$d=j=40;qPNdT5;5E(%uC(qAsX=#BnVti`2ahm|dJW&ymc5N0Hjqd#rWd{m@2;CkWphW|NZW-u}qe)!Hg1 zA(5<_9}*Js?Xrc0+)I=dD{-!}+alvKe`{^c_Go^jK&x0jGStVJ9P8pS zD-m~ra!hbAtNr#{WNu@LhE3*tysIN5_FobhkFV9$eBQ#dOG~1Dovp128X>Iwug=R6 z2!zMi#Ft(K1O&55m$_!WQJ#7pU7l=+k%@S!cw<>m4d%*}=LHAL zzki$d zF#)7n3G_q}%~bLWk1PM_@nEc#9R`{R$%vJJgk0hX{1NYROR&_EiId*Xm0-?Ywr<;# z#W7`#>LV^g5oSWKRbrn=RMj%GP09S)956j5owjO%f`WQ_dbYQ>2^dv-L@#F{)#TruEwHYH^C(y~wY2DIYcr^qe|1C^7ZXE&q`fg#GO$!!TwGpW4zfmp zc(dOs_)KBb?oyKfH&L+1=IEC9dPg*#J^$kVW)lQ_<7WSz4Vg-AG=1 z|5uXsKV)qjIb7p$oaaj^KZpm-u8V3Y5^rp=FSK00O+f#Anx(65C8LY1_~`Z6=%~fU zI$qvVYu>n0EuFy z2?+^BT@rjihRzeq#LCM0`0+=_YDRW;o8#RDxy*s5rjFv2xUYnTwRLs-Zr(4@>m~!K zTL2ks;!WU3~ol0SVAtjXJ0{-8`rF1#y)e+rOR~|2kC)0e19}7h9o265k!*;{#$KXe*;d>9u6{?~CE1qM{zW za(n*G@nAI~BBIHcP(FMvV`8RL>H(ts&6_vnB$wE?$DDR>tRPTSM!h3>FrVL^N4xDi zOXO-#YK+}b%;xS28RE-N(7h9|rlT=w3(|(-3E`T}`)wJl$NJ7W+85<^u2~Re5T5&X zwznrS)&9wC^-otiiynO1r+eh_)k~(m&bvnW5!8e?)?qC%!nQcHN(-#Y`RUeHrP;b> ztU_YrY1P~HOvXkMCvMQ*zbC=@cZ`f!ZF|BLXb@b%ufclgvWeJc`gx#v;>hFmMgL-n z`X!l3OyrJ4Pm2~$C6Bo@!-Kh%_nNdKVxnf@jhcRj3E0(x-@!32Z}{}!L%QIO5TZ=~ z^KxM-s6kvv`!Yq=x8iTDoy>_)%zL4&=#Mm|HY=Bk-n~-O)zD<;cAO-}LseZR_bV!X zYqM)xQAM?U8d>9My}!P^!BS|nXR~!swSDfPo43EYiSPL*UGLlzQx8-G$kj|QCe7rY zGtSy^*P(wR{K-Tob9na3%UcytSzN1G+qVN2llxLZ7@ruc`tnQ_M=f${U9-nW$R^n* zgkGZ;lol&LO>69uxf%c4abW0%`y!U9(RW9UyrwsQGQbZHeCY3C$A^@i(;QAW8M{0? zwHV!B{?X&7*Ren+B<8J9!TDq@8B_1ZBY3IWH{>3+W_uvr0JJFXX7RI9cU!yoW|mY> zSg!vK-=-q1jt(COTaJCLe3U;K>f4(}624$^tSAbhKN^?TLmVH~#OitY>6%2I^tVOe zm086pjJ=ueS%~=>=<10d^~ucEd_HQYXTs?AAGRezTrTm~*RO9LEB0aY?M-ZUXgS&U z`yg_O7~@6`2FkRC>!#|Y@X}LXOz5N1?0FWG4y8V*!5I9Dm`Rf}D)HuAR;zzNM-wLC zEVnrvv$gVG&`CC0kN^uL7q;ye*TS#ctj(=SqtA>MOp(tJp041KV^h0i72w$|tbZWa zy}@Ov*>Xy`2D$1{z0uF+<}Z`4lY3v&8CH{szA-4am}x8;s;NPoBZ8gEvQF+0cX#PJ z2M|DAW2}#c6H?5ksvn#yb)Bs2d6gC|O{a;=Cti_7_N1X=p-C(bnF=bDCFM}rq#=Fs z@K$S{lc((!yr1IDq)hhStsnD#0*~s77roJ<;nu{68!Wf8;bT)lsqxI>@>;WLe~6yJ z_t~*(0%C^?wLha;ZJR-`IWg5$-Zj>@(9gd?ux=SsYOqkdrWz}qe4ZZJuW$2u<(S-r zYup*(?{*h0346j`R>5&~G5Hyyn{z!cOOqG7$oAUTj)i^Ph`%m-ZNb7jNA|JF>ATc( z)Bz%s{X}B-I_`{KL-|dD8gi?&b~Ko8jXit$Q5;0>hx2E#4WFXB!rK&xWhNcuPP$822z)`RUcJ6SRtA-+ z_}wV1RywE|k4gNifR1osDW0`;VlX$Q>{}$}Ut@C*bPw2Ih53i zvtb{bpKToomRL)k5mE?EtuN2kTi8tZh%~^j|21vEal$$j_YHLz2qM|PNi7lN?W2b7 zka96$89S&vn~K|*tuJ^whfiI9?+PJ)82+e`2(w~yaVq?#XmW~HY?-eE8Q}f%WMM|6 z2)*mJq7Ba$PhsEeKTlCW9K;i}}YEE0V%Az0ti*p~f&7T|J^AOCq zbW?$-I*w66hP<_Or^S3Jf!H`1qouA1+L)3Pg?@)|1fg9?xzG#r*VQ{2l4+_>E8S2A z=uxAfad-V^R5-##Cf?F&mMLyzFrOQKTuespzng6>0>T2^mE}i%MG-N!S)B9epC?2A zt$0ei4qRi>c@^s%@(9ce?_X9605*~5T%79qD{I1&b5F@{qb(r>v|h_{LPfF0$1HbJ z^1_v*&+H|=YB%^i0Wfk^%CDZ%yIyQ#Hs6|SEn-jmkE64xPPCs7uMFzdPTA!eNkBDa z^n^b1x13D8+W=!5Q*69GKbd>StAfXz$FaisSzg10P1ldz7!9}ho`Fp3bQW_=dBwX!2xYTOIdQKeY_p5*Wc|ZqP zLq$3YlFcejgmr5@U|9?@>WBliiAmzgE;l17!JGNl|BUj12$+0TQN#s%4R#hQ<3XEY zZ3-f`Yh8rU9PTJGumI#jyQ8?qdnL9F{|t*PHpq!?%*&RZi^-L`1 zM%8R7ZyT6h$cT3bj5s8o>N(Z8UnrNaoW;YZ)`q(p&7Uj2MRu3d*p$GOHMBH3J|FWO@{J-bp{kI7Z=#7Gq~0g-$VwD`i|$>{T9YQ?bX_XaaGzU z9y<=!$A#noX#FN$t(@D_Z*Bi*cZYi|Js)$Ex6sInUV>nJjAdt>vo30&Byvqq&~#7a z@NV$A43kT+iHXXJ`ZgU)exPqaK)4uXZ*MQXQci1ITO!d@z#@ltG&VH6zidK6LK(B0 z6IEzfB=<>4rO>%;*Y9sA2qiv!^5hA_Wqb1E70o@O*GeITy?^J3k zNv!q#{U^Vz7{s2MOj#F!S-chNNv=$bP2t-D{l@7~Z5RbqRJz{D{CUo^3(=)+^Z>C6Bs_dtB`JqbWwa2cVk!gFS`8?*ytI^at;s;Y@ zx0N>Q1dhG%z%#CvIM8#mM_EPr&gux|EaL?h%=zRQYN;`Oo?mFOf^l~NfO?~axyuyO z_&P9(rJ0#WfnxeULzNknXy|I7UUY@Z3@&z1IXNMt`F;LGL`Rg|<3O?W{+;8CGpw+V z1%)-FJ_eBu5Z2kP)!Y<>r+-xn_~o=Pt`QEf?3e1<+}Cz5Ipfyw$(Gnm`lrpXm?i^D zFNACjb>E~DgywxzIPlD`A{`%KoGw;ntht`g14#b*`ugwgXkMP4Oe%%*v38RnkEVV^ zDJZD1$e=us&=YA#`s6YYK{duGwziyuRL)i0?qjA1{pm)`{`06k`0dTL8Dk@^=VmX(;Cw4Ln+pJK zP@{x;sU)$#Yq-8Dq^_!}3Xr?KeK{gcbQPcKABx2gd9E$xfu+RiPnwf%Pl|*1SC8-7 zNV`2x5UeXIDw0!~lTV?gr3GyHepVZRAHRP6T2}0T3PcD^q#Qu3|4&uo@`E+{F3RzQ zIVB|}An>%zWe#?09%cKnF~C?B!X!^H*~Wv0WCl9aeE zh~uTq%*=ssu!)BwxDO!FFkM|;VPOw3%07642$N>5I$bD{{}*3hwIW^20|%g#0D$ai z(HJ5|>GSz>YiDN)=F|7xar^+(lJPqVGe>^8(lq{pz8Nk50(t*k4jH{k1kGfZ`$VUy zZn2iQY>-*4kd+dU!NByyXouV&d`qw(?w;0s-8%^^f^Z}f2J0o-t5kSwO&R0L=3q{` zWoi^4)NM{btv!P2{ZUb*LIJ)*s#?KMsHi}2v8eb3n6h($>wp%swX<8=JC2KsBf+BP z=8hy<`GbnPyP0`;)sWD+VSU|LP*6}vtb|q|ert0x?(5g*=&!}Z61vQ;Ef}|A+0&0%Ib@EX&6FjVfh^4==gYZT zrGy03UuxsD0;F{{#JrNO$%7+Irm)R{R;s>V<<#glz3|J0OUbt8W5* z6R2b#-Q8cle0iV+KKK`1W?#)KJvH^N(DiFCotpc{(c6#`O^rKKhK zODnMb_;Fc~5&1Yk_CRtZp~c*F{A308!n@Y~#c%uNpqEwMdZFzhsVobddq?SK5z~Aw z{SgbIrLkQphxjz%+5YOTTxOrmQu`GNSd#c#V)Am5l0L$&Wkdp49p0f)ZC^0cJXJh9 z+vIxyoxFbS`|4mertiR}`AHE_b>uREe(O?T=u>(BK0ZD^9v&V({-+KLWM{VXxvZ+D z!Ag6Hfw6}!V$aKs4_8wRvT^6+$rWhg1i6MwX}5fDX*mCib&bI9srY0BsN#$0QD40P zyWB>2>)+*}`nv2f#(YCLI{9-PxF3xD+u?Fkc*sHaDVq z$CXuLP7bBU1W@v@Vy0f6bdwG=2O6z1nL}*0lZY#T+B_RXgzV*+uQgAsWM-F(s;g#> ztE@tnf>G$|7-uVp&uO{@z1cSrwHiISipkz6jGS<`Z~7fM{Trd~0_UniVOQ@|z*2b{k*?1=}?Zb#rg;3}2YYsLWbDpR7$;jy1H7D=4>;IZZaSOOv?eX1kV zg;w^V6_f#rs~oWB;cL2kg6r7}CQm3TIg;@=xQE<%InJG(mzt%2>6jg5ti-jM3iy5W zDl7W-wig>xO>&iF)^{}Y^?gb2FwSAz@k(-azII#mu2p!yx z!{x6KFJj(s^Z$x*ytgrt)wl9lF4v*ZrfZO#I@h6WE62^`EDGxAQVGuKPAE7Ro}jsS z^kCv=Hq@x>b&XoHE6@JOaIywTR-GK$cF^-HW$@s2ULT*c99bd4tSVuOe`@r5e1XF@ zC)%7`QC6*DVYyJj-WPMB0gJLxwJFueuZqfa`m@5sS{a$Xu}bMhOUk|23c3d0G028Y z_qg` z{JE`y>-G*;dgKR33aA0q#n%M0nLFo>l>7qhYs1Ma8iEshgXDw&X0eeB)pBbl54o_E z2E(&OLf?1Wvs)??4NRcq$9h2jpugXC`o%m(c`qxf!>E7l4-iePzT_0vu{?3pbNvN( z5$awV{uN_vLUprP{RmbEP>%Y!Mc)!0kDBT?EI50X8E=62Ga(*_su*>i<}i&8sZaGUqyPmE{mWZVH4q2*cRjAwW@W;d0&6fg&b9*tj`qqnf zV)4RjRmvTPkPi}Xxrr8ap6i{dIG5#)z*7Rhh-V20)BaLGWm{M0nm@a^RzuV~_3G9( z-5)seC8R@9aJ_01Z+EG1BK(5K4sO&p;b0_P=DZcaT6R0Th9^7_N&=D(C|uoM{V^U` z%e?6O^-ItQ1Jng_MW<}Z*f-GXOA3evOC0upahAFaTnrz(P#u^Wn0Uh%8tAd=nve-* z!Y0rPTKS<_rkxrzfmoW3V#=~YHM!b=MFh+O_Ghl?--pf8x9z&mjt7oT^Cp-X3}E9n zMItu|r@mNCt7fO9`rE7BswVq0Jtn|HK!2o}4vjzlePo60(_ZOXsW%zbZ{(jAUnfrk zHP{ygYg)je8H`qTGyzL0+XWi~@@MdQ5R;B{m?5kW>ldD#Cb7cfMMkcWS`28H*)`N2Fm{iCE> z4cnJ{sHA#!s>!YBeC~y}#1s-0mrd#q7K)oSm+8fy*cx{_odY`3cx7=UHFXV;pz}HL z0@V_%eA_o=@veII9Q_fUAIE}e?;`7H9Z9Xj3IeauYjnSTA*-%yB7SF&c4;NLnL*HU zS_lw=hD>P>R+oRKhi82&EskI<-{_L@OnG%9?ze7dP=YC0SE;SB(FqsC{>o2PzXlW~ z9;>Q^y@rYNy0MGVp#dP)?;{=~{9f%q3*!Jl%z}@*@>m(qzX42ge=?q3Yz;I~7Efrl zpRDu#Lvz5gbpP(`M9DQ8m)zuzi~hN2b548LDpQ; zFxN-!Q}#rMBeu*13~Ec>A`#ZM;r#Xxajv%bLD&sc%r(c@Y7N)ODK9;*aS9ZK%auY5 zGg6H;MT}`X9z=rWn7^;CLNap*3Lrj^gTjlAbIdme%+hTE*MO-%=Zb*46+1EL-O-Od zo8ZcmVwCAYc|LJ9MeK8*OxlO+rF?<8EIO9boG03A4=(}^=>e*03;bEq+x||?r6Y&N zx7`r5Jex8lKYuu@YPs!dBC}}R$>GoR@x?PP-uf^9N&v!F z2HQ>f@4cx}QCU7YzzDu#f9>2e)%=Je+VJq8aCb?WX9 z;sCiqajUqH(6*5MyEg$d4Ce7fa8PQ0FLtl8>NgNh%ySr5(6T6k+m@d|eq;Z+9Q@Di z_r9-nvBj2|%ojG!UD&DP>@I;6$!z{J-95U-cL5UG&!|lUejk1tU(ek_ggLJp=4tM! zmZB{)W$3u0K>&CSgLc2Q<g!tK_x-(M}sbG|wqtGxdvG#L;PyR8=M}1V#x^AUKb=FfJ)+&HE;wm>7~Q z6g-Si0OP#7Y+y$y@oOc&DjF7mXjC2~ytZF#>5AkE3JPE_*t2KPz!vNmUpkYj zSq4;N%hlgC*)W7dE1&dzwyanMG(DJr>n%D3@G0`)el<;lnZ@$$pZ;xAejVp7%~=&S zfcU&wY$5o2K}?3wsWG9xab@3bZj954gW+1eL_@VmUP8i$mN|c_`<`T1jUg8p*ify8?HyF1d4Mz|m;u6+Q%fW6ZhA;<|t49h^V{WD?EK?tU1 zqA(o;jltb&tv4==RhcE{@OvSso zxw)fZV_{-y6l%BeZdLaq4PKiwGcQj6RrQ7z1%6)nFVKG)ADLQ-hoVwo@#R{co9t!s zzEkV+?ZC&!u-VN$Q$#b9M9c^m*_D=^Keg>*e!b>DB>+!<-t)sdENNxBX=!w{C!3vy zJ{zIJ3$f3P7;eqgsNw)~iid}Xj?NIwI!|U=~qjx^KPhlkGEu4f&%+VPys0pCgC!tk<`;ow( zEd1}lKW>WMlmK9UB*gc%NA*KG5&wz#pU*K6bPNqCr51gq4^b~I`6MmBQB{Sh0-8BV zbmzE;;M?h%nT^U~YfQw(m)gGECsR}76;AZ7gl2loc8Ec*g_q%ESs@O(z=*_pTB^_{ zS<|Idrddul3y24#-h4N|rCd7QXsnpF#xM$=7$_kv%|t`fQ>INuMh3=HDAD}%a05uP z3KC%v5#{DHLg#oE1Gk?_Nw#ShE-x=XVAYlNi*bFP8n3S7bhH`EW%0Piun?G7sidNM z{s-eFCR?6@QGjL#zca0zXD6_S+sn{o1ERaMmv6Y{A~ zfbr4LZ2*S&N5)(Z&+YauYA$djp+G_!dwvChmEVfB_p-8Q>dH z^^LiQOrmx<;B4E;Z(J3txP(4a4D0Gscdthn)Oqd4vu14UBXW~<4;_Ib^DREm%MdCSV>ZxhbtesD^*C ztrsijD~&r}uH<+hpN0i4&_Vmrkah)MyOafA`eiiqM;^$ z`%1@hPGc%oG$_oE^rUp}vwg<}&~Sb2Iw$J%g_k4zNozDRP*_q=^nWbB!mGTWR(Z-M zQ1|$o2CE(?EY%JZ0{LTTolaE*X+C0cT1_zKGr!Z8wIf1vX|t|oRXe`v)H1$rOMwrb z{*(?eHqx4$$69tr!?LF#DXc6MpxP>L?jQlfaWVGi9X!y)AV>Nz*w`?YBH3Z zI`-If-95sfrIu`>(mR;9J4}EG0&}`b0MQ=_XZQQ5+s=R7ewORXzP7S$hE1;!#rCeZ ztcnR!!?IO(_XOoG+GAT7mo0mlLYlK2T{!K4N%XG%iv9~X?K*0 zSE$`%Ddf*J)t?#h*DcYubV%Kp289QgNmPAy+vH>%EGtqx*H6afIj}oK2eDW0?UjXc zndge0aw3_Y&RvTjQmZM)fXEUE_|L7ea&MOk?pbnmz-Y zp<{_HFc%i&a(L`t7|KC;OG5<)`+hzHP-W}R_q<<_ZRRUQGT)yi(r}~KdRRq`N|;o$ znBN3swsM(GkNFI-kHBQv35TaN z#no^=ovjBj7dbc7^ZLk3N{h=MGMwm#Xr@Z)yqn|MTOZjs{J9M#!*7{Oq4ERtMW#Z< zqCQWJ;oFYPDy=FfVx^NZv)zLb)0Vmi6k`HE$MS$;nR0@8;IqRZ)OU!h-IS<+&P zsp;72(#7%ply@m#N*YffOhMtod2Hj?tfqeong}VJGONeXX1_6X)H3JDnZtN=od2es zu{gUK8y~Oj+wL$zc*NI(@p0MzdU3f(!FyDRsDG98Dg5yz^ z$B1CdimVJ_q#iTXbn41uUL$-W!yJBEe0CK4fYnuCa6NVdaL?x}i+f(o3%?u`e)W!z zOauUqE)R>uu>^y_*W4tBPh+FTAq)uk+(ThXVZV=XA=TE~Xm}uiRWs1dX8|S%h9i&$ zya{j%D7Jd1fGs-|XIC%#$jWI)ya4(8w`?R9yi9o4va=C!HW(pcPwmILL`)AK|be-V23u zyN@5@usNF9^Nzjo(X>MNJg6bD@S=oN(_KB+bveRWd@l4CH8y%Dt~Ln(3<+_@Rh>*5 zNMTp3DAEi#$rmmwq5>6u6F+1hhfTLYjM^-`=Nai--Tg;n981RYzX3Mg8t!t}Yk@th z(X)T6r)pjd-;}O_XObr1Fd@a9|BmBk4{VCuv+CQ+iolo*b{Q$+hoW}|B z2F1N-X4dHE*}XZ8n^vU`Kc@=T^E<>#!UXbsFg~3OQ?PHgpG&R3BJkZm<73)}w}hSB z90QM=^Uj`xIjx=VO&fhxTG>e6?$Xp~)EdoY|H4Wt17?y`Ouhx>wnO z6>C$#uYyC#6BRfaV8<4HdUL!^oVE`=0OfE}viJGo{qMfa34<+mz!bz@21ffEfS)_U z5N{|;J-k?bUe-OUD@?t~<0O-&(BGm+1rmLW1vIQE-1193pNXot#bu`@A;Y-9M8hze6zjF)n~Mg=8Ri5 z`})|wL4CoJ2>7I>p73PT+&Elvz^~mNeizHX5~;U%$I!^cps$X9ol6Pa`E(hdj566i zY*a|~q2x*9J@7~peciLW4f4D=*b`*&Lqfc?0Anb;YOU`#e#b5QD@$Xt1x^HPID0#AT#Q;ch zSv#@l$WWN3%ue^Ii!P!$5_l_h&T#iv%B7XkCKP~}o%VDtKmlmd0I(T9M7lf(I(HDf6Kk%0pmb9nsXKEmnPeqqxNcq)o_+)>E=cGt$c8r_UcT1un%Gk&IP@q$OC zdO~KqF$WT-!MK&0!ewca!=OT>;$1`RMg4A z;b3*pw|l8Wo25dXjDSFd6yw&dM;@)(g%eeF*d$y}d3d65EZ0Y#jg5K;y%QG~SH5iG z;y$u8Y(f8B@xpXy%HRs!J;OJV>RDP6_^Y@Eero9YHb`oa!WI^Bx@O=zhA>^?H6LSJ zaN%mtPs=SMt>Bo!<4G5hvagCykdluJ@aq2^#|VT3!vkKk5#>SK!*;eP@hv43$OpKu z1Ds^-4dW0fenWo*>JD*cXJ_AYJ!EE$4kjD=zKvo^KGSsa{BG5qBy1k7Z37L#9$GJ~{~6e*wm)9{YeS_PVA842H}_XNJF zTbtm<>iYqo1WG_la@TVg6?tH2U$N#9h?l`%u;d=(0hQ9#SpX#F+rc8vCFDdV_tGb% z)jRgE$Ad%SnB@&Y6&AekxEc_gZf{yZ@Exct70&BBvk)o&R!K}jTN~FE>{ylpHJS!N zLElLJ&104wTXBHv-mUhvKB1=O<>t0o9|=5R`44`PItU-|i}a~pB&OZ-YD}!;1&(|y zuViviO0zA_k(# zg}w)+M?~C~2n=Gw?+w`$C=epPB4X}H$*{n{nYA?|`)5D@wK#RKb_~=?PamZ88jhA? zsRow`(}!m#&F1%IcW1DV*|eD5I5_BqirARcZp;CdLeJ#Fz9)L3=GG$+%?7us3xF;5 z=lE8e*N0XGa(P58Ba{&#qM}!0^hmW z*@ni(V`o2((t7JU2m zm446}%|9chK`8m@?#tm6tU6o%f3R3CO@Akr9>+$4`clD*Gpp5#k}MWhR*J`uK@lU0A5tz*JF_{C~ z{BOn)l}m34(WKAooxQz|t}X(MPr%#8%RAoP9e^We;?unZ$Rlb>N*p0vT-=O3;y6IL zPwOQ2>5Ibcv^B?2Rb9-)hX7~?nHSDu#SEFrR$t&%1gU>)x*1W?St}6lNNdh|`Um5} zk_>uB++KCscVRk#$X)H&X*!=VEU^j#(5Ksky4u>H2o1QgaD^5-BVP_)Q9{D_nSK}< zdCZKAemIYD(63#)rj&PCviso!WL4y+p}fb}goK2cm>959fNes;!^U`U?E2ep%`_#f zbi`77^SFZ$M;qdBt<@)~OZkEpPNJ4nW+!QHI{by3G$kt3QUq0*pc?lC$c7uMWVk=EV3R&O@#L(#N4WL*xw}rWm=Gv(px%i5VDAz34fy$0)oxP+B zst6t%I;Kn%fKp}T5ZH*nl9aYdBEm&33V#E0ja`4-t4bw zA(=a<^2U3v`Y@BhmSKLQiQ>;?XQyRmeZAv4 zlAQS)qpCAEYu0{Gu^l>&9!-0cV8d>y(#Qebc2V}(-a2tAt(EzX-53#3a z+$(Uc|4Cv2qJVg0yCXUgv=!;z9ttDCQeR`HvK~Dj{f4I*01(XwS{G-Kp6mnP&bI1h zo%M6*W5qmfITu3F(I9I(<#1gPoV#q-6JzZ> z?Y}AUm~b4|6Jqk?}FrX@1oB zc%V@(GguA>P%e)jx?-(;FcS^N&XC1SZ5&%`D&Y83e5gN54V|Pi1P^zw46KPj&&c@& zKesit5H-`vUj#mIp0Tl!0>1+-AbSEAD&6F>qaQ)fq6JC5e$)N}EGa#lyko%L`4Wf~ zogPRi4O2;Cd6myROJE{X6?9N6nFh)^Hl^BD@yU)l0;53zjAZ7dg9sN$!>d=K0h4rb zt}U`tv}S|Gv{*ecJfh3Zdb3z5i+$e^AK+2{l7$b4Qq9)3Yg4ti#>e_lhG)UEFm-9@ zhDoucI__e(J)BsozFNM+c-)2;?Rbwby6U?ldPO%a~SK=?`JC{NMZ#61=5~Z}SP%1c-iX zudM^?%@lcW+*Uoppov2&nF@%bwATB@g1?8@A-sic}B%y)hz1j%8m|#hLEuR~l<<0+ItgEPYarX1njp zSh>+$4{RO5H67eQVuI?A3=CovqD(cakzPf)exaFgY^9KJpbvpxXc?%h2j7WsMDu=* zY)B%+V4?9AZ!2*fxC;Zcj+Y- za8VaFp?)q1@~IvO5@Ukm3+eRaaOA}>TtaxT_rLuvm@f~I87Z|eBMIjUeq9>Pbusr!P(2vLxWfo5+K+1t8ve3p@s0c!I=TVB=&uUmoDI0C6A zQ8pqd2p5zQ6A*+21wFopaqAIFr18It&K&jOF1Wde#+GaZ2R{oiSsna+s*ECwJwKYaKB#;)?_ zO<;61ag8C-KhnT|6El77ukynD%XhHcA6~JRisnd#N~N&M8yc=I#lxlf%S6EIRQ}ad z{EwnrqOho_O6OzCOofv(hQ*ZsC$C#M9cl-!yJ2Q#ZZtCbZ(gDT{Qle|(w3Hmm+!{O zaimXM`MVt$1Q;BMl14HY%h zui-zJsQxo|0{z&IVyz0)qM@gkxClcsDxhV!6Hc^B#q!{X4_ti^Vc&b@*aS=G<&pzF z{=a#_6O4@`T8bHYy%DJ30QJ5grNS3asYo3Ib*uPvenP2<0mw5vMXr}02w%u0N|wiQ zF0Z-&T-sXRaj2GQ?XtaX3rbs6z)MEFz`_a{K&l8IM!86^YP1zHB@dRS8hWQlD-NeK zYa;;5?S24yA<(sYhXg4? zXiw~nQ|B-BWg~kcf(&p^UwbP!EZTktwOJp(3VOkvD5rhxTMUT9&uvuFlLJy{L+PNK zb<+7n$`u!mnVl(~$ajQ&K+-ob(ZyO$xh&cE@+e;5s`5M%S-ngFl52T$a`PhlSH$8n z_-Oex)B0k5(xi}cn6FIYm4-e60wh>{SV1t|cBBoYd!@6>P;esRFP7IQMt2YNHZYs5 z$n|v+6p$a3llJ!t_GW`|M_2aGret&(CIboX+f?^AOstm;l{uR&ZKrw_t7-siWcu_y z!|GaGaO6(p>J1~r2wil2*S4?dO=eYAQ(zA-`&Q#`W~N>}CzR_1$ruX4-S6$29IeQ3*P*4 z(216OMaQDnEo#;i*9uLL5D?I^r1AjA=yIqR@cO3d5>;^)N~Tr*AJ*PGEUIk#7PZ?p z$2Oq^QBV*RFn|aM*r*^`$r44BP$bDnv=u=_L_|P9L?lxLQHmT?P?CUz0?Cqd&av*O zqWhjczjN;W-uvF;54$a?s=e1bn9|+$6 z{r%f4YFe@8f-HRTN8>*t$mNejqLfsvl!pPOqy0rFUoDGOU=mTOKIJ*@p^gind*u67c{83KU;|j^e$g^79W3_$wArjYX5i3k)LTG z8rGaay06J}t}JHS`aLNeI23k2)kE5IF=kGjJfkB9S6p-;Ts*@2asEup>*GR|8!Ov5 zPH_76`{>j8lgvI7_r$(+w(6Zeyi7q4T)JX*CH;?RI}JO2_N0|qQq-4~%dG1c_~Kq1 zE-WhO2Z4BgrYH9u_~|sTC@_oc4dU>@of81iw()Wv*KBkCT)g;B6=4F zAC;_l-)%NpUgs~adN$tJDlsjXPLQD5Y(94Che`SJQ?X<(kt z^Ndc-TeZKzw}%PGZrdVE73Zkkge5e*Vl6n~+)S=xUTUzP**7cDK~KE!X#I&FnD zrm&j7=oC8UX6v;_PsZ7Ksb>mRef@4dVS51DDj5e`Q3h`29DRo8a-E^suJu`3Y8H5U zU87&mwl_hH1`w@s^{(@KsEzhAK&9`kzZhP<_0f-fmJz}qDKFypNJX}dX4e^v=WTwd zE>RrRv@Xn4)@V}KWVUj~1psmPqI|3_JG$)$+qL>N{Ygfp#zxj2YX$_;ks4|*8chJX z^d4=viSz*h>B~%g0{XcbjTOx&s1|olmHL(Luvqr!A4G#3WRJL898b^IM}{=KJ>15) z1i2wJow!S6r&%-g)z{X2oj^{wZP48%xTfia{u6^Dv-)p$C9kII^iDs1z4*0h`L_%{ z>R}yNM_s%9rMKd>3`VPnm4z`PSB+Aan<$g&SHM9>_0M$S&c_JvGl~&xCpHb#<@grR z?an^o^nsPjQ15mMtM#27f9R>VY)m6XsjKurl7_aa?WtYu7Yd%)cmAHM)X;Wd9TFy2 zfw;k-?#|7qJpC?c5Ae&IQDEVh8OFiOyR(}Y=FtLYOMSq26uvc%;5g{X@bjEcp%NLk zZNW9h@|)NWn>$1nzX<+Saveh6NX_|Ak7n9r`s;`!hUFh;&I_fz*)$sR#%!?7v2%9E zdMClO-IY&G%cAqCpxK(AM?I)!DRozzLR?+6=pF-4GV&NtB}wLSnTKN3LLz@4^R^cI z3IO(^n%4)}$K3?^XCc0M?Lyzz>AaP6s{N34s?DR@S(i zP?SK>66Xt&(x?0D+*ysLVjlbW)YB1VLDhrS$*N>sirUiBo;BaU1F=I{o3V8z7rno& zYB_CsBX#Mnf*jv?V1E}*S^DdnOR0SKVGlt)4TX-PNIW52_kfLSqdmW@$}rZX;b*)|Ipgm^zie)3-TBq*~`E% z*xil3mrnf2z#uKO7gQf9lI?}UKLIQG0OsZ0HR+#v=h7`bY8xeJ+kX} zF*K`fmFVg2mOQcx4NcsELiS@npFG*xcsX-w%KD&BZ+}0>&W$;_xivL4#!~-{@c8EN zbERW+OD;1Yf}lMav|tD8w^0wj+;6KK7IDq*xK0t@c%ZNT*2OCnQ1hqE+m3*?Ju8u# z{Njk)&eN{3qaBi3V z5BijK59B9s{H54a8S~gO^A&;Vmp82f=gxhX=KJvO5V%+0iIw1Dwb(9~)-9{7L@TS;KCZXI1rV~kG;QQ0lHX`obJyPfyGZSejyva+?0OL*x1VGf6bI+w~LJ@Z0*k=4)QHqNNtJ^P!x> zrdmvWZKL1-Tws8Sm=(xp85^2NK^`<2|*2#K^JdF&-nTCf6$8U8|(ZIHD!? zvV??U<-0_U^rS}At3DE8rCv=+D`c( z_&JPA{@=SCIfVY37-Pb?fA_y*(}ZS^(sO_12aD=oOifIN81KSOv_YYcne|qc8#nXQ zDP>9NEk`Fbe5A~~_Qdr1H-F>0s~LaD4WeC(MslO~cwXnfO^b))+#;Tubc`p0Irh)% zqIdt5b^J5Qpb0%5>=X=5GOCH5iZ?=Xck6URyfSh9j)Mv2U68tj%3-W)g*Txq&Aja( zJw4|x&)6MG(keE$oSdA{JDTS^IX1QtY_+0oil>842nsrUeR4pFHHP_(sIv0E5gy}x zehq%~mzLz&=8Q-&Bi&E$({9D_3i_)Lc3drAuH-$c& zJfqQ_;FW;`cj?P{^BgbLJVVY-Ik2OJJYQdN^54^@e@R#Jf2T_RK*35!r>(H?61BIn z1UKaD?7ZnP3}vnOo!XvXMn*=QMA~X<{0iESu(JQ(ktqBeWq8 zA31#ZPr>~5xHTV7Tt509P1ejaT7%j4I%TuA+vj_JR-6%w6Vp;V5w#=n+n>g{^Ge?4 z#}B)i$YwPqFHcHnPiLiBqeaUgPIDO>eoC*>>3sCs%I&j~)cF2oAKYG4)V6N&}Lbhh@ z^w3IqN;=9l_vuPL6j;!xud|nyt4*3EE~#GCVzja9aov!vQde%wVDLP#$UaWyw%%=B zz1!h+eUY2}IkcXsN0iY8F1jsAilWD)Fw`Jq+;}GttUsVHf@w~8Zkh-DvEtgh? zMOP>m{onS_UDd9aWvkjl7eYB|gT*{~oiwCEcC2*ekiwyA0@Z?$ARPrxVvj>`xI)kb zF_aF%5u1-zk9H<~eU&l1cx@<>S?+{q?o@r|B4`3}#5=QFq?`Dx(%$pVc!*2zMc0mzq)G z%!h7)Q=Tb*JhqAM%*10K?YkKxbHkULYS<`uK8u?8{9F!|m+pQ%aNhwW7RNDDRE=}h zv&)&9XNm-JLAR^8F1kD((7>K|peE|!U};0{x`T2wR2t-m^RI@%6~zy&Yb2H*yr@XA zaW#G4#Z=9xs?ryPg-4v6dj|G8Cch{nwmF3CoRA&*^5MWbxtg;!>KTsBkM%%TUj+SU zk>^(1x8LakiV3+7Qhawy#IVYzmy3LGYR;Nna7KOePEoXblT}kn;`2ZshStpMQTq?K z$qlbSt;K%$2)_TL7huRY2T@Mpx4dM&eCO@>P$Jl3H3Q3`BBP^A!#_;p-UevP#nmz9 z2TNmdUHJIlcneW;XynzJ{AnRCnWD=xIE~T1Q zY+zkxG_9gFrsW(0%&5(qDK%*){s)p#=e zne!D!jclP$_ekDa_(hpRDHzfY=9Olj(+6AXmWN&L^RU}2FF*JNZCu};2Gy0vRDl`O zcVKPUI$K+-_|$Ga5@Y6B)S9=5+o_#Bw9O98VlDbQ~jxl)l6JgpS1B+BJ~cPy-}Pi-%lvIYi< z8Fy7|zonv!*KFSKCz>?M8NX+t-H^>m2uQ4A-txliVvQa$&Zo}8jdRi*L{1)_7%Gms z=4ZY^t7zkzdx!nS7t4IDS<|m3i8$3%dWG3{UL%c$$z*EqzV%9RWR>#GJ;)MH{}Xo^K=z?qxx?RFIFQw8kT)hfm1nU_%2ES9LZ1%Qz};OJ-xYK zd9BZ-y$`=AP=#GK7B#;2OD{wAffV>hx?$mRTkC7Sci!W6kDVB5b7%O2&sm~pW<>2= z2Fpxnk%oSWZMn{wd~+*RN4wW4#?I7>ADcjb>QxCiuZAc0zsvTvYFeBJ3k;;27wqxJ z{FEsol9^I|_MKJf;zfNNp9;TzanAA zm)l(N@IlC!ELLUoV|x?2`ndLV@7l7jjO<(R)y0hZ#oJKExtE3P2+Fq1Q`4W&?~KM( zYRxKUEx&r+Y*Co&mZN(q%?-yC<9C~%fBfUF?v27h5|>U^(Ko%_-tlq8mM}{cmF1>bwT9|EaCueJl%4WGxG0C#O|XXk81-9@KQBJ} zI_Dxli7zusu#YwU^YNw2FTK_pI92XL!hBK4@##pwj()5k$-D`ZM~dQ2bz5@3{btf-JSA3v74cm<*|T5UPYyfL#NEN?zrzI5EA zZ;`c8sG)Ib?^$aZf9;Bfr_Muzr)nSEp|1ZL@i)E?>H{+%0NTgBk=gv*@=q*0cZ=&= zC1W(^Oj%G#j|b0l1KDsq5Yc5PVbM9+VJ4@rD?#D(X78Sl3V0EG%TfRBe@@TIDrL55>1@D?Z$1RM%PkbPHtweHCwqjdV=phnFuq zrN0vf!ngUTLgNh(1<|?$sbK4sTeIMxJ|*Q|Ei7mVaM0M~by+mB_ao^*b;)G!UGt$$ z3_0LrggqHHEJ}Ny_Bowu0N2!Rrx4ugePd-_E2}jwdd)emJL*0yrqLiB~rNb_VH+Q_=X>q9%ii-TzSu@BYl!RbmQYIxZ+*gZz(@bJB!Ze*Gx^HuT;{c z0Ivd7vfmratDY1J4&)gFNPz1+?;{)ZtT+Ulnl_lM%(QxSfP-`;&)?jhcY34~joGQ@ z+Wjh$7oi3fk=sLy9e%c99q7+`tJp26kMO%{YaR^Cn|$(4EIjFIZ2yD!bFMMRvU_@) zN6tTA3cdFI11Ti$bGm_iA9(_e!6THJnQmtG_laCUsvcR{j0P|^mP{5kTaXptqxfcKMn~EN;+pMK|$WQ;NoDqR{TK%Q@v;)94Zh z)9&f}G!5p=x&UAj)VA5)PNBtg!X;6eM^O(S3RTYFM$0Hpy(7tg?6?^%+OJizU(Tw|G<1Y`T_ZyHn11b9A8)WJJQB z>hF6o$44CB#Q!*7Ue6&;@VpQM!|^SSTP`c+h58@eB1C(%G`Bf$-BT&JjwUw!sc2nj?1IFx| z4s-fH)~0RtIUYQTg~%FTsC?PJN;~z_Yp%WR;O}lr0$|Al$U3TU)HG5vDl>T6y7xdk znhEQ|GMxKcMFZ;z=#KbNRN%R@qqChC0*Z((>ekN+XHJzvHkr9lX19MCzw5bYukY$3 z%#tE5(Kgi@?Sps}t)Rg{g-F|ZE?RCjhuZQF6iWtbs8>(4K-6~pY3lg#r=*pi^01#X zTYW;7rK_P?%jO8fxYQ>IP$EP5N#%sQrSw4}NnH5bq6rhxtL*_IcSsUPp-f&LUVDlWg~ zO)K@&Aekb<8&Z z+o+X8!;hFIeS;zyp{edzh)lIXyUg2Q5goe_Nb5fZT{i}iJ~W{}(KC&Eru;7PM1#tl zE%j3GxqljR%|uh~2HMZ6PPFhmPqAtLRy+u84U~jmHxy-sf#?y zY>M$sXS)+!V&uo(*#g}bvNScM5{JP**!?ZG-ijCV?naa~;|9E%U z&Sg{M$~YAymR@xE-0i=6!vdd0mwFAYrn4qT3?jtP3_5@3=Y>BnT-XSR3_pk6BL62x zQf^~OS()FJBdEPW4HlC!AhMn6Wl3vRmXmv$pD%j&R^Rt<+(*W-`Zrp6l*pF*TGt;& zMG#zyy?36ryQ1MJH@y6kwLUs3yAw#ypDPEo)H7fa`&p@Lu|`_}t#nEk$&r$~)iH;H z)(K2GpQwa3;B6R|!Ocy{QGZ99ml5=Om**wHP%u^%FJq9%F3;Ct8|k+PDKMoS?e@OB zh(?115vR!zj+O*M#xIt2AJ6`}gWZ7~`}px@2ilhZxmS5vG{X3^{)eNxB*_LpAi-wH zyzwv^@07y6_D(jKq~#?UI6N+BzuFS&<+a7*LEz@ISAf_Hxvh{E#$*%aBsL1zO!_`Z zl%25C%cU3iE?&VQQ1z%Xm=BvoH4N@UPyV&18sa^XY2L|rhJ=`YQz3x{@Y zepqXOpD2av{k;Z<{!3xF!JWb2LqlC%UH4uEA&n%3IHkDPqsQ-XNldInm#us5%H1k> zCm}#?BINt>Jdq73Yo=zBSb@SZe_KX|Q1PRIWz!O}s=Z<73r=)wXARdtOt6|jl9!otNJIA|^S zP-=3%ZqKS#r1 z63@%a)8wxIPi?A4F){2O1(I@dXBmy`&(3) z=3VT{jT>)pJ%-euV?IS&wr)N0pODO}d;h3#zo5?Q*+>YArY~pMlzuRlxxbH?=bxxB(=QyzFfeq>$SUDV^UpaPEoUXZH2A(_nSAa$?nL z=^O1$^qHiX95)LCCJG0P z2wF{cjmkSM_kNkxt4LiwX1mhZbvj5g@r^>F)=d3vpG*ydC8q&&_E@<{PB_>Vy=97< zvT)NZaaceLBQ)~IN6brlNB4|Kmm%lmbAI;c4)L_!h7`!PP=9WG8%kPBU{NGQZYJ$+ zQ%32&Oj(K~Nf+^#w#u^fbLc;)$zwJNLUl3E+IMRHkz&7R_DU62c+s0ih3tna)&8mJ zUzAPh3Q3^3?&=_`f93Js!kgDOlp<0T=X zDBOnM=754pedfdCv>N@IHI((dmXz&@a_N>75_i~$MQ~b4`>=Oz{v#c`r2s0QfhZPU z?UK=cf{GzT#$KAioj!jowe4VeK}@&k!3-L$GV?Xp!c7fAT$SSqDvMXx(TA#lWr@ti zn|*Z2f!7%=LRB7SNXn|13H?18=m>(yg234T2^R56#tZq}>Gn74p$_qCESlPuhn~ar zcyxct#2wskaRZc5<~{xj{zzMNH57nP-4{uH%q3~pcXTa8#-;s(F(Kq&+SGS+$V4Yf zInAbbK?cZmy67RI%{(VcNn=DhU=xk!BaIdb)CPR3>_e={b4EeUW3iE92dtLTbRX)M z#R)}ZovnB6FDBi!Q_DtCwq>5r5M4uv_NcV8Iv`vh^rB6X+&?}bZ09N>1L%jnQ?M~5 zku!7)^^(`D2pe|2ZILBNfJJ}kH;@= zgf76%RPw+?`6tL5@dss>>rXf=yShCiUjNzwSynE3p{eodM=yt52bxlVl&#pfgxx!9 zma2PRCXU^LM7W`IFFI-REU9(8SN$Izj8PR=IpP zQ_|dEl@jFsy;xa+MHx!SPb-qdTl3|u<|Zyew-i}^i!*%<5y%lW1hyx?7tV5(t_L|( zaJ>9w##nok=)u&HTo(*3IT6|@eDi(2O3Yy2u-K0M?|Ri1?a$rix3rH)%=YovJseKL zw)om6QT@q_M>+PdgBELU*tK#v?rQWV=6tACqxva$qFH#dx6qmHy|+ov%$VeSqh5N4 z!ux}PwG%fbuLXT>X#HC5*#rq%&?w4UM^X+)QlLCt^Oh}#KW7=mtNvfsMr7Z$FiBXL zbJ#j&d^$R$9^sbNhIFlySp{!lAzLSA&B@1ZxiJgt-9U7-cQctf_lAqX(Q*0(yN1DW zyL=)gIp&Q80@tLbJv{u6E<}iR)djk2}+iHd%=rhcG)zSSiFzV3s%0Bi&d! z%l0}WU>0J!Ok$LYO$`UK#+$!5$_I}PZ{48O-PxXs?y2TBgIB1u0UCw8HOx=>Bkppj zWY}2Tuu4c&DIb=tguEy^ww46*ea7uX9r)8I_A(o&4Repsf=bb!;$6vTgjhcGwj`-k z=>v5QlThldQ<-C;neMUbyL^O!k9&&fEPWO{aoqtunU&}XI{ljrQG)iliu=|BkDw}L#Y5+?9w8c)X9o5uIMkZW&4 zFA%3NnX0ssamjXwFd`gRP|oP99>H}isXI?XY-3ZYWq*=15?06?l|#7jr`QbE^>p{- zhOcuoLuiU-U!U65@V<>fyK~!PD7?fc<|x}K!%KQ9hmfffm z0@{0uZ&qzkyMN)H`j|`^UzV+Zt$uT8a_KOhZyVyp98 zSSC0*SDt$v>Mc}hi%q;mA}xqN()5g~m4`v`>wfc>DMdreG?*;g|SfmWzJ8 z{g`NDHVZINmn|ddy_4+)Lj03=(o8?6JATNX9XJ1aNp93gMO1tv$MNG4m>qX#?Y#+0 zaZy3qRpji)Re*HwZYr4>#EQmk)Y+$F{8R!G&^zh+!_KtSXA@UjQ~xPDjh~dKTy0j} zbEM{_j?H<_T&iK3Lk+^~yf@78rKBZTWHDycq1E1W2a^-dX%jKVWa$kB?U7&G6j#HQ ztNeVnY}=@6;b;p5#d+JN14vr(mpa9q1|FQh7G*Z6LY zw7q7sG%(^G<*DRyiS&qzF4wHMb{3^Dd4AG4eST&LI*!m|n8(ie;+MtgAM7Je&R}SI zSMfSAWNfv3vgY2xBqy&WL6$4|p;8=Qxz;dbHOH17e?&4)XZG60%0qrW$Gg={*^IHYs6s^54s2u8|mS zX!4=>0P{o9(IbDrzksE}X7k*-+_(S{Ja%A8N`JW6zh( zZ7fCGooDxbu znUR`hp`IA93MZ|xH_F-U&3L%*%b%ScA2TO9Bi)Ybi5#qHhq)ST9Snpd`?p_A@92V2 zk00$*$)K=rG#V--rQVnxpPm~TKDcE)-?o9l&UTYQ{T>?k0M{GXMyx5mc7jU{+A13S zNsWzaRX(e3EN7QCiQ1QdpP&8)+N|vRyb3VeD9qExhn)%{{O{J&8~?NQl#WXBcJB>W z3aO@Kw70k4Oqrv#o>DJM6!OhzsVvt|R!d=Fqy1p~AC*>fS50ld^49+kv>NJ_el-4) zBQAGhpVc`=?(}MgOP5%F$AW$N^6uq-)B38eskwXpHTd2a4vo#s$jQqmbAT%i#oVRk zQgTzG@9|^DevaEO zynct?s_4JexkSP^OS>)OZC1fKdttmCypFD}E;n~~dXa*FurMCqD;U#s$6Se^tH#Go0x5>~V8*i;Rj=hIkc=GdhVSBqSK)TKX8nb^DV8Sg(t@5&A@L)(~V-$(u#_Xc7bYit+S5n^ATI#OdaW3iL@W-v)ePO^s~F=e@H*CcJM7MEL77A{6FPL(DndrzN?dn zC}18)f}J~OU-kAf#O$D-1stpW^F!cRV6Q<%>n|Or{}60eOnh_U(8i4$)o4RBkFWjp zSEx73{uj+A1DbySnlZss5!4(wHuhM7cYfT6@p#7!-2 z^;T8(>&YZCflT1bC7gD*AgL#k3H{1`r-E$VE!=A=PFCD$Jn;2E5`Dorl|-}sazX{? z{FL?f7sXc*+4N2iZ|&Tw>aEL26i*IzZ%;k*F+{Wo<&t9u4y!eHj?$xV107Uj+gGb=Z_xk4l&Ow zDKEz;tZjZ7DnzY(m*s`&L3A%KzuZK-jshct{RaQK1eNr2v{y0+TRYWASziuNueE@7 ztz<6RT?8f2?xMnijdow;{a**|$nk_9-kO&$fBEXo(3EQQ!LW)YQ&VpE{)LUYDQZ*U zd_OHS&mSDEjZ*{)VWV~peafM7>AD5(m>(=?-Mh8Zo1PC9VM>2YSdvz@xTyZGY!(m^ zfl9HKWxSqiaO1W^^}L?I!wR+@FBt{X}i}K zPHyg=$$1vvzN!8i923BFCTE)(8-qns1tC0-9-6_r#3s+(?9k_Oa&`uHi#D@CX5bkm z(cZ}^M?G<7e7vgP8gD8T3DDJyQ{vpS8I7or1cczafPescFB^XR_+F&!L4Eub4Xmto zI`zR&ubr|G&#`AS*gIA+OhkQ^SO0dalsejte|!Abn`lq!)RTHs>^JI@n#<24=r8L< z$Gf)_@7=c#tw3Z9NiJxQjEwB+?w+5UYsTp2Z$W251#RAwNKqT&BWn81TC(_DSC&41 z{tP`zbiy7L63PaU6TPJWJ~h>8s_%D?f*@Wa1u-#btcfXK&W1Moza}Oo@@Qr8Ixkr7^CE#Krjc$2J@l%! zwzksJ$5>FAXgpxrDfoN$KUF4btiE!cb}m9YSAXaK{K%=hcRGWhOirOVN~VI~rj>15 zYk(=gxZtPsd;@;+BA7Lpbp|^-^-6DERZll_ zrmQ%ts@6Yy_N=;EAyLJ+?&e9)4{8Z@i5j@KY@5Nl$)0k@sXpJtMAHay@4imL$CGke z>&h!DnS~v!@hcC-!qd~!Jt?9O=BZouU*-VECWT<*b>{!=J?6NmdPo1E?dyn%aOim2 z&Uo&Ixw$A{L`;{wnSvJaujq9m2A~iCW*?e}rn)|yb-{~HKe@a+qcw| z6j%jp@qw}Sf*nkPNBl|}Q;igDl;gd1GVXlB&_c?}GKO=a9@3U=XO6ohE)U0&36-Hj zvx}qo2KxGG1TyBt2JZ!AoNYV2FqoW=cm%Xi>dxol;?c<)>g@br)mt$$+_YQl=|SPf zBrPG-b{t+>Xo?QwAb>`TDcvXb(e2xZNf8GHEW672+s-@AnBYLg$c5rF`rA1zdTlHx5sM2EJ=S9RduWmL)&E+^YIVg(=N7b_F#4e|)lMMOCv7}wQbQ)a-?(f^V{ z*k(bF$3Y0r^m?jn{D`RH(-u#bTil{SQs;x_X>4p?dYjAS__$GZWC@0B0#Z&-=eM~M zQ3XAXJ$v^u30U6x{^k#OuBnrU!PoTI!93EGZf<1MUlkz%T|`u(A{F|_JBuKMs$cP{ zAwt3j4+T-fIRSyH0`eCvEiLor42zYeyAQ?2N3ut8F33$y*>@*a7Shu8pmNDZ&Qq zL9ht9)@f}G_i;ju7LknjP&?1*?zfkxmKSHKKNvD;V-t1T`0<&b8Ta=D^4DQx=Gb;b z6;qg!po7VR!)heKBH6IjmrCM;^7_csrL3^n9fK8DW^mP|E*f=l$La9czv}!*Cy;8W zr*i2brq07d={w{Mq~^a)S{ynN9 zU|^zRAS)*~QlG4YNf^X5nD;MK#;A~;na6e}LAw#mk~th$22Y}Q`?d|D1gy5*NORE6 z4)E6d`mU7K?J;jkOH|@4|Mtykw#5zx2=r(o(U|1r>*t37j(9H3(XtGPRG|1sM;D0E zioyFu?@l0q>xMZ1ffZv#p8NS_TlYg~0)eiow)RSe(CD3Wj9a#N!HKCZAH144aMeeL=TdXiRQ+0`4A7af;NPN#0{;YpegBz{c%BTO6yU zFA3_h<8+gW>cgpUO^mLmu;fb*orx+!Sn;ecIzOmud#Wv-Pj+=}KM?r7=zOED?aF7B z@;&5l^<^^Lfw=5Tu5pRjGbjpi`YZ5EZQZiPad9|3@Wl1ggxc76EylxL{WUT4-tG?J zQU3n^7`vmbeeiH$K|v=@<#tSv+`viXXiYb7!?bpOetw5H@87;g!p;l4B(5wJ z2B)(ht8>OFq02#))jS917iwBH`5V5BwSUG$SH!fv7m13BufE*$M|;7G7fSS64+8@O z)lR_pMdnS7jlB_hr;5slIE8A=gfNG6dO@)U{9n z#qfY5NmYgularWAO$eS@pMv|1bG&EledanJtA*GVGqa@e3}59lx2ueUZ4-jWjre!D z{zBA0vhr)5GW8XD;j2Nub6eDKmpnZhq-fl?Ftd6n{-#eRJkGyouFOikZ{DoOct8PQ@3@K@bUsy%Aj>|Xc_=p8Ux`-#$H2?bX7_4jMh#B*n_&nF?8Uixc+3$D zU~nnDcQlfnnVA_SEjB-`EbEfCHVWplU`xWsoHePL-rC8fp89>Z1LI*aWXcdx1BMlO zcoej#zpM}5GNHfW_AAcJabsJ7*Du1txCy_j`n_X@Q^IVS~CtiyX2Qy&d6wJh7 zx3T%9>B0I9zx}rL;Q5S!ZmoihkdP2)ug8)HqyxE0Mm0T{wS{LN27`kf%<%dE=WR{R z=GI)tEt@x^mvwrFMcv`noV!-bEd@3&XWU7I)C?aVpA|0go+NdqeakwUB*8-La1GMJ zvdS`@YT|Zkw62oqLb->(l{X{EuOQAeuKeOf^Evr#@!K58->TQpXW|)Q&0&JRLQq>k zU>=JA7aKET>tEL0TNy^@d5Mlk`xU?W>%c%dVG~|$H8uOruikJuL?zCFYtjxcpCQ8k z@#DuqVF$PvCLvq+$wWNlTJuNh;PO*7x$Q<rx|Z%Q+jHa!O^U+Tl} zF5OGuB09Gl$y#`eTVWP1nzj)NqM6~Uk9sxM2fY(gQPuc(WZgpzA0#5Gt_o?Lr0s%n zb*ei!;Db%C*db0ec|p7QPt#19Y|u=gEm?+oWUvq&(K3tD*#y#8ZyBl^`5*6NBC7P- zC)QNl!9K?U=dfU{S(!)<&ZNJP-APO!2}^(KtKR;A6a?% zu+z7tNXACzaU^llyDaB1#96h*&ju+_Kf-V<0Yb_a?5&}pApjC2lZNLQj6sjC6^W;e zK>}9#2>D_7tKskc*yUTZY>4=+vuDqui2*g?qE2#ZfOtn*TAEn+*wXyugZ10qwx(a) zvHN*ws57eNu*2wE#{O}1a5yMv9g9ig&Wkg6yG#e%vrP2zQ60Wc3pS#D>07J@?3`3{ zG0pV3{?Zoz@2jTsk@+3%6*4_-9R-VwL#gjLUvY~pbKRO|6RdLTsJ2kNgXgCPxi~d{ ziKw3h8Htu$$8^k)MtpT*U)kr+ZxQLi6u^g0&&-%LXQV_$MR|BgkW_6r#5<5~!@nXt zjZb5Z(aduK%RuGO&Z|7H`kOPY5ca}LLzNm1@d*aG-6as>(ZX-jQdd=#f^|f&fo-IX z5ad;8=w+5F97uw?bf?8Z9|K+8Q@Wqs;wh|d3YwZuh%u2jKtEpWQAmgemKaA_{o1uE zxM4UM!J;OTvBB-z%DqOeC9382Ie4HlDv5QMapPN6%U@*p(tN>+jw_M=f2^A8N7^eY z#?5o9>qw&9evLJtA0r5*(W4pXtYxxzMdC%nF3dqei! zpyCyFMhM(INhogcfG3VfE)2nf-E)<)>gtJ)f39t9ZLK}I&x;J(iiN-#LmmnvTXp4C zLHjKOgP7=O+y3f@jfd`+>%(rg7kci-bZ+X&O;e04dVT63_NsHyQzq|bO=DwY$LRs( z0Y`WG9z-jhomQ~3DhQLX4JDf^E0Zf~R-PvZkJ}?_3`$T>^fGgzy2L~r1FGv=%3o2z z-Tm8|P<}DKwfZ}qt5FwuWo;dGF;J}(@1RWMOj7Epn`^mShtDcE$NQCfVxIG&t)!$U zl8@ZnWoSg%pVzL5mW_*ppg;H?!%gYQ{pr4%-1&DWqgM_{Satd^i&hjDze`Vtkkj*$ zTNp$*hNa{2OiUc^E(@H_7lODKY&C*VWD*$`o#J@H4JK!&7cZXJC+fUV3niz6tZrE; za|qRDN81nz%}h@xS~Zi&Bhfmz7nlCkHo<~leyvpWBHYI=4vQALHs7ZA|U*h=+m5FWU%Cr|8mQ^^+9mXcB`a=`WikJ-U`9(HzvvH&jm*XL76BxNGmk4-i{ z>&)6|w{G+N<+BzYh48{i{8m;LM`3s1bP_$sar?O8Jj%)<3?}Xe`>BUL%;_c$0sIzL zUXji3TKQD=Xr6Qng&@^jS~}2I6#;AVb|vOMEEL8Akc1kTMO~I~4d`q_w^U=QWcXEp zt;janEFOye&cNWMpax*8|$dyUO zo1>+ycV&4IISWWzwSlfn<3&g&Vk^}X)84%s!~C{|2xY(*$TF2V{iR}R;>ZIC!r+*n z2;P!%Le2w?u}G2L-d>4Im(DxQJzG$SsKS58FnsQGP=dnOd%hWB;TbN=4giJ4BOtmh z&gQo~R0BH!22k1Mr{w;1ydsyel<}= zG3G6IkAeqq0l*V=NTmqLM1?1XK*wl`0-`iA>jNtNXI!j<9V|-vsp+>mr>jF zm?Lg|XjsrNstgkaVB0q6YM|ux7t%$;d+Dd6GFQRkTQqcNfv4Pi6){>3#zjIH{()|a zI~$p;f@1&U&ELy@6hj1Ex4^y1>TTQBqyw+`($Ik6fIbjafFvcn>|lnTcBRV_lf!tqf@zd|MkYc+a_J{&!wVDN=kr)gz_2hGmVzH zhR6c`69_G)JSaJTu0H24H9a@p3D*meRPO_4qN9mfe7XlKOG~NO9VX%oTiWMgT(F9` z|2tOgvQ!5gIka`L8KW$ttkO2w41Er@qk|?^ho_SYcL=lhcyhrrkgVWkod^ zutiWrBAapvFg~S58?v?l(3IQ!^cW{IyuHieWCmxLidQc~R)>_6lLIJ1y=rO>5w=-d zo~ha?W7sI9$OO^?@YkCuKi(Bnp{}y-3AC&hIDQZM3zFe8tBXe!?8=c{1&^`G^0kZe5Q@HB_&2czibTqHXY{DNJ}M=5}VZDt0e&bxs%zPMXKG} z36Fw*L8=}*E%Z)(75Q(5r^C(U+?~Yj!Q$$+6x!?RwqvzN+w#rl=UJ@xM>Pwj(xnnWg$0oA~+8? zmu%P!06!`kE-Kpg&d?!8olVYB_GKYnCjes4B0x$DF@OHjgft*bvTGNaKK=cBXc&nu zja}5&XG4i)b*-Bk8W2tn*Xy`)fu+EF=CGWvRMZ0h(Y_!NR5WhizPCF5 z3R-4TgK*T5k>+GtbgmyZOti>NNJ#Len2(+>Xv}(_>*IFe(e}4jrnoO0`b})g>?F4* zQoMOe#kWqE zMjY}h85kJA9BC*uyp&;cTY033LD&oo5nXGQN)OKucXY7q^Qvn56LA(4s(i1!c=qgu zkY$=uJ-nnyu7E}bQ^y|eG`=|^St@!j!d;}iP6-Larf|;oR}CI9+rP~ z?oX#j*YJ|Mh6da#q{T3PwtaVbqB}PwJkgz{zL4;7Zf*|cWNpV`K9rnq{V?JU#we>x zt?-!s{?mxXLV|-wN(lF!Yg!RMoomaql8}}j1l)R3ioR4i>slj9Jh`pcB`rYZEAv^;t2r?yTYl*pEu_6w?Fg7DiPft_#UqV98be+Z( z6*a5OfPlIJj~&@rS*=c!vX^k_CriKF9EUwlPfMd-Br7ZH+|`T3I6q@UKL5$!9u-B7 z`sPnJU+q&ay`rS5$}b>rfRS;irzb6j^z0H#rYproR<<0+6=vh9Q&Kp29~~V+ zM=OyqN~_~&W>ywUnBEIxLlU5FnB3nz3w4$URFydQiqtj}?kRCD_k@^ZtIQdcC$2X! zHFaL-kHPe44ApV8e0NW3K1t=`en!R|1S@z#;pezU1cy#q^P9I~KsCy#LI4zx-X=UJjc=m2h+2%Mj)5?-ajRrYs}g0NNUXgZJ4q$N>N!Eig|-_b$B@HCZgx9 z`*vzJp!5Q6Kh+HU`sdH??x-X^4yQ8+T@n&xR8`X>BQJ6K-(Tx6(Y2}A*WW{`w#3oV z5mkXdVrrNe8DH>ihQ{$7W(-t^9l&_*pX+#ERF;=h2Tens&)PaQEv>GsY>UInEq(n7 z`<#3C*7$FeM=pbJM6IQ#r$=OYN)d@nR#vc|AM4JI`?tDdNoJbNQJ;iC+ogA?xO*ZX zfF`+nl|UfCa!7<<&C1Tkelz5y_ZHvn_2tlx?c3d@x6U4saMy~W?r3M{Tp$Q(X|^b~ zT)X!BLop*m!`Orb*y59?PE~y;yesVoxH2?^i(6m+U~4vsMDp{iNt$SEYzz-Sy#4{4 z0-66J{85Ah+?Co#ZT<}&|vcJ_bl>@3%-<%DvIpb z@Au;3`b$ftE?!*gQE+&d=gFa!m6h!6LN{*T=7V7n5a{phym)9QZ#w;(V?cC*HMX5j z!1+b$2Yd)uOHZ#A>Q(cdFwjM>zAeH-iM{?iVbSW{M$61*Wb9wQ96fW!3g|ylvP&$7 z3zDioak2!KwY0RLl5p_6{h?i+ASyse!CmD+Oz5W@$4dB8>4*9)&b@-(Ad_=N7e|#cg-Zr?&SH@N7r8a`5~8HD$`jxEhyO7+{`#~>te@KEf|^B`ucQs z;aj}W#-SNrKLs8uIKsr*#pZK7Z+WZ2X%Dv zU9^tv0qf@phVn%&4Kra&xhzlDqfW%>4}BSwpQGaAH?Lfi?SkwLo&r=oj_qkhH1lAG zNZ;`AL!sZ=&HnIz5fGrAY5B0I^R~V|G<-gJjFll(y|3Al=mi+Bj3G7kpXE_3 zvZQ1Qv+ph$l1qgPn1jn4y3iHaC2af4B53LjXTv5}4 z;}|P^>g~O}GMmrLz_1utY)5Luk%K5S!teIV6UUCt^+ou6lrUnEu&@YL+jco`@SWc5 zvw^PQt&4d~C)Uh1LGJoWR5kUYR>pl?7iz*j-VffI{nqK`%?|$j`SL&=mrZt`2`tP9 z53VFr7I@}N{k!lvz8E@i&<9AdKeRWm8nMVrNjc1oh0Cx#DF30e)Is-1b2m}f7lx82 zZw_$wuR+&c=F4=_NF*aeKI{3Uf;Dqo{s7Vg&|%z6DR z7!@6eF54(8vrZz+*-rJk9@5^xYpC1EuTm7AI=l0~lK)eha?sf6!gB<{R3vVK? z1ZgWl8Hv+$VN4t@d=34d2QKcv^Vkd!$bzrF?xEOlicnW9Eo<*o|WLJr*j7d4b_fm`IU9s*w{Sdct8;n5?U0cOp5NTG-gpvpMU||-;LOU z*?H=ktE=dQq`G<|z_#0`gVe(93i)2G}0rM7L|dIC9Hak`ZS{Ct03Uo)}*88%!ftLmMhLZnwEB`9SZnV4*) zUI*4xDoRCJdEIZn_4W71Efz=~QMhp7-i1R~AE^$aQtm5fPoB?y+nT6cU1SEL&J` zKv9aBnHgfOwY9aGnF4?`c6qv;He17DaB@Fdw|@LM$H5`V;`>o#ZI&jBFFbK`o-@OW zfR2vNWdYwSmnxe$N>O#ktUrW8R#sNJVSipY^rq~gSUXY~Y>~9|bY~~0`}gm^=<4fa z+vT}=%a(k&!m6rkY<>rJ?^Xneq^-TZX;1d{MHpCQ5SVTVJj};O-q5gbrHjQEB)-z} za#MK~24-do!V3HIualC@@Gw4nn0(!JGH!Ni3ay!{Dk`7T6qJ?sni##^A=G7jndKU+ zD54^Sld`h1cxG^~Xk<)FJ1Z`*kn!iM%HB!)9Gu094Mn$ErxOih=*|sfP@Nls|^iJ-Nj*jl@j6MRYBiwZo?FSg^ zy0Ewtb0YXRDC!GfTmu{EDF{+8o9GNGmQvKLDWsgwTYAg;7b@LTD=Cs*GSS zZ@wqw;lp*uJdf<$2-i9}IjN|q*jK}HkGpMJRtGy7>ldkDbmht;>|_jFothfz>%+WH zc){#ad`(PVo(Ma85#HL=#K8U8(#oonHf&a0T)fZH^O7YvCjb;xm6ZWbeEK#A*bvbL zri!rm#;Ofw?7o}{_z)9%eSNDybinS$1ptQfZ4vN?|CSeB=Eb>5N%1Y$->`l?XGsU=PHMOTl9~N9N z6w7%-otd5MD} z>%17FUQBK1Xgm6>rmhZeNPGYO{%{p){P=$qp0tw1>T7B=w6u_P@gcCea|i3YXY)~1 zP+eS5(r~G_SudXH=_v^vtnc5Sp{BT}qsEXI$x2Yr0U*{|VS2lF`(dBP#c@Edmd$U| zZ@<3Urlp}_Wn**M^*Io`A11ay(5I$S^YcZA4h{D8q3HD6Z@;|>e7bYvZ|fiY5v2fQ zhv@IX*7Y*iaJ=;N^fb9uua7yOER{U+9B=9x#-|+GeAM>}&Kiqvaaox({uL_$_64}n z*he7QA*b>2*%49>p3Upv;F~FG)O{XP)33=*Clv!t>FT3Lq!7gd1wsn&=+PsDdH~vC zNp|e;aV|R?(A3%rCNj+7y^D$i&#oLn5f~u{m=DLexR?$c(EZSWi@GSVr+H$23F3#~ z+Cb8efgz-`$Omo;45a&$3U$ZcWn|2C2kLx2qJ@oo{d!6JowpGYvs^wUToR0w_dgd=Q<|EY z0X68zkt2mgML5-~j;xNA^Mn+XNH4o_gE*vs3GsCmOI?#i@>-6WZ`vgvi!}#s(CH=3~ z&O92+ef|Fpl7vbs6_VPLBuPb4LXspzGA2Tp$o_=Z{GVhn7y1MzQRl9fW5QZ^tyLu?Cva=J) z(w*NMK%loFOG?qXd3m3}K#h&svuFFZ)h%v690aj~3GLc7Pgl2_zYN1*kCVaV#z9;L zZGM)0{W_e04FQ|wUyYV9hHg1Kzu_qS`0;O+bywnEOIUzV8t@S+6AXtlGn15*q_vnT zRbFmxmm+R4b=tHb!_cpx#V$pryKFnIw++m?w|L@{J9k7UepFnp!2+5&bA+_?#f^O; zoq96s(DbG{;nmstgLK&0PzEiIYftKv)D5GL`&Dl2DBnl$ja(1xKv zvgjL^%S$AiDN}Nal)_dse~tpR&CBaZa`IFa6>YD#eY%ohZ&0eQ?N671uow)Abq_$p zT;wnwGp4DfWxuoZdGqpjUfex0n2%q7`Sr`s-Mt=%0C>Y2Vd4)T-mr1w_=B&mCKbDg zh>B8W2{~z=*Pd0t}#4DL^f`zoSeEj@mH#~ab*>R(u?+SS>u;BtB&K!Gp+0c6oU|6x@ zFha@u&53bwGj(<4h7K*N7f|y4`pd%eb*gmMQ8;aKvb>BVXRyb{jR2pcM~=wN-*qh| zrOzK5`z_T#xp8BckB`>)@qJ$xQyXYx2fZq;%SME@vLcskfC-?rIQMkyIBhRQH8syF zKYbM$!~vj%(v&ccu#AihqRk=$2DGRi2fE73?~jTKOE*v)+WotA_oQeONA=lo{39&znU*qAQioO^$N{|AWckZ`;Q+>O-#Oi`?gv`ws8SA|Jzl)T~%y4esNRN2GO8* zjg9x-dGR(Q7WTWT7SC1oSUN9X?hU_Z>?Ha*3-IDfH3G?;X6$(2ELhklt>VFh*!cMG zojbJ+l44?(+u9ENy9Q89pdtUNgnpgHhU}`i`FD!?Mtf@~Q4AOwfJR1!2*kqPX}7hR zD1Di)cjXHA?4Pc#@`n#w7Wef37BfKLr8;~5{NwtH);2aa*48{ibdH^C*RG`qlF8T9 z6g0SnE3!OsEQx$@h4>IGeXypAYv6~xvc0WB26VOXHwyOIzyH3&bEv4Oc>UVRyOVE! zytli73<<#!kOnLu!Ax|f#!)#h>)4VuACz!CJ$apB2l^#-v_C!W#O2E~8EMIz>vy+N z2$;mmI|PK7?!g1#ZTj(DV@ltu_8TU4ZXb#hkAqgEc4SfuikXc~9AG&2S$_T;>2RnjVL?#bs$HG+yjq)s+|aPZDW+z| zj2XvwwqfY<8iUaDgUC7oXj)qS1P5&WtQt&e5tE1**XPfJ^Mug_gfIe|RBSbYYFs|K zNM;f*@b}L{CO=tSO8GE8d+r>rB8qNf8)v=tN?sV3{pO9cLKH1p4b9CGkN=8@SYm4% zZ>GHb>f|t`u(oSlA(F<{f(^h|j^o0fADMP)&w)bYZ3caxGEyf{Ut`uRfTrr?$${6E z-A^4JsrGq5zXeuShpbg!pA8Fc`F-Jnx=IcI*E+T!Hy=i&hC`Oim?uN@7#I$ z>eWW|TAitc&`+{>b#(IhhO8T9WzqUGuXLu~xpU{sGO4GogcUf90ckuLGT*5g%k4S} z)zsB{C>qPm&DGV^9C>wNRMficl}GP~g@sWP3ejK)AoJQu`~?;US(A?q4VyP@x&a|> zES7jgJ_e`2tQG92svdt-e!L*j6twB%S@BkSi5<9U%GN-q?PAa5pj{d zp!ar{J}(C4T)em)E19$1L(6{q_Bo!N(qba4miAb!W|4Wl-QSUDTnRR!yO2zGnMRu( zFIPmRwl-OtnUOT$(2$hb##1CP)vkg(D-21B^h;&GQ8^y2o&Wv8 z3}i)5&j&AFbP^3zS@I~kjVdaq?WJELtV#0LUS3{Hm+rSvF)Fp15Yo(Towb0L&+ z)Z1CH`)0B4J;~O^ZxCUi#i601+QG_krqB*gPftxv%>(1+o2NbIfXj8<_ zhZN=%dma(qYVCwLQ&67}tR{S%UIr{C3c=R}InFK#$YX z)(8Y`_o62ds!BR`465+Ag$i5|b&9&YFY_7?Pij`meF{Cy#ih4zPL_?-N9H7PtT6(M zvQLP@O!+CLpj-_w0}xyji~J%XAtB5LCC(i07?xj4MF%X>UQXIP+* z9~t)BCzvtg5=WR&l+m52uN=c9WtPacZCAK9REbcjkruJ&1{8oVO)eBGb}YrpLu*Xp zLr!wePI(1|&}s?s@8wB4mu5%=rIPqjK{(s6p$!tXZQGleBqOEKva&^?()<_SzXut* zKk8bh8i$ys_v6`ewUJBg&YTKyy71SDN)W~>zjq-Jvc|^7++1xZr`Ny^@elyQ#iy42 z_mxob|KZVmaZr$v@xiI43{@v!5~JI2s+oj+OD@_HgguB4900wcrDa*ycy^`XJR z@IM3{T2(}TN59g^?Ck1t1s}*U!CqI_Oeq>dTB(=)_A^KOh%sZjaE2W0?P1X1Nk|s4 zj}8B_CL&!#t2nUSNff_)X%CWBj`7&Mxwf*hzNJMnARx{f8H$H8L_v2??P2ru#DoO* zb?bOlYV|n4tDXZj4PEKP})5{kxQ1-d=Z2Ws2ECjwo#vBAkFWHVFB&8_Z28(2V3?>f|(a(C<)xBNJ@P&!G<7eE;@^CNEsw@lQoSjfz~az z9Cd(j28dQ;_H4pmT4R>JUSp^nQ^k1;9S{}eReGR}7s& zW!6Htn3?kMe0O9Hv^aD+j=V4J^XAs`I@MCQL#1^ChbSOg0mR6&1nLhRH?Ht|G$Zv8 z4H01O_3M`=*Yz2v8-W*bhC4QoxSr{$498)Vg5N(fcjN4ZDyyJy1qB63h)y8Ak9Oeo z#Wf({HEO%*Dc(^=IFufnx++;&*CQ!c!zvD}GWK>kQRRi^sZIF^W z5FWn3cMIVObP77QZEZ)D+p(1O{Jy%Ng)jk))2X%%Z0w}R`@lRn)h=FCk`B-6y_T1k zkd(x!A;%>OMJAy-$bo8PbgMjmKwpI!1Sk$47LE7>s0Mw3>DjH&*fn<#wCuDST9i6- z_Uut3M(}Djtk{;tQqH)-=b!_a0;O(G*5?4kK{6Q`s;oTfbn>*p{fu??Rnino5_x{l zuMbcbBu9?rEe#6VWmyGzd8?zL`lw(%oO9f1s<-8}vLUN!NOyJZckMI|U0BJPvuA@& z<=(Q%-Z5&gnrfC?m)~EtDEJPgh$T@#6QBCDY;#AEtA~@b(UZ^UIb+ z5yo}ZpQ)ko_1oQXtP4&Fst@uxXCMkX3M6}*Tg93anpC%p;v~&A$~JD;aHFSdBN`)> zTs9xMmR?`DGo?WPp#y=yOBM49yjO&n{@_2Qc%aQR<|@mGlL&!~9fG82X!NN%3r}-& zmq;MEZeh{KdvuM4hpX$}W)W03V9FM4xwz;{7AoD{-z#8CMY|b?Hybn3-N-B7)791B zwVi2X8`^!;{2tjudqn!J_V74!=@KUBxaVsr{xpE0w8mVDr7i z6IN%qzx@LB-HrQ})eamu@ZETlDjBCwBfB0sc8mfyZ+DMwoavtko2{)w#KfvQMQ_>- zOSKRi^6l9(vLU0wN=nhWFI}3utNRy)1>Cz*t)soYCePUN(1i1YxyNr$KID#JKXJ)r zYEnsaynK9u9|m79L+GFPPxFjAJC9A9@bbW9U!{&5JqjG-#LIB3Sa6_)zHXEHJ|pvt zl+K(#&prHe!-k_kPQPzT;YJ4Hb+K{w_DE>N$-ErmuUzSHt{2l9bH1<;`1`%Ho36RW zrpG86EDVAj_?!=BR5UxvDbkPwlY|Lfrh9beOtvwvnvkrgte}dZdVq$h>i`k2rQ@RR zZbUqtJefBkfAG>SyVyH`x^ry7zVT>*O=XmCadB}Bv(;C;w{2T-*u!J1uP+|?^_-k` zCXD_0I(&R1m5;V(}J@E1&mPe=(WH$W7;P9M2_?`W_pL?;&8fzhtP== zu4~qmfT;Qzs0o0&EV_Vz-;_lxY$M{yfELv#nauO&G4F16-KnS;A|=930$%_wj8tUU zX*b%REXlgCSN+Vs!H!~4>;-6M>Uj7wax=7ZOBX6p&`Dxc*)cK06CZB#_U0uDu9sd& zh^~P*A?}fwew&tcj}{sRuU=ef*>(`$gLvK|t7jl*)*gEkZbE=(?%k!9j28vo5-gOM zyrEwpoz8_sgR86mij7k(9iev;3>ggtRq=?^t)t-cHQ%XDy63DjcPuoPl$T$?AkEC2rl?p%`Eoj-Idu+YYR3-4FZ!p>28XSBeQm9WNBF`` zfBq>ybf{wdeaoiyUpsdZxehA+Mb9v`lN-VYXE~+VueR-^-V_z>2?{E~SdNm@dEeSP zUsJQ+w?1Ygu~>jU_l}B>S)(v_TQkDY*T|5tFmz8~Hkl!s(q+C}-T5(Loizh^%6NRR zGJ17?ARe(-Nq~sKgEo+SXf{xof}yJzZVqg-CDOOp~r$ z#BEK=;?JM+w>2Nhj~|d>&oiKVE_Lz}WJTJTsXb(JmMVQK4H3 zf?0oQG4BPJF6EqtpxbOWX%>7n0Pu1JUZu_)rPb9(xNYG^kXl#)qI1D^6O}`I`>%!B zOuOEG2!9y?zPfs)g~h?L`Hq7k+w=xV%`H|L$5F_8R2myKG&HomKSmxnVD8|M$jvEh zXt`UrNWAWO6-^k0yJ*2cIK!@ETOq|!PN?Z@n!JJn5?J6fdA;q{r|t%pSOR;q^7*n^ z{F3bK#heNe5eU3~ZFS*!d7Wo7Z{*L|*I)QxFoAEoP7m&jgMm*8ht6v_MnQzo1{%Cd z-WZ!KfCMv80Qn5%XWcP>(F>_NKkT1vov(0^$|1yrs{;s;Kdgs}aFMidE)?HQp?dn{ z3E$N@;D-%6oF9XsAd@9G6ex;aqn&9+g>HYzkm+TqOO{z#J%R5F(}-)=iVh6nMORtg z)v1PSSo&P3c>T*Aho%@zltwYwvgI3%GH<76WoPU7eNC}e{qgmy_SUA@GQU27X39eC zK|=CwlB|TWo7>4y0f$y}^ss(`UT9$G$)Hds>C8&J&XMrz>pON;T!jROeX{vx2-4TD zF4-&TRj1})!fi&rfG>S%U4^D>Bwi6Wo3F{1=0>5%1l(V}uJrZm>*voeMeQne z%cxnc0a*X+BPL?7WlJ{epApXhW_SP*UtV8?F;}MKT=e9L02*(4ind^V2TQ=6WPMh5 zh}<^r4L(h5C3uImAjDQQZP2~bbkTQZovDKKrs&YY1}B;KFY9px_G!qQkzE(A2`u(^) z+dA32EOd4b63Y*2BT+hYeg&H;BUj_)peaLL=Ok~U=T5Lhyg+x#l>2w?aEgj{-g@-t(f#{p z86mJqV{ht;1hth;PQw0ws@cKwmKysJexmMv@8}3sU(tBkUq(FSemxHrYzrX(s3n+f z>+Si?^#J!+M>E!y>szEtpMGI1o|XF8iEl4#*1H>pKgZw#i(}qu0+R!TD%Y-C7Zn)^ zAN;ip>2N)P15TjFkEg4vZ(8@a;Y4Xl5z+3cq&@TV?WqgJF6S~cOJ)fW7>LjysSO!o z>t8OHCb#D89!sf$yVN(7D9SFNnvbr+GR2{ej6Wd=l${OYb*(B_pWko3vErnmVkmgt z;ON=4J7*{>uLU*Co$H_+gKM?7qM@O#PQOEM`gF_JW|;^$8#gkuguI{FB6mb2!fME4 z2zMa{rKo6Jf`^3PUr0Cf+#p9QPLdokit}G>@RYoJ z_Wbz;U|n!<^Ui^N5G*+1sYCGidz%2V>y-#MQ=rf~F$=g@uU&Uo*J>l#xQ0vW$x0eH zn=T%_;4RtZW4pRO0fX;#FFs{OK~NKrBcUcxR6&s-bbNg}aL?4pWbn`D&h2bS_Eo&w z|L$R2z?rc$1&O_T+Y3sA6w}=*L?CqP&YWqpYSnzczsKAGtG&IKf9n~EF@Xleub@WE z^KY9tVM0lHxw@*V=_ztteBJRw`UmP$>jH1A!}8$4p-_6oj@$R4_cD2ty-A1mZXF+I ziV&nHsQU}n4Na!1nVCr>J~Y;Ocn;NQ{d!_36B>QT4IB3O`SV%x=VLe9Sy(`Kg~w#$ z4pSp=mex6>mat8pbkM!@@Db5&v9Po2 zL^v`xGn0{#(U6q@0!r3f1nXjIlHjDX0Zfv;QVkMX-J`dwTRZXL8~!^r!5>3DQA9s} zJRBX}cakyPq1M(irZ;UYzce(Al9Q7dC5|6OyaH*P4r@Lc3-vNY6*3|K?MG&MDgGuCxg zB`RUk^$;%%ws50EiHT!}4owmG5+(k^IG^dWW=Rbi6xhGypvtqI_BE4*rP9m!?3pup zzO4%F+rZVKOYPMJfct+Hsk|#!lt)Hz&;olZkoTTu8YB)>h#EC~IN|~*c@3p4J)N6b z_3~vtYc(&=4r$-{gw^upYY0ch>OVuudHfhH@V%F|s<*e;$~xEVT)IpvDwcWN)YQ^) zbZ{6eCufxT5M9M{<3{>P_gKZQU%mP6UC z%6wa3E?hiBY>rRkBb<<3yLvb%K?js7P!5!c4-vZeA3pd>%`?`)OHAA8;_?=52P4kB z(Uk$$ByJFOH%PCJ^~ly_dq*8OaHFkkO4IuT<6_3?9z-58nUblh2%yc|k$_1urUqE_n;$+6-^j$&6gPez;}z%; zndu=x8B~cWJ(`#}&H0+xBFFVwFF7#}$myI2uX+BQ9B^fI^)E)fK~Ql6SPjeceptJ@ zD#^@I9eiWR$h<>g!N&%&a^Xl+F@w#{SC=cu%C6tM8I^ZR{C&plqYN7Q>G-r6VsZcfgl=f)+P%*1BIoGet ztImkqeQj)kur+cy zvk8cCe(?x)M5;47PN*OE27?JN<#EGhRyGuz5&Q-=A^Z0~L}3Tw{2MO4b>ZoWIeBN! ze8TdfGoU%230w=@YdgUz7{VmXe}QuS{Sy)sK}SD3I^co4D8;bX2a1oBd{*LhAZBXr z@MWc&*)2cX+lxBAZ&$>T%URMwaJT$}8Bnd@`N!hLTNxsEYM&@3DG4R&#MXd$DM`CF zY%nE%pd5qshdaypO`RYpMhqw=MX~YpIn6Hmoi_4(?Cb)M-+b;vx!}&gbjZ0eb_w!} z5>nnES+LX7^ISoJgNh7t3G7ZRF5X4K#-Sj~Ni}dt@{g95 zmi*g)yjtgri11d7?iYnpCjC(V3;+32V0!rv)**MVwXnCx`Ro!*JO+L-e9W7kaCx$MKpuYu1gQZ*~-{jqIZ);HArz zwyOw36@D+D`{=^galO9=%G~&pFD9xyX;NWV(-g)Ge*F0S&6^8n&n7~#`0c*_*9qH# z>Qv)0z6)nk5pc{VT|8sP=PzH-Ip*Vhgq8Sr{}MWgOQu~H87v?wZYQ z141Jf<7(2N7tr$ZGUG9!`|F)fwIvj*V7rrS#DiLM=>=K?J`Xn+ahsC|2Y>F44!}hqWE;Q?D+>*gI{9#ERMsT&ATDSzZ z7&d+Suw%F+MPRcGxek6Y(F~O9I@7BFHf-vC9sN;?0H=(KJ9_Y-(Ae4g{2jM~e69(v z7y9aDYFg&7`8r3!z{#bIYg|%)N6I+QG*hL=^G!B zhxJJD!oE=^ZDEDNW#N@HXap6Ls348qm^s#LCR&e!7p;LiPCC{H=q_)dE^y)egJ?nBC3%iQ9RR z6%DJH3&^Re`YPdO>*3^N$-*N>N`dQ5S^hOOKxwj4NMnYn$rr7bESV_%`@^_iSvff- z2qN5MRimv;iYfJ(BX7P=D4#eLY>sS0uUIy((~UBUt2R-3!M;T#`XNi^>2NDrRK7P< zoc$aHwpwmsu}8*ceEZLzh*DLILb9Ii+GpgyC`Il{o2-Or?9K7VNjlO`N%L51S4z*X z?yR{2WO+yxRc`L)NnjELh`s;#kCejhPtB#?4e;=^M}NgN)$L^X6tu)6cLzYcjW?{~nCMTo+9 zja~#6A9n-jj2FIh9!H+TYjdeSk~QQ}nIuSm5pii0U^W67xLdb^IYe_7Ek_4lu%VXw zOZF`%hhZzNm#duVWiVg7_{_O;2q#UAjeG8=RoVe0J|)_cG$Sa>$WGQjRxF8ITyVpw z7hFqK=48dqo-?QG&e+YTADl}IvfSkEPT8Z64H(#>+mQtQ^G6=jP!Epuc zoqIO@K)XklfU~Mb2nV=sew}|A7f3^6PxE_&9eb`_(;XR6Pc$*?gH6vE{w@`o2SQck z>t;y~j(auqAk3bHvvrx;fA;OiR{1@a7wTLd$6uLi*?zD|P^aP&TVlU%>(^E*52Z3oSr1XALH7!+WW@L|y+L!CHNg5GqM;+HiD@?5k1 zwr-6Bdtp4v$nfRUcI<#66P#c-0efU*+UrV(V;jndlLw*8gZ_^4V}W88?u6v;x@ch1 z!h-<{pL~QpD>V4B`O6Nt1M?Y1b>_^V8^XQ;z%e2t`*yarcJArZ_Yg+i{llEz)Yf92 zSJVsm>ld7_&zUu=qv>p>Gh;QYt7WhMskg`SO-+r&PbCT|#5kS)w6^;DG~T|bsX2G{ zEbk3^<|gm%>WV)Y7ZbCFHl0y_Q+>Fl?rv^4|87;6<&1@1SY6%3_O=BIS?qO+DWlL* za)K9@YlD=E)FeKQIDL?~4+mqD?g+ug#|)=^6Y%pjmLTPsRYzth+~`Dl`l3@-c)QkJ z>r`x6x-#KLjFWo@0R^=ZPi<*#K4~>M#DJgym=iuwW;%6hvj95cnoW(5+`oVK&w^TE z+5xy^5j8YHGnt?N6n@eDDBGWJuG#5%XZnlnYDiUEfZs3zMvK8Rh5WBctA6nbQb?L9e52A-{F`ARkXUSiF6GZ98R7 z7%D~cw^I|}&ub2}M6DM}hdMfE)Q9cubM<}E`4Hw;?AyP;(rdsF!#Z@GrY2%f#F)R` z96W8kAbcn?<+%ZLSs5GCD;q$8w;8!3rO*9h;v_`@MxfGt2M&x3H-Z2dDOtKZolwGY zv7gI*MpajvIMI#Av3~tMjFf;aq1`Q@3rcmxynoc13rn`Xd9-r{f%$DZLB%OnXZT5a zs~OeFgMiPIq9Gw(Tf55rkCUb@O>Fv$IXTu1pDl}2NS&fgp|E^yQ0euXtrd@$2k@iV zGO5AV*?*zhNLtzW1?jZzMc)sq7ONoVu+Q=1 z{|XO(e6r7iK_u7KUV>^qbCL>|3NZ-0G{tk4!|O8X0S|H4al|g>=2qXivz8cjxsWVP zQdYh>b5diJoLm~Em9__@n`CUZot*+q1q3EM)w5@(pGmU|K5N2<{_lL9JH4VcSK(HrqkvuSTM6n8*`P9ji8D$&L{VSVt zO#yWozH7&hg6r1`7 z-aGrq`7?6f!h{BrlnmZ9mR#}fEVhRB+P|@Wiq^QOU31gjS zV}bT?WldQLwkM^NlZM!Oy#PVtS)Q-S-I5o7Ffpk5oa`4Tq7EtvnvsIY!2ZTMT8Rsf zmZ{uWanL1XY}SqR&NH2>`|I3ZD!THBlJC%&T3Rq=GHQOyCeVjXK$-v*|NCoa4{W2d z{*5({Zsn>~JP@W?ElagfnlQogO;NH-EaK12z>f$>@PO2G-M%X8kD>a3l?4KW#oier z2lgOe^Zos|Z_jYJpV2=eNng>=&u^uj9eZhfi@XJ_<-9fs8)@%C7(7|n^ zhD^Ie3q{VX)W_?+PL2l|>g_YM&>i`}HM`MgPW*jR42s)jL-#C{dY$9w=tyH2QO;`5 zE9mz80b(j2E#>;`H)NJg^w>2WBE~uw-&pydZN9KxeUWD}8S>%7y&1R*qT-RVXHnFh z(uUQE&=^^diMK3yjyq8}&bF#5C<&99(l2_7T4+7ThzDPe7(V)ZK7!X`nA(KUDo?fEk<)wWzH#guu6}Ygl@ZT|5_s%R&KPVc6Sqx|- z0M|J8v}`?#4E{{#n2mbXr_*!JU(L>b ze64z5zeEr-ySCvwGX~0&=Y~BAUOXsLplwoGFCZ?Xuc%)>MRoTwNp2Cg7fSukd4$91 zOFBMhtN7~;edPL3y_>&$30m_DI0L(UnLzk`pV}8 z8%0iD6H~pEGEPm-ZO^{(v5|we{fpTgzgbzFjL0-nDrMqyR+bq36J8R#wRU~gms(uH zgk?8(_rQg`>yue(yAeUJ@J_`C8DB1*fYB0;gRx+3TP|ODaPcaunxwIS~)CI z82yG$bM6sTfr_RTIEkD(=80UnV|%FLA2SGZ#K)({COr~~6x?3n_h`R<=h)NwT4JSH zaB1b3Gw)LRS|p@^>|$d@POaE6W)4hsVq%COJ!8(l_Z8VBr+|F_f>k_aAkv#RUkL71 zt?C1-{;`5cvt!@%?hmi4W8^#~<(HDVr~ksxz~F5W#^C)6QTyKy5+Fy@Wknhanj;z% z7~3bc&*UiT3mQa-V%b5PR%H!#KGI8!Y+MIJYZ=~ zVpr=Zank3{51T1-J|lZWBpUzx3>SFkIU>Zs&cWg7CR}ypFe5QJGx`g%9;|V@BiG}NS$S*DZjmVq1TQw z;+lqL?w+3AZ;SiqF4|NzaD>IV2TiT5w2C0R;v66B+0O<2YRlh+f?1U0hF z&CScf0hr>^BU(V*hUK0?|u*PKXT-B_Y653{f)z^0#Md3KUN1_r4f6|ym>u{5l1V&^^x7^ z`-pATKpvP9L0wAx8hdD7`urdH>1g zPMXB|4)tN}w*CmXs}#1&1wm|R3|`QdWvz3K^JqJvy`RY3YKI@^ufBP?@y5qqO|R+p zxT4c`eT%rh!eqhRTVy{DnWq=_bbUTLUqei`9%GQvKhLu%*2HR*)m-YfQF;3C}G!-}BGcH3J1-#}sYKY#Tzd z+^c6qxAi6YLv7%6t?EODb CD2VF- literal 0 HcmV?d00001 From 4be3817be9d5fec2b77288eb6e22e6e86970ca98 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 1 Jan 2025 15:05:47 +0100 Subject: [PATCH 179/201] Add Issue Provider examples for Cake Frosting (#916) --- .../issue-providers/docfx/examples.md | 155 +++++++++++---- .../issue-providers/gitrepository/examples.md | 109 ++++++++--- .../issue-providers/inspectcode/examples.md | 156 +++++++++++---- .../issue-providers/markdownlint/examples.md | 166 +++++++++++----- .../issue-providers/msbuild/examples.md | 181 +++++++++++++----- docs/snippets/version-placeholder.md | 1 + 6 files changed, 565 insertions(+), 203 deletions(-) create mode 100644 docs/snippets/version-placeholder.md diff --git a/docs/input/documentation/issue-providers/docfx/examples.md b/docs/input/documentation/issue-providers/docfx/examples.md index ebd09e40c..bcc3b3ccc 100644 --- a/docs/input/documentation/issue-providers/docfx/examples.md +++ b/docs/input/documentation/issue-providers/docfx/examples.md @@ -4,59 +4,132 @@ description: Examples for using the Cake.Issues.DocFx addin. icon: material/test-tube --- -The following example will call [DocFx](https://dotnet.github.io/docfx/){target="_blank"} to -generate the documentation and outputs the number of warnings. +To call [DocFx](https://dotnet.github.io/docfx/){target="_blank"} from a Cake script +the [Cake.DocFx](https://cakebuild.net/extensions/cake-docfx/){target="_blank"} addin can be used. +To read issues from DocFx log files the DocFx issue provider needs to be imported: -To call [DocFx](https://dotnet.github.io/docfx/){target="_blank"} from a Cake script you can -use the [Cake.DocFx](https://cakebuild.net/extensions/cake-docfx/){target="_blank"} addin. +=== "Cake .NET Tool" -```csharp -#addin "Cake.DocFx" // (1)! -``` + ```csharp title="build.cake" + #addin "Cake.DocFx" // (1)! + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.DocFx&version={{ cake_issues_version }} + ``` ---8<-- "snippets/pinning.md" + --8<-- "snippets/pinning.md" -To read issues from DocFx log files you need to import the core addin and the DocFx support: + !!! note + In addition to the DocFx issue provider the `Cake.Issues` core addin needs to be added. -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.DocFx&version={{ cake_issues_version }} -``` +=== "Cake Frosting" -We need some global variables: + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + // (1)! + + + + + ``` -```csharp -var logPath = @"c:\build\docfx.log"; -var repoRootPath = @"c:\repo"; -var docRootPath = @"docs"; -``` + --8<-- "snippets/version-placeholder.md" -The following task will build the [DocFx](https://dotnet.github.io/docfx/){target="_blank"} project and write a log file: +The following example contains a task which will build the [DocFx](https://dotnet.github.io/docfx/){target="_blank"} +project and write a log file and a task to read issues from the log file and write the number of warnings to the console: -```csharp -Task("Build-Documentation").Does(() => -{ - // Run DocFx. - DocFxBuild(new DocFxBuildSettings() +=== "Cake .NET Tool" + + ```csharp title="build.cake" + var logPath = @"c:\build\docfx.log"; + var repoRootFolder = MakeAbsolute(Directory("./")); + var docRootPath = @"docs"; + + Task("Build-Documentation").Does(() => { - LogPath = logPath + // Run DocFx. + DocFxBuild(new DocFxBuildSettings() + { + LogPath = logPath + }); }); -}); -``` -Finally you can define a task where you call the core addin with the desired issue provider. + Task("Read-Issues") + .IsDependentOn("Build-Documentation") + .Does(() => + { + // Read issues. + var issues = + ReadIssues( + DocFxIssuesFromFilePath(logPath, docRootPath), + repoRootPath); + + Information("{0} issues are found.", issues.Count()); + }); + ``` -```csharp -Task("Read-Issues") - .IsDependentOn("Build-Documentation") - .Does(() => +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.Diagnostics; + using Cake.Core.IO; + using Cake.Core; + using Cake.DocFx; + using Cake.DocFx.Build; + using Cake.Frosting; + + public static class Program { - // Read Issues. - var issues = - ReadIssues( - DocFxIssuesFromFilePath(logPath, docRootPath), - repoRootPath); + public static int Main(string[] args) + { + return new CakeHost() + .UseContext() + .Run(args); + } + } - Information("{0} issues are found.", issues.Count()); - }); -``` + public class BuildContext(ICakeContext context) : FrostingContext(context) + { + public FilePath LogPath { get; } = @"c:\build\docfx.log"; + public DirectoryPath RepoRootPath { get; } = + context.MakeAbsolute(context.Directory("./")); + public string DocRootPath { get; } = "docs"; + } + + [TaskName("Build-Documentation")] + public sealed class BuildDocumentationTask : FrostingTask + { + public override void Run(BuildContext context) + { + // Run DocFx. + context.DocFxBuild(new DocFxBuildSettings() + { + LogPath = context.LogPath + }); + } + } + + [TaskName("Read-Issues")] + [IsDependentOn(typeof(BuildDocumentationTask))] + public sealed class ReadIssuesTask : FrostingTask + { + public override void Run(BuildContext context) + { + // Read issues. + var issues = + context.ReadIssues( + context.DocFxIssuesFromFilePath( + context.LogPath, + context.DocRootPath), + context.RepoRootPath); + + context.Information("{0} issues are found.", issues.Count()); + } + } + ``` diff --git a/docs/input/documentation/issue-providers/gitrepository/examples.md b/docs/input/documentation/issue-providers/gitrepository/examples.md index 4c94eae7e..d4cf7754a 100644 --- a/docs/input/documentation/issue-providers/gitrepository/examples.md +++ b/docs/input/documentation/issue-providers/gitrepository/examples.md @@ -4,6 +4,35 @@ description: Examples for using the Cake.Issues.GitRepository addin. icon: material/test-tube --- +To analyze Git repositories you need to import the Git repository issue provider: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.GitRepository&version={{ cake_issues_version }} + ``` + + !!! note + In addition to the Git repository issue provider the `Cake.Issues` core addin needs to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + ``` + The following example prints the number of binary files which are not tracked by [Git Large File Storage](https://git-lfs.github.com/){target="_blank"} in a repository. @@ -11,37 +40,63 @@ The following example prints the number of binary files which are not tracked by Checking binary files requires Git and [Git Large File Storage](https://git-lfs.github.com/){target="_blank"} available on the local machine. -To analyze Git repositories you need to import the core addin and the Git repository support: +=== "Cake .NET Tool" -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.GitRepository&version={{ cake_issues_version }} -``` + ```csharp title="build.cake" + Task("Analyze-Repo") + .Does(() => + { + // Read issues. + var repoRootPath = MakeAbsolute(Directory("./")); + var settings = + new GitRepositoryIssuesSettings + { + CheckBinaryFilesTrackedByLfs = true + }; -We need some global variables: + var issues = + ReadIssues( + GitRepositoryIssues(settings), + repoRootPath); -```csharp -var repoRootPath = @"c:\repo"; -``` + Information("{0} issues are found.", issues.Count()); + }); + ``` -The following task will analyze the repository: +=== "Cake Frosting" -```csharp -Task("Analyze-Repo") -.Does(() => -{ - // Read Issues. - var settings = - new GitRepositoryIssuesSettings - { - CheckBinaryFilesTrackedByLfs = true - }; + ```csharp title="Program.cs" + using Cake.Common.Diagnostics; + using Cake.Frosting; - var issues = - ReadIssues( - GitRepositoryIssues(settings), - repoRootPath); + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } - Information("{0} issues are found.", issues.Count()); -}); -``` + [TaskName("Analyze-Repo")] + public sealed class AnalyzeRepoTask : FrostingTask + { + public override void Run(FrostingContext context) + { + // Read issues. + var repoRootPath = context.MakeAbsolute(context.Directory("./")); + var settings = + new GitRepositoryIssuesSettings + { + CheckBinaryFilesTrackedByLfs = true + }; + + var issues = + context.ReadIssues( + context.GitRepositoryIssues(settings), + repoRootPath); + + context.Information("{0} issues are found.", issues.Count()); + } + } + ``` diff --git a/docs/input/documentation/issue-providers/inspectcode/examples.md b/docs/input/documentation/issue-providers/inspectcode/examples.md index c14d1498d..801e5a76c 100644 --- a/docs/input/documentation/issue-providers/inspectcode/examples.md +++ b/docs/input/documentation/issue-providers/inspectcode/examples.md @@ -4,59 +4,135 @@ description: Examples for using the Cake.Issues.InspectCode addin. icon: material/test-tube --- -The following example will call [JetBrains InspectCode] and output the number of warnings. +To read issues from InspectCode log files the InspectCode issue provider needs to be imported: -To call [JetBrains InspectCode] from a Cake script you need to add the `JetBrains.ReSharper.CommandLineTools`: +=== "Cake .NET Tool" -```csharp -#tool "nuget:?package=JetBrains.ReSharper.CommandLineTools" // (1)! -``` + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} + ``` ---8<-- "snippets/pinning.md" + !!! note + In addition to the InspectCode issue provider the `Cake.Issues` core addin needs to be added. -To read issues from InspectCode log files you need to import the core addin and the InspectCode support: +=== "Cake Frosting" -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} -``` + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + ``` -We need some global variables: +The following example contains a task which will run [JetBrains InspectCode]{target="_blank"} +and write a log file and a task to read issues from the log file and write the number of warnings to the console. +[JetBrains InspectCode] is installed using `JetBrains.ReSharper.CommandLineTools`: -```csharp -var logPath = @"c:\build\inspectcode.xml"; -var repoRootPath = @"c:\repo"; -``` +=== "Cake .NET Tool" -The following task will run [JetBrains InspectCode] and write a log file: + ```csharp title="build.cake" + #tool "nuget:?package=JetBrains.ReSharper.CommandLineTools" // (1)! -```csharp -Task("Analyze-Project").Does(() => -{ - // Run InspectCode. - var settings = new InspectCodeSettings() { - OutputFile = logPath - }; + var logPath = @"c:\build\inspectcode.xml"; + var repoRootFolder = MakeAbsolute(Directory("./")); - InspectCode(repoRootPath.CombineWithFilePath("MySolution.sln"), settings); -}); -``` + Task("Analyze-Project").Does(() => + { + // Run InspectCode. + var settings = new InspectCodeSettings() { + OutputFile = logPath + }; + + InspectCode(repoRootPath.CombineWithFilePath("MySolution.sln"), settings); + }); + + Task("Read-Issues") + .IsDependentOn("Analyze-Project") + .Does(() => + { + // Read issues. + var issues = + ReadIssues( + InspectCodeIssuesFromFilePath(logPath), + repoRootPath); + + Information("{0} issues are found.", issues.Count()); + }); + ``` -Finally you can define a task where you call the core addin with the desired issue provider. + --8<-- "snippets/pinning.md" -```csharp -Task("Read-Issues") - .IsDependentOn("Analyze-Project") - .Does(() => +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.Diagnostics; + using Cake.Core.IO; + using Cake.Core; + using Cake.Frosting; + using Cake.Common.Tools.InspectCode; + + public static class Program { - // Read Issues. - var issues = - ReadIssues( - InspectCodeIssuesFromFilePath(logPath), - repoRootPath); + public static int Main(string[] args) + { + return new CakeHost() + .UseContext() + .InstallTool( + new Uri( + "nuget:?package=JetBrains.ReSharper.CommandLineTools")) // (1)! + .Run(args); + } + } - Information("{0} issues are found.", issues.Count()); - }); -``` + public class BuildContext(ICakeContext context) : FrostingContext(context) + { + public FilePath LogPath { get; } = @"c:\build\inspectcode.xml"; + public DirectoryPath RepoRootPath { get; } = + context.MakeAbsolute(context.Directory("./")); + } + + [TaskName("Analyze-Project")] + public sealed class AnalyzeProjectTask : FrostingTask + { + public override void Run(BuildContext context) + { + // Run InspectCode. + var settings = new InspectCodeSettings() { + OutputFile = context.LogPath + }; + + context.InspectCode( + context.RepoRootPath.CombineWithFilePath("MySolution.sln"), + settings); + } + } + + [TaskName("Read-Issues")] + [IsDependentOn(typeof(AnalyzeProjectTask))] + public sealed class ReadIssuesTask : FrostingTask + { + public override void Run(BuildContext context) + { + // Read issues. + var issues = + context.ReadIssues( + context.InspectCodeIssuesFromFilePath(context.LogPath), + context.RepoRootPath); + + context.Information("{0} issues are found.", issues.Count()); + } + } + ``` + + --8<-- "snippets/pinning.md" [JetBrains InspectCode]: https://www.jetbrains.com/help/resharper/InspectCode.html diff --git a/docs/input/documentation/issue-providers/markdownlint/examples.md b/docs/input/documentation/issue-providers/markdownlint/examples.md index 718f84e5f..ff958ae26 100644 --- a/docs/input/documentation/issue-providers/markdownlint/examples.md +++ b/docs/input/documentation/issue-providers/markdownlint/examples.md @@ -4,62 +4,140 @@ description: Examples for using the Cake.Issues.Markdownlint addin. icon: material/test-tube --- -The following example will call [markdownlint-cli] to lint some markdown files and outputs the number of warnings. +To call [markdownlint-cli]{target="_blank"} from a Cake script the [Cake.Markdownlint]{target="_blank"} addin can be used. +To read issues from markdownlint-cli log files the markdownlint issue provider needs to be imported: -To call [markdownlint-cli] from a Cake script you can use the [Cake.Markdownlint] addin. +=== "Cake .NET Tool" -```csharp -#addin "Cake.Markdownlint" // (1)! -``` + ```csharp title="build.cake" + #addin "Cake.Markdownlint" // (1)! + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Markdownlint&version={{ cake_issues_version }} + ``` ---8<-- "snippets/pinning.md" + --8<-- "snippets/pinning.md" -To read issues from markdownlint-cli log files you need to import the core addin and the markdownlint support: + !!! note + In addition to the markdownlint issue provider the `Cake.Issues` core addin needs to be added. -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Markdownlint&version={{ cake_issues_version }} -``` +=== "Cake Frosting" -We need some global variables: + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + // (1)! + + + + + ``` -```csharp -var logPath = @"c:\build\markdownlint.log"; -var repoRootFolder = MakeAbsolute(Directory("./")); -``` + --8<-- "snippets/version-placeholder.md" -The following task will run [markdownlint-cli] and write a log file: +The following example contains a task which will run [markdownlint-cli]{target="_blank"} and write a log file +and a task to read issues from the log file and write the number of warnings to the console: -```csharp -Task("Lint-Documentation").Does(() => -{ - // Run markdownlint-cli. - var settings = - MarkdownlintNodeJsRunnerSettings.ForDirectory(repoRootPath.Combine("docs")); - settings.OutputFile = logPath; - settings.ThrowOnIssue = false; - RunMarkdownlintNodeJs(settings); -}); -``` +=== "Cake .NET Tool" -Finally you can define a task where you call the core addin with the desired issue provider. + ```csharp title="build.cake" + var logPath = @"c:\build\markdownlint.log"; + var repoRootFolder = MakeAbsolute(Directory("./")); -```csharp -Task("Read-Issues") - .IsDependentOn("Lint-Documentation") - .Does(() => + Task("Lint-Documentation").Does(() => { - // Read Issues. - var issues = - ReadIssues( - MarkdownlintIssuesFromFilePath( - logPath, - MarkdownlintCliLogFileFormat), - repoRootPath); - - Information("{0} issues are found.", issues.Count()); + // Run markdownlint-cli. + var settings = + MarkdownlintNodeJsRunnerSettings.ForDirectory( + context.RepoRootPath.Combine("docs")); + settings.OutputFile = logPath; + settings.ThrowOnIssue = false; + RunMarkdownlintNodeJs(settings); }); -``` + + Task("Read-Issues") + .IsDependentOn("Lint-Documentation") + .Does(() => + { + // Read issues. + var issues = + ReadIssues( + MarkdownlintIssuesFromFilePath( + logPath, + MarkdownlintCliLogFileFormat), + repoRootPath); + + Information("{0} issues are found.", issues.Count()); + }); + + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.Diagnostics; + using Cake.Common.IO; + using Cake.Core; + using Cake.Core.IO; + using Cake.Frosting; + using Cake.Markdownlint; + using Cake.Markdownlint.NodeJs; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .UseContext() + .Run(args); + } + } + + public class BuildContext(ICakeContext context) : FrostingContext(context) + { + public FilePath LogPath { get; } = @"c:\build\markdownlint.log"; + public DirectoryPath RepoRootPath { get; } = + context.MakeAbsolute(context.Directory("./")); + } + + [TaskName("Lint-Documentation")] + public sealed class LintDocumentationTask : FrostingTask + { + public override void Run(BuildContext context) + { + // Run markdownlint-cli. + var settings = + MarkdownlintNodeJsRunnerSettings.ForDirectory( + context.RepoRootPath.Combine("docs")); + settings.OutputFile = context.LogPath; + settings.ThrowOnIssue = false; + context.RunMarkdownlintNodeJs(settings); + } + } + + [TaskName("Read-Issues")] + [IsDependentOn(typeof(LintDocumentationTask))] + public sealed class ReadIssuesTask : FrostingTask + { + public override void Run(BuildContext context) + { + // Read issues. + var issues = + context.ReadIssues( + context.MarkdownlintIssuesFromFilePath( + context.LogPath, + context.MarkdownlintCliLogFileFormat()), + context.RepoRootPath); + + context.Information("{0} issues are found.", issues.Count()); + } + } + ``` [markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli -[Cake.Markdownlint]: https://www.nuget.org/packages/Cake.Markdownlint/ +[Cake.Markdownlint]: https://cakebuild.net/extensions/cake-markdownlint/ diff --git a/docs/input/documentation/issue-providers/msbuild/examples.md b/docs/input/documentation/issue-providers/msbuild/examples.md index a8ce629bd..88fb1430d 100644 --- a/docs/input/documentation/issue-providers/msbuild/examples.md +++ b/docs/input/documentation/issue-providers/msbuild/examples.md @@ -4,37 +4,136 @@ description: Examples for using the Cake.Issues.MsBuild addin. icon: material/test-tube --- -The following example will call MsBuild to build the solution and outputs the number of warnings. - -To read issues from MsBuild log files you need to import the core addin and the MsBuild support: - -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} -``` - -We need some global variables: - -```csharp -var logPath = @"c:\build\msbuild.log"; -var repoRootPath = @"c:\repo"; -``` - -The following task will build the solution and write a binary log file: - -```csharp -Task("Build-Solution").Does(() => -{ - var msBuildSettings = - new MSBuildSettings().WithLogger( - "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), - "", - logPath) - DotNetBuild( - repoRootPath.CombineWithFilePath("MySolution.sln"), - new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); -}); -``` +To read issues from MsBuild log files you need to import the MsBuild issue provider needs to be imported: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} + ``` + + !!! note + In addition to the MsBuild issue provider the `Cake.Issues` core addin needs to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + ``` + +The following example contains a task which will call MsBuild to build the solution and write a binary log file +and a task to read issues from the binary log file and write the number of warnings to the console: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + var logPath = @"c:\build\msbuild.xml"; + var repoRootPath = MakeAbsolute(Directory("./")); + + Task("Build-Solution").Does(() => + { + // Build solution. + var msBuildSettings = + new DotNetMSBuildSettings().WithLogger( + "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + logPath.FullPath); + DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln").FullPath, + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); + }); + + Task("Read-Issues") + .IsDependentOn("Build-Solution") + .Does(() => + { + // Read issues. + var issues = + ReadIssues( + MsBuildIssuesFromFilePath( + logPath, + MsBuildBinaryLogFileFormat), + repoRootPath); + + Information("{0} issues are found.", issues.Count()); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.Diagnostics; + using Cake.Common.IO; + using Cake.Common.Tools.DotNet; + using Cake.Common.Tools.DotNet.Build; + using Cake.Core; + using Cake.Core.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .UseContext() + .Run(args); + } + } + + public class BuildContext(ICakeContext context) : FrostingContext(context) + { + public FilePath LogPath { get; } = @"c:\build\msbuild.xml"; + public DirectoryPath RepoRootPath { get; } = + context.MakeAbsolute(context.Directory("./")); + } + + [TaskName("Build-Solution")] + public sealed class BuildSolutionTask : FrostingTask + { + public override void Run(BuildContext context) + { + // Build solution. + var msBuildSettings = + new DotNetMSBuildSettings().WithLogger( + "BinaryLogger," + context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + context.LogPath.FullPath); + context.DotNetBuild( + context.RepoRootPath.CombineWithFilePath("MySolution.sln").FullPath, + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); + } + } + + [TaskName("Read-Issues")] + [IsDependentOn(typeof(BuildSolutionTask))] + public sealed class ReadIssuesTask : FrostingTask + { + public override void Run(BuildContext context) + { + // Read issues. + var issues = + context.ReadIssues( + context.MsBuildIssuesFromFilePath( + context.LogPath, + context.MsBuildBinaryLogFileFormat()), + context.RepoRootPath); + + context.Information("{0} issues are found.", issues.Count()); + } + } + ``` !!! Tip When using `MSBuildSettings.BinaryLogger` property to write a binary log, the version of the binary log format written @@ -43,23 +142,3 @@ Task("Build-Solution").Does(() => To avoid the risk of breaking builds when the .NET SDK is updated and introduces a new binary log format, which is not supported in the used version of Cake.Issues.MsBuild, the binary logger instance shipped as part of Cake.Issues.MsBuild is used in the above example. - -Finally you can define a task where you call the core addin with the desired issue provider. -The following example reads warnings and errors reported as MsBuild in a binary log: - -```csharp -Task("Read-Issues") - .IsDependentOn("Build-Solution") - .Does(() => - { - // Read Issues. - var issues = - ReadIssues( - MsBuildIssuesFromFilePath( - logPath, - MsBuildBinaryLogFileFormat), - repoRootFolder); - - Information("{0} issues are found.", issues.Count()); - }); -``` diff --git a/docs/snippets/version-placeholder.md b/docs/snippets/version-placeholder.md new file mode 100644 index 000000000..211b1fb01 --- /dev/null +++ b/docs/snippets/version-placeholder.md @@ -0,0 +1 @@ +1. Replace `1.0.0` with the desired version. From d4bc90296b15f405fb070750bc4228e441eb555a Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 1 Jan 2025 20:31:44 +0100 Subject: [PATCH 180/201] Fix link to contribution guidelines (#918) --- .../report-formats/generic/examples/custom-template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/input/documentation/report-formats/generic/examples/custom-template.md b/docs/input/documentation/report-formats/generic/examples/custom-template.md index 56f148e98..2ded65f4f 100644 --- a/docs/input/documentation/report-formats/generic/examples/custom-template.md +++ b/docs/input/documentation/report-formats/generic/examples/custom-template.md @@ -100,4 +100,4 @@ The template retrieves an `IEnumerable` as model. * Cake.Issues.dll * Cake.Issues.Reporting.Generic.dll -[create a pull request]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/CONTRIBUTING.md +[create a pull request]: ../../../contributing/how-to-contribute.md From 3b1d5d662233b5c75b82eed4069b5b8bd7c4ec11 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 1 Jan 2025 21:01:48 +0100 Subject: [PATCH 181/201] Add Report Format examples for Cake Frosting (#919) --- .../report-formats/console/examples.md | 158 +++++++++--- .../generic/examples/custom-template.md | 148 +++++++++--- .../generic/examples/default-template.md | 140 ++++++++--- .../generic/templates/htmldatatable.md | 28 ++- .../generic/templates/htmldiagnostic.md | 28 ++- .../generic/templates/htmldxdatagrid.md | 226 +++++++++++++----- .../report-formats/sarif/examples.md | 140 ++++++++--- 7 files changed, 663 insertions(+), 205 deletions(-) diff --git a/docs/input/documentation/report-formats/console/examples.md b/docs/input/documentation/report-formats/console/examples.md index d61d188c7..6cd90ffa4 100644 --- a/docs/input/documentation/report-formats/console/examples.md +++ b/docs/input/documentation/report-formats/console/examples.md @@ -4,45 +4,127 @@ description: Examples for using the Cake.Issues.Reporting.Console addin. icon: material/test-tube --- +To report issues to the console the Console report format needs to be imported. +For this example the MsBuild issue provider is additionally used for reading issues: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Reporting.Console&version={{ cake_issues_version }} + ``` + + !!! note + In addition to the Console report format the `Cake.Issues` and `Cake.Issues.Reporting` core addins need to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` + The following example will print issues logged as warnings by MsBuild to the console. -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Reporting.Console&version={{ cake_issues_version }} - -Task("Create-IssueReport").Does(() => -{ - var repoRootFolder = new DirectoryPath(@"c:\repo"); - - // Build MySolution.sln solution in the repository root folder and write a binary log. - FilePath msBuildLogFile = @"c:\build\msbuild.log"; - var msBuildSettings = - new MSBuildSettings().WithLogger( - "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), - "", - msBuildLogFile) - DotNetBuild( - repoRootPath.CombineWithFilePath("MySolution.sln"), - new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); - - // Write issues to console. - CreateIssueReport( - new List - { +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Create-IssueReport").Does(() => + { + var repoRootPath = MakeAbsolute(Directory("./")); + + // Build MySolution.sln solution in the repository root folder and write a binary log. + FilePath msBuildLogFile = @"c:\build\msbuild.log"; + var msBuildSettings = + new DotNetMSBuildSettings().WithLogger( + "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile.FullPath); + DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln").FullPath, + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); + + // Write issues to console. + CreateIssueReport( MsBuildIssuesFromFilePath( msBuildLogFile, - MsBuildBinaryLogFileFormat) - }, - ConsoleIssueReportFormat( - new ConsoleIssueReportFormatSettings - { - GroupByRule = true, - ShowProviderSummary = true, - ShowPrioritySummary = true - }), - repoRootFolder, - string.Empty); -}); -``` + MsBuildBinaryLogFileFormat), + ConsoleIssueReportFormat( + new ConsoleIssueReportFormatSettings + { + GroupByRule = true, + ShowProviderSummary = true, + ShowPrioritySummary = true + }), + repoRootPath, + string.Empty); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.IO; + using Cake.Common.Tools.DotNet; + using Cake.Common.Tools.DotNet.Build; + using Cake.Common.Tools.DotNet.MSBuild; + using Cake.Core.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("Create-IssueReport")] + public sealed class CreateIssueReportTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootPath = context.MakeAbsolute(context.Directory("./")); + + // Build MySolution.sln solution in the repository root folder and write a binary log. + FilePath msBuildLogFile = @"c:\build\msbuild.log"; + var msBuildSettings = + new DotNetMSBuildSettings().WithLogger( + "BinaryLogger," + context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile.FullPath); + context.DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln").FullPath, + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); + + // Write issues to console. + context.CreateIssueReport( + context.MsBuildIssuesFromFilePath( + msBuildLogFile, + context.MsBuildBinaryLogFileFormat()), + context.ConsoleIssueReportFormat( + new ConsoleIssueReportFormatSettings + { + GroupByRule = true, + ShowProviderSummary = true, + ShowPrioritySummary = true + }), + repoRootPath, + string.Empty); + } + } + ``` diff --git a/docs/input/documentation/report-formats/generic/examples/custom-template.md b/docs/input/documentation/report-formats/generic/examples/custom-template.md index 2ded65f4f..bff5b2d95 100644 --- a/docs/input/documentation/report-formats/generic/examples/custom-template.md +++ b/docs/input/documentation/report-formats/generic/examples/custom-template.md @@ -7,46 +7,124 @@ description: Example how to create a report using a custom template If you create a universally usable custom template we're happy to package it with the addin. To have it included in the addin please [create a pull request] with your contribution. +To create custom HTML reports the Generic report format needs to be imported. +For this example the MsBuild issue provider is additionally used for reading issues: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Reporting.Generic&version={{ cake_issues_version }} + ``` + + !!! note + In addition to the Generic report format the `Cake.Issues` and `Cake.Issues.Reporting` core addins need to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` + The following example will create a HTML report for issues logged as warnings by MsBuild using a custom template. -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Reporting.Generic&version={{ cake_issues_version }} - -Task("Create-IssueReport").Does(() => -{ - var repoRootFolder = new DirectoryPath(@"c:\repo"); - - // Build MySolution.sln solution in the repository root folder and write a binary log. - FilePath msBuildLogFile = @"c:\build\msbuild.log"; - var msBuildSettings = - new MSBuildSettings().WithLogger( - "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), - "", - msBuildLogFile) - DotNetBuild( - repoRootPath.CombineWithFilePath("MySolution.sln"), - new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); - - // Create HTML report using Diagnostic template. - CreateIssueReport( - new List +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Create-IssueReport").Does(() => + { + var repoRootFolder = new DirectoryPath(@"c:\repo"); + + // Build MySolution.sln solution in the repository root folder and write a binary log. + FilePath msBuildLogFile = @"c:\build\msbuild.log"; + var msBuildSettings = + new MSBuildSettings().WithLogger( + "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile) + DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln"), + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); + + // Create HTML report using Diagnostic template. + CreateIssueReport( + new List + { + MsBuildIssuesFromFilePath( + msBuildLogFile, + MsBuildBinaryLogFileFormat) + }, + GenericIssueReportFormatFromFilePath(@"c:\ReportTemplate.cshtml"), + repoRootFolder, + @"c:\report.html"); + }); + ``` +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.IO; + using Cake.Common.Tools.DotNet; + using Cake.Common.Tools.DotNet.Build; + using Cake.Common.Tools.DotNet.MSBuild; + using Cake.Core.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) { - MsBuildIssuesFromFilePath( - msBuildLogFile, - MsBuildBinaryLogFileFormat) - }, - GenericIssueReportFormatFromFilePath(@"c:\ReportTemplate.cshtml"), - repoRootFolder, - @"c:\report.html"); -}); -``` + return new CakeHost() + .Run(args); + } + } + + [TaskName("Create-IssueReport")] + public sealed class CreateIssueReportTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootPath = context.MakeAbsolute(context.Directory("./")); + + // Build MySolution.sln solution in the repository root folder and write a binary log. + FilePath msBuildLogFile = @"c:\build\msbuild.log"; + var msBuildSettings = + new DotNetMSBuildSettings().WithLogger( + "BinaryLogger," + context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile.FullPath); + context.DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln").FullPath, + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); + + // Write issues to console. + context.CreateIssueReport( + context.MsBuildIssuesFromFilePath( + msBuildLogFile, + context.MsBuildBinaryLogFileFormat()), + context.GenericIssueReportFormatFromFilePath(@"c:\ReportTemplate.cshtml"), + repoRootPath, + @"c:\report.html"); + } + } + ``` -`ReportTemplate` looks like this: +The template looks like this: -```csharp +```csharp title="ReportTemplate.cshtml" @model IEnumerable diff --git a/docs/input/documentation/report-formats/generic/examples/default-template.md b/docs/input/documentation/report-formats/generic/examples/default-template.md index 6eaa50694..aa7d82095 100644 --- a/docs/input/documentation/report-formats/generic/examples/default-template.md +++ b/docs/input/documentation/report-formats/generic/examples/default-template.md @@ -3,39 +3,115 @@ title: Embedded default template description: Example how to create a report using an embedded default template. --- +To create HTML reports the Generic report format needs to be imported. +For this example the MsBuild issue provider is additionally used for reading issues: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Reporting.Generic&version={{ cake_issues_version }} + ``` + + !!! note + In addition to the Generic report format the `Cake.Issues` and `Cake.Issues.Reporting` core addins need to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` + The following example will create a HTML report for issues logged as warnings by MsBuild. -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Reporting.Generic&version={{ cake_issues_version }} - -Task("Create-IssueReport").Does(() => -{ - var repoRootFolder = new DirectoryPath(@"c:\repo"); - - // Build MySolution.sln solution in the repository root folder and write a binary log. - FilePath msBuildLogFile = @"c:\build\msbuild.log"; - var msBuildSettings = - new MSBuildSettings().WithLogger( - "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), - "", - msBuildLogFile) - DotNetBuild( - repoRootPath.CombineWithFilePath("MySolution.sln"), - new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); - - // Create HTML report using Diagnostic template. - CreateIssueReport( - new List - { +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Create-IssueReport").Does(() => + { + var repoRootPath = MakeAbsolute(Directory("./")); + + // Build MySolution.sln solution in the repository root folder and write a binary log. + FilePath msBuildLogFile = @"c:\build\msbuild.log"; + var msBuildSettings = + new DotNetMSBuildSettings().WithLogger( + "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile.FullPath); + DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln").FullPath, + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); + + // Create HTML report using Diagnostic template. + CreateIssueReport( MsBuildIssuesFromFilePath( msBuildLogFile, - MsBuildBinaryLogFileFormat) - }, - GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), - repoRootFolder, - @"c:\report.html"); -}); -``` + MsBuildBinaryLogFileFormat), + GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), + repoRootPath, + @"c:\report.html"); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.IO; + using Cake.Common.Tools.DotNet; + using Cake.Common.Tools.DotNet.Build; + using Cake.Common.Tools.DotNet.MSBuild; + using Cake.Core.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("Create-IssueReport")] + public sealed class CreateIssueReportTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootPath = context.MakeAbsolute(context.Directory("./")); + + // Build MySolution.sln solution in the repository root folder and write a binary log. + FilePath msBuildLogFile = @"c:\build\msbuild.log"; + var msBuildSettings = + new DotNetMSBuildSettings().WithLogger( + "BinaryLogger," + context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile.FullPath); + context.DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln").FullPath, + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); + + // Write issues to console. + context.CreateIssueReport( + context.MsBuildIssuesFromFilePath( + msBuildLogFile, + context.MsBuildBinaryLogFileFormat()), + context.GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), + repoRootPath, + @"c:\report.html"); + } + } + ``` diff --git a/docs/input/documentation/report-formats/generic/templates/htmldatatable.md b/docs/input/documentation/report-formats/generic/templates/htmldatatable.md index c475b3d0f..aa4f03f77 100644 --- a/docs/input/documentation/report-formats/generic/templates/htmldatatable.md +++ b/docs/input/documentation/report-formats/generic/templates/htmldatatable.md @@ -27,13 +27,27 @@ To create a report using the HTML Data Table template you can use the [GenericIssueReportTemplate.HtmlDataTable](https://cakebuild.net/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/62ADE81F){target="_blank"} enum value: -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDataTable), - @"c:\repo", - @"c:\report.html"); -``` +=== "Cake .NET Tool" + + ```csharp + CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDataTable), + @"c:\repo", + @"c:\report.html"); + ``` + +=== "Cake Frosting" + + ```csharp + context.CreateIssueReport( + issues, + context.GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDataTable), + @"c:\repo", + @"c:\report.html"); + ``` ## Options diff --git a/docs/input/documentation/report-formats/generic/templates/htmldiagnostic.md b/docs/input/documentation/report-formats/generic/templates/htmldiagnostic.md index e76ceb63d..460734807 100644 --- a/docs/input/documentation/report-formats/generic/templates/htmldiagnostic.md +++ b/docs/input/documentation/report-formats/generic/templates/htmldiagnostic.md @@ -22,13 +22,27 @@ To create a report using the HTML diagnostic template you can use the [GenericIssueReportTemplate.HtmlDiagnostic](https://cakebuild.net/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/4F88BD05){target="_blank"} enum value: -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic), - @"c:\repo", - @"c:\report.html"); -``` +=== "Cake .NET Tool" + + ```csharp + CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDiagnostic), + @"c:\repo", + @"c:\report.html"); + ``` + +=== "Cake Frosting" + + ```csharp + context.CreateIssueReport( + issues, + context.GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDiagnostic), + @"c:\repo", + @"c:\report.html"); + ``` ## Options diff --git a/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid.md b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid.md index b42dcf578..e3412b5cc 100644 --- a/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid.md +++ b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid.md @@ -27,13 +27,27 @@ Template for a HTML report containing a rich data grid with sorting, filtering, To create a report using the HTML DevExtreme Data Grid template you can use the [GenericIssueReportTemplate.HtmlDxDataGrid] enum value: -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDxDataGrid), - @"c:\repo", - @"c:\report.html"); -``` +=== "Cake .NET Tool" + + ```csharp + CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid), + @"c:\repo", + @"c:\report.html"); + ``` + +=== "Cake Frosting" + + ```csharp + context.CreateIssueReport( + issues, + context.GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid), + @"c:\repo", + @"c:\report.html"); + ``` ## Options @@ -50,15 +64,35 @@ The following demo shows the template with its default options: The template supports the teams defined in the [DevExtremeTheme] enumeration which can be set using the [HtmlDxDataGridOption.Theme]: -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate( - GenericIssueReportTemplate.HtmlDxDataGrid, - settings => settings.WithOption(HtmlDxDataGridOption.Theme, DevExtremeTheme.MaterialBlueLight)), - @"c:\repo", - @"c:\report.html"); -``` +=== "Cake .NET Tool" + + ```csharp + CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption( + HtmlDxDataGridOption.Theme, + DevExtremeTheme.MaterialBlueLight)), + @"c:\repo", + @"c:\report.html"); + ``` + +=== "Cake Frosting" + + ```csharp + context.CreateIssueReport( + issues, + context.GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption( + HtmlDxDataGridOption.Theme, + DevExtremeTheme.MaterialBlueLight)), + @"c:\repo", + @"c:\report.html"); + ``` * [Light Theme](htmldxdatagrid-demo-theme-light.html){target="_blank"} ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-light.cake){target="_blank"}) @@ -127,15 +161,35 @@ CreateIssueReport( Visible columns can be defined using the `ColumnNameVisible` option: -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate( - GenericIssueReportTemplate.HtmlDxDataGrid, - settings => settings.WithOption(HtmlDxDataGridOption.LineVisible, false)), - @"c:\repo", - @"c:\report.html"); -``` +=== "Cake .NET Tool" + + ```csharp + CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption( + HtmlDxDataGridOption.LineVisible, + false)), + @"c:\repo", + @"c:\report.html"); + ``` + +=== "Cake Frosting" + + ```csharp + context.CreateIssueReport( + issues, + context.GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption( + HtmlDxDataGridOption.LineVisible, + false)), + @"c:\repo", + @"c:\report.html"); + ``` Additional columns can be added using the [HtmlDxDataGridOption.AdditionalColumns] option. @@ -149,17 +203,41 @@ Additional columns can be added using the [HtmlDxDataGridOption.AdditionalColumn Sorted columns can be defined using the [HtmlDxDataGridOption.SortedColumns] and the `ColumnNameSortOder` options: -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate( - GenericIssueReportTemplate.HtmlDxDataGrid, - settings => settings - .WithOption(HtmlDxDataGridOption.SortedColumns, new List { ReportColumn.RuleId }) - .WithOption(HtmlDxDataGridOption.RuleIdSortOder, ColumnSortOderDescending )), - @"c:\repo", - @"c:\report.html"); -``` +=== "Cake .NET Tool" + + ```csharp + CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption( + HtmlDxDataGridOption.SortedColumns, + new List { ReportColumn.RuleId }) + .WithOption( + HtmlDxDataGridOption.RuleIdSortOrder, + ColumnSortOrder.Descending )), + @"c:\repo", + @"c:\report.html"); + ``` + +=== "Cake Frosting" + + ```csharp + context.CreateIssueReport( + issues, + context.GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption( + HtmlDxDataGridOption.SortedColumns, + new List { ReportColumn.RuleId }) + .WithOption( + HtmlDxDataGridOption.RuleIdSortOrder, + ColumnSortOrder.Descending )), + @"c:\repo", + @"c:\report.html"); + ``` * [Change sorting](htmldxdatagrid-demo-sorting.html){target="_blank"} ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-sorting.cake){target="_blank"}) @@ -168,15 +246,35 @@ CreateIssueReport( Grouping can be defined using the [HtmlDxDataGridOption.GroupedColumns] option: -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate( - GenericIssueReportTemplate.HtmlDxDataGrid, - settings => settings.WithOption(HtmlDxDataGridOption.GroupedColumns, new List { ReportColumn.RuleId })), - @"c:\repo", - @"c:\report.html"); -``` +=== "Cake .NET Tool" + + ```csharp + CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption( + HtmlDxDataGridOption.GroupedColumns, + new List { ReportColumn.RuleId })), + @"c:\repo", + @"c:\report.html"); + ``` + +=== "Cake Frosting" + + ```csharp + context.CreateIssueReport( + issues, + context.GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption( + HtmlDxDataGridOption.GroupedColumns, + new List { ReportColumn.RuleId })), + @"c:\repo", + @"c:\report.html"); + ``` * [Change grouping](htmldxdatagrid-demo-grouping.html){target="_blank"} ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-grouping.cake){target="_blank"}) @@ -187,15 +285,35 @@ CreateIssueReport( Exporting can be enabled using the [HtmlDxDataGridOption.EnableExporting] option: -```csharp -CreateIssueReport( - issues, - GenericIssueReportFormatFromEmbeddedTemplate( - GenericIssueReportTemplate.HtmlDxDataGrid, - settings => settings.WithOption(HtmlDxDataGridOption.EnableExporting, true)), - @"c:\repo", - @"c:\report.html"); -``` +=== "Cake .NET Tool" + + ```csharp + CreateIssueReport( + issues, + GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption( + HtmlDxDataGridOption.EnableExporting, + true)), + @"c:\repo", + @"c:\report.html"); + ``` + +=== "Cake Frosting" + + ```csharp + context.CreateIssueReport( + issues, + context.GenericIssueReportFormatFromEmbeddedTemplate( + GenericIssueReportTemplate.HtmlDxDataGrid, + settings => settings + .WithOption( + HtmlDxDataGridOption.EnableExporting, + true)), + @"c:\repo", + @"c:\report.html"); + ``` * [Enable exporting](htmldxdatagrid-demo-enableexporting.html){target="_blank"} ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-enable-exporting.cake){target="_blank"}) diff --git a/docs/input/documentation/report-formats/sarif/examples.md b/docs/input/documentation/report-formats/sarif/examples.md index 5b7adffb8..b3cf79f1f 100644 --- a/docs/input/documentation/report-formats/sarif/examples.md +++ b/docs/input/documentation/report-formats/sarif/examples.md @@ -4,39 +4,115 @@ description: Examples for using the Cake.Issues.Reporting.Sarif addin. icon: material/test-tube --- +To report issues to the console the SARIF report format needs to be imported. +For this example the MsBuild issue provider is additionally used for reading issues: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.Reporting.Sarif&version={{ cake_issues_version }} + ``` + + !!! note + In addition to the SARIF report format the `Cake.Issues` and `Cake.Issues.Reporting` core addins need to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` + The following example will create a SARIF report for issues logged as warnings by MsBuild. -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.Reporting.Sarif&version={{ cake_issues_version }} - -Task("Create-IssueReport").Does(() => -{ - var repoRootFolder = new DirectoryPath(@"c:\repo"); - - // Build MySolution.sln solution in the repository root folder and write a binary log. - FilePath msBuildLogFile = @"c:\build\msbuild.log"; - var msBuildSettings = - new MSBuildSettings().WithLogger( - "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), - "", - msBuildLogFile) - DotNetBuild( - repoRootPath.CombineWithFilePath("MySolution.sln"), - new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); - - // Create SARIF report. - CreateIssueReport( - new List - { +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Create-IssueReport").Does(() => + { + var repoRootPath = MakeAbsolute(Directory("./")); + + // Build MySolution.sln solution in the repository root folder and write a binary log. + FilePath msBuildLogFile = @"c:\build\msbuild.log"; + var msBuildSettings = + new DotNetMSBuildSettings().WithLogger( + "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile.FullPath); + DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln").FullPath, + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); + + // Create SARIF report. + CreateIssueReport( MsBuildIssuesFromFilePath( msBuildLogFile, - MsBuildBinaryLogFileFormat) - }, - SarifIssueReportFormat(), - repoRootFolder, - @"c:\report.sarif"); -}); -``` + MsBuildBinaryLogFileFormat, + SarifIssueReportFormat(), + repoRootPath, + @"c:\report.sarif"); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.IO; + using Cake.Common.Tools.DotNet; + using Cake.Common.Tools.DotNet.Build; + using Cake.Common.Tools.DotNet.MSBuild; + using Cake.Core.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("Create-IssueReport")] + public sealed class CreateIssueReportTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootPath = context.MakeAbsolute(context.Directory("./")); + + // Build MySolution.sln solution in the repository root folder and write a binary log. + FilePath msBuildLogFile = @"c:\build\msbuild.log"; + var msBuildSettings = + new DotNetMSBuildSettings().WithLogger( + "BinaryLogger," + context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"), + "", + msBuildLogFile.FullPath); + context.DotNetBuild( + repoRootPath.CombineWithFilePath("MySolution.sln").FullPath, + new DotNetBuildSettings{MSBuildSettings = msBuildSettings}); + + // Create SARIF report. + context.CreateIssueReport( + context.MsBuildIssuesFromFilePath( + msBuildLogFile, + context.MsBuildBinaryLogFileFormat()), + context.SarifIssueReportFormat(), + repoRootPath, + @"c:\report.sarif"); + } + } + ``` From 1de40f456c9030191b7f7e6aae17268335d5e77e Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 1 Jan 2025 21:58:33 +0100 Subject: [PATCH 182/201] Add Pull Request System examples for Cake Frosting (#920) --- .../appveyor/examples/write-messages.md | 100 ++++++++++--- .../azure-devops/examples/azure-pipelines.md | 116 +++++++++++---- .../azure-devops/examples/pullrequest-id.md | 135 ++++++++++++----- .../examples/repository-information.md | 137 +++++++++++++----- .../examples/write-annotations.md | 100 ++++++++++--- 5 files changed, 439 insertions(+), 149 deletions(-) diff --git a/docs/input/documentation/pull-request-systems/appveyor/examples/write-messages.md b/docs/input/documentation/pull-request-systems/appveyor/examples/write-messages.md index 6475d83d6..6c708a556 100644 --- a/docs/input/documentation/pull-request-systems/appveyor/examples/write-messages.md +++ b/docs/input/documentation/pull-request-systems/appveyor/examples/write-messages.md @@ -3,35 +3,87 @@ title: Writing message to AppVeyor description: Example how to write issues as messages to an AppVeyor build. --- -This example shows how to report issues as messages to an AppVeyor build. +To report issues as messages to an AppVeyor build, the AppVeyor addin needs to be imported. +For this example the JetBrains InspectCode issue provider is additionally used for reading issues: -To report issues as messages to an AppVeyor build you need to import the core addin, -the core pull request addin, the AppVeyor support and one or more issue providers, -in this example for JetBrains InspectCode: +=== "Cake .NET Tool" -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests.AppVeyor&version={{ cake_issues_version }} -``` + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests.AppVeyor&version={{ cake_issues_version }} + ``` -In the following task we'll first determine the remote repository URL and -source branch of the pull request and with this information call the + !!! note + In addition to the AppVeyor pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins need to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` + +This example shows how to report issues as messages to an AppVeyor build using the [AppVeyorBuilds](https://cakebuild.net/api/Cake.Issues.PullRequests.AppVeyor/AppVeyorBuildsAliases/){target="_blank"} alias: -```csharp -Task("ReportIssuesToAppVeyor").Does(() => -{ - var repoRootFolder = MakeAbsolute(Directory("./")); - - ReportIssuesToPullRequest( - InspectCodeIssuesFromFilePath( - @"C:\build\inspectcode.log"), - AppVeyorBuilds(), - repoRootFolder); -}); -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Report-IssuesToAppVeyor").Does(() => + { + var repoRootPath = MakeAbsolute(Directory("./")); + + ReportIssuesToPullRequest( + InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + AppVeyorBuilds(), + repoRootPath); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("Report-IssuesToAppVeyor")] + public sealed class ReportIssuesToAppVeyorTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootPath = context.MakeAbsolute(context.Directory("./")); + + context.ReportIssuesToPullRequest( + context.InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + context.AppVeyorBuilds(), + repoRootPath); + } + } + ``` The output will look similar to this: diff --git a/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md index 6de2a0f69..9a9b9972f 100644 --- a/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md +++ b/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md @@ -3,35 +3,93 @@ title: Using with Azure Pipelines description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin from an Azure Pipelines build. --- -This example shows how to write issues as comments to an Azure DevOps pull request from an Azure Pipelines build. - -To write issues as comments to Azure DevOps pull requests you need to import the core addin, -the core pull request addin, the Azure DevOps support including the Cake.AzureDevOps addin, and one or more issue providers, -in this example for JetBrains InspectCode: - -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} -#addin "Cake.AzureDevOps" // (1)! -``` - ---8<-- "snippets/pinning.md" - -The following task will call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} -alias to connect to the pull request using the environment variables provided by Azure Pipelines. - -```csharp -Task("ReportIssuesToPullRequest").Does(() => -{ - ReportIssuesToPullRequest( - InspectCodeIssuesFromFilePath( - @"C:\build\inspectcode.log"), - AzureDevOpsPullRequests(), - repoRootFolder); -}); -``` +To write issues as comments to Azure DevOps pull requests, the Azure DevOps addin needs to be imported. +For this example the JetBrains InspectCode issue provider is additionally used for reading issues: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} + #addin "Cake.AzureDevOps" // (1)! + ``` + + --8<-- "snippets/pinning.md" + + !!! note + In addition to the Azure DevOps pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins + and the Cake.AzureDevOps addin need to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` + +The following example shows a task which will call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} +alias to connect to the pull request using the environment variables provided by Azure Pipelines.: + +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Report-IssuesToPullRequest").Does(() => + { + var repoRootFolder = + MakeAbsolute(Directory("./")); + + ReportIssuesToPullRequest( + InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + AzureDevOpsPullRequests(), + repoRootPath); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("Report-IssuesToPullRequest")] + public sealed class ReportIssuesToPullRequestTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootPath = + context.MakeAbsolute(context.Directory("./")); + + context.ReportIssuesToPullRequest( + context.InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + context.AzureDevOpsPullRequests(), + repoRootPath); + } + } + ``` !!! info Please note that you'll need to setup your Azure Pipelines build to diff --git a/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md index 7c08b60a2..a8292e84c 100644 --- a/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md +++ b/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md @@ -3,48 +3,113 @@ title: Using with pull request id description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin with pull request id. --- -This example shows how to write issues as comments to an Azure DevOps pull request while using pull request id. +To write issues as comments to Azure DevOps pull requests, the Azure DevOps addin needs to be imported. +To determine the remote repository URL the [Cake.Git](https://cakebuild.net/extensions/cake-git/){target="_blank"} addin can be used. +For this example the JetBrains InspectCode issue provider is additionally used for reading issues: -To determine the remote repository URL you need the [Cake.Git](https://cakebuild.net/extensions/cake-git/){target="_blank"} addin: +=== "Cake .NET Tool" -```csharp -#addin "Cake.Git" // (1)! -``` + ```csharp title="build.cake" + #addin "Cake.Git" // (1)! + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} + #addin "Cake.AzureDevOps" // (1)! + ``` ---8<-- "snippets/pinning.md" + --8<-- "snippets/pinning.md" -To write issues as comments to Azure DevOps pull requests you need to import the core addin, -the core pull request addin, the Azure DevOps support including the Cake.AzureDevOps addin, and one or more issue providers, -in this example for JetBrains InspectCode: + !!! note + In addition to the Azure DevOps pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins + and the Cake.AzureDevOps addin need to be added. -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} -#addin "Cake.AzureDevOps" // (1)! -``` +=== "Cake Frosting" ---8<-- "snippets/pinning.md" + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + // (1)! + + + + + ``` -In the following task we'll first determine the remote repository URL and + --8<-- "snippets/version-placeholder.md" + +The following example shows a task which will first determine the remote repository URL and with this information call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} alias, which will authenticate through NTLM to an on-premise Azure DevOps Server instance: -```csharp -Task("ReportIssuesToPullRequest").Does(() => -{ - var repoRootFolder = MakeAbsolute(Directory("./")); - var repoRemoteUrl = new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url); - var pullRequestId = 123; - - ReportIssuesToPullRequest( - InspectCodeIssuesFromFilePath( - @"C:\build\inspectcode.log"), - AzureDevOpsPullRequests( - repoRemoteUrl, - pullRequestId, - AzureDevOpsAuthenticationNtlm()), - repoRootFolder); -}); -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Report-IssuesToPullRequest").Does(() => + { + var repoRootPath = + MakeAbsolute(Directory("./")); + var currentBranch = + GitBranchCurrent(repoRootPath); + var repoRemoteUrl = + new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url); + var pullRequestId = 123; + + ReportIssuesToPullRequest( + InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + AzureDevOpsPullRequests( + repoRemoteUrl, + pullRequestId, + AzureDevOpsAuthenticationNtlm()), + repoRootPath); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.IO; + using Cake.Frosting; + using Cake.Git; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("Report-IssuesToPullRequest")] + public sealed class ReportIssuesToPullRequestTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootPath = + context.MakeAbsolute(context.Directory("./")); + var currentBranch = + context.GitBranchCurrent(repoRootPath); + var repoRemoteUrl = + new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url); + var pullRequestId = 123; + + context.ReportIssuesToPullRequest( + context.InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + context.AzureDevOpsPullRequests( + repoRemoteUrl, + pullRequestId, + context.AzureDevOpsAuthenticationNtlm()), + repoRootPath); + } + } + ``` diff --git a/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md index 5f0933bb8..76a50af63 100644 --- a/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md +++ b/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md @@ -3,50 +3,113 @@ title: Using with repository remote url and source branch name description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin with repository remote url and source branch name. --- -This example shows how to write issues as comments to an Azure DevOps pull request while using repository information. +To write issues as comments to Azure DevOps pull requests, the Azure DevOps addin needs to be imported. +To determine the remote repository URL and source branch of the pull request the [Cake.Git](https://cakebuild.net/extensions/cake-git/){target="_blank"} addin can be used. +For this example the JetBrains InspectCode issue provider is additionally used for reading issues: -To determine the remote repository URL and source branch of the pull request you need the [Cake.Git](https://cakebuild.net/extensions/cake-git/){target="_blank"} -addin: +=== "Cake .NET Tool" -```csharp -#addin "Cake.Git" // (1)! -``` + ```csharp title="build.cake" + #addin "Cake.Git" // (1)! + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} + #addin "Cake.AzureDevOps" // (1)! + ``` ---8<-- "snippets/pinning.md" + --8<-- "snippets/pinning.md" -To write issues as comments to Azure DevOps pull requests you need to import the core addin, -the core pull request addin, the Azure DevOps support including the Cake.AzureDevOps addin, and one or more issue providers, -in this example for JetBrains InspectCode: + !!! note + In addition to the Azure DevOps pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins + and the Cake.AzureDevOps addin need to be added. -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} -#addin "Cake.AzureDevOps" // (1)! -``` +=== "Cake Frosting" ---8<-- "snippets/pinning.md" + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + // (1)! + + + + + ``` -In the following task we'll first determine the remote repository URL and + --8<-- "snippets/version-placeholder.md" + +The following example shows a task which will first determine the remote repository URL and source branch of the pull request and with this information call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} alias, which will authenticate through NTLM to an on-premise Azure DevOps Server instance: -```csharp -Task("ReportIssuesToPullRequest").Does(() => -{ - var repoRootFolder = MakeAbsolute(Directory("./")); - var currentBranch = GitBranchCurrent(repoRootFolder); - var repoRemoteUrl = new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url); - var sourceBranchName = currentBranch.CanonicalName; - - ReportIssuesToPullRequest( - InspectCodeIssuesFromFilePath( - @"C:\build\inspectcode.log"), - AzureDevOpsPullRequests( - repoRemoteUrl, - sourceBranchName, - AzureDevOpsAuthenticationNtlm()), - repoRootFolder); -}); -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("Report-IssuesToPullRequest").Does(() => + { + var repoRootFolder = + MakeAbsolute(Directory("./")); + var currentBranch = + GitBranchCurrent(repoRootFolder); + var repoRemoteUrl = + new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url); + var sourceBranchName = currentBranch.CanonicalName; + + ReportIssuesToPullRequest( + InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + AzureDevOpsPullRequests( + repoRemoteUrl, + sourceBranchName, + AzureDevOpsAuthenticationNtlm()), + repoRootFolder); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.IO; + using Cake.Frosting; + using Cake.Git; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("Report-IssuesToPullRequest")] + public sealed class ReportIssuesToPullRequestTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootPath = + context.MakeAbsolute(context.Directory("./")); + var currentBranch = + context.GitBranchCurrent(repoRootPath); + var repoRemoteUrl = + new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url); + var sourceBranchName = currentBranch.CanonicalName; + + context.ReportIssuesToPullRequest( + context.InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + context.AzureDevOpsPullRequests( + repoRemoteUrl, + sourceBranchName, + context.AzureDevOpsAuthenticationNtlm()), + repoRootPath); + } + } + ``` diff --git a/docs/input/documentation/pull-request-systems/github-actions/examples/write-annotations.md b/docs/input/documentation/pull-request-systems/github-actions/examples/write-annotations.md index 933f61d2c..ac0b59b65 100644 --- a/docs/input/documentation/pull-request-systems/github-actions/examples/write-annotations.md +++ b/docs/input/documentation/pull-request-systems/github-actions/examples/write-annotations.md @@ -3,35 +3,87 @@ title: Create annotations in GitHub Actions description: Example how to write issues as annotations to a GitHub Actions build. --- -This example shows how to report issues as annotations to a GitHub Actions build. +To report issues as annotations to a GitHub Actions build, the GitHub Actions addin needs to be imported. +For this example the JetBrains InspectCode issue provider is additionally used for reading issues: -To report issues as annotations to a GitHub Actions build you need to import the core addin, -the core pull request addin, the GitHub Actions support and one or more issue providers, -in this example for JetBrains InspectCode: +=== "Cake .NET Tool" -```csharp -#addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} -#addin nuget:?package=Cake.Issues.PullRequests.GitHubActions&version={{ cake_issues_version }} -``` + ```csharp title="build.cake" + #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} + #addin nuget:?package=Cake.Issues.PullRequests.GitHubActions&version={{ cake_issues_version }} + ``` -In the following task we'll first determine the remote repository URL and -source branch of the pull request and with this information call the + !!! note + In addition to the GitHub Actions pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins need to be added. + +=== "Cake Frosting" + + ```csharp title="Build.csproj" + + + Exe + {{ example_tfm }} + $(MSBuildProjectDirectory) + enable + + + + + + + + ``` + +This example shows how to report issues as annotations to GitHubActions build using the [GitHubActionsBuilds](https://cakebuild.net/api/Cake.Issues.PullRequests.GitHubActions/GitHubActionsBuildsAliases/){target="_blank"} alias: -```csharp -Task("ReportIssuesToGitHubActions").Does(() => -{ - var repoRootFolder = MakeAbsolute(Directory("./")); - - ReportIssuesToPullRequest( - InspectCodeIssuesFromFilePath( - @"C:\build\inspectcode.log"), - GitHubActionsBuilds(), - repoRootFolder); -}); -``` +=== "Cake .NET Tool" + + ```csharp title="build.cake" + Task("ReportIssuesToGitHubActions").Does(() => + { + var repoRootPath = MakeAbsolute(Directory("./")); + + ReportIssuesToPullRequest( + InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + GitHubActionsBuilds(), + repoRootFolder); + }); + ``` + +=== "Cake Frosting" + + ```csharp title="Program.cs" + using Cake.Common.IO; + using Cake.Frosting; + + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .Run(args); + } + } + + [TaskName("Report-IssuesToAppVeyor")] + public sealed class ReportIssuesToAppVeyorTask : FrostingTask + { + public override void Run(FrostingContext context) + { + var repoRootPath = context.MakeAbsolute(context.Directory("./")); + + context.ReportIssuesToPullRequest( + context.InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + context.GitHubActionsBuilds(), + repoRootPath); + } + } + ``` The output will show up in the build log grouped by issue provider / run: From 956419155d72a0ebff7dd3dce956375ddc839af1 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 1 Jan 2025 22:24:09 +0100 Subject: [PATCH 183/201] Update Azure DevOps setup (#921) --- .../azure-devops/setup.md | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/input/documentation/pull-request-systems/azure-devops/setup.md b/docs/input/documentation/pull-request-systems/azure-devops/setup.md index a07bfa224..6fd0c7013 100644 --- a/docs/input/documentation/pull-request-systems/azure-devops/setup.md +++ b/docs/input/documentation/pull-request-systems/azure-devops/setup.md @@ -4,70 +4,70 @@ description: Instructions how to setup the Cake.Issues.PullRequests.AzureDevOps icon: material/cogs --- -This page describes the different ways how the [Cake.Issues.PullRequests.AzureDevOps addin] can be setup. +This page describes the different ways how the [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} can be setup. ## NTLM authentication !!! info NTLM authentication is only available for on-premise Azure DevOps Server. -To authenticate with NTLM you can use the [AzureDevOpsAuthenticationNtlm] alias from the [Cake.AzureDevOps addin]. +To authenticate with NTLM you can use the [AzureDevOpsAuthenticationNtlm]{target="_blank"} alias from the [Cake.AzureDevOps addin]{target="_blank"}. The user needs to have `Contribute to pull requests` permission for the specific repository to -allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests. +allow [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} to post issues as comments to pull requests. ## Basic authentication !!! info Basic authentication is only available for on-premise Azure DevOps Server. -To authenticate with basic authentication you can use the [AzureDevOpsAuthenticationBasic] alias from the [Cake.AzureDevOps addin] and -need to [Configure Azure DevOps Server to use Basic Authentication]. +To authenticate with basic authentication you can use the [AzureDevOpsAuthenticationBasic]{target="_blank"} alias from the [Cake.AzureDevOps addin]{target="_blank"} and +need to [Configure Azure DevOps Server to use Basic Authentication]{target="_blank"}. The user needs to have `Contribute to pull requests` permission for the specific repository to -allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests. +allow [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} to post issues as comments to pull requests. ## Personal access token -To authenticate with an personal access token you can use the [AzureDevOpsAuthenticationPersonalAccessToken] alias from the [Cake.AzureDevOps addin]. +To authenticate with an personal access token you can use the [AzureDevOpsAuthenticationPersonalAccessToken]{target="_blank"} alias from the [Cake.AzureDevOps addin]{target="_blank"}. -If you want to use the [Cake.Issues.PullRequests.AzureDevOps addin] with an personal access token see -[Authenticate access with personal access tokens for Azure DevOps] for instructions how to create +If you want to use the [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} with an personal access token see +[Authenticate access with personal access tokens for Azure DevOps]{target="_blank"} for instructions how to create a personal access token. The access token needs to have the scope `Code (read and write)` set and the user needs to have `Contribute to pull requests` -permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests. +permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} to post issues as comments to pull requests. ## OAuth authentication from Azure Pipelines !!! info OAuth authentication is only available for Azure DevOps Service. -If you want to use the [Cake.Issues.PullRequests.AzureDevOps addin] from an Azure Pipelines you can authenticate using the +If you want to use the [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} from an Azure Pipelines you can authenticate using the OAuth token provided to the build. -For this you need to enable the [Allow scripts to access the OAuth token] option on the build definition. +For this you need to enable the [Allow scripts to access the OAuth token]{target="_blank"} option on the build definition. -To authenticate you can use the [AzureDevOpsAuthenticationOAuth] alias from the [Cake.AzureDevOps addin]. +To authenticate you can use the [AzureDevOpsAuthenticationOAuth]{target="_blank"} alias from the [Cake.AzureDevOps addin]{target="_blank"}. The user under which the build runs, named ` Build Service ()` (e.g. `Cake.Issues-Demo Build Service (cake-contrib)`), -needs to have `Contribute to pull requests` permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin] +needs to have `Contribute to pull requests` permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} to post issues as comments to pull requests. -## Azure Active Directory +## Entra authentication !!! info - OAuth authentication is only available for Azure DevOps Service. + Entra authentication is only available for Azure DevOps Service. -To authenticate with Azure Active Directory you can use the [AzureDevOpsAuthenticationAzureActiveDirectory] alias from the [Cake.AzureDevOps addin]. +To authenticate with Entra ID you can use the [AzureDevOpsAuthenticationAzureActiveDirectory]{target="_blank"} alias from the [Cake.AzureDevOps addin]{target="_blank"}. The user needs to have `Contribute to pull requests` permission for the specific repository to -allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests. +allow [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} to post issues as comments to pull requests. -[Cake.Issues.PullRequests.AzureDevOps addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AzureDevOps -[Cake.AzureDevOps addin]: https://www.nuget.org/packages/Cake.AzureDevOps -[Configure Azure DevOps Server to use Basic Authentication]: https://learn.microsoft.com/en-us/azure/devops/integrate/get-started/auth/tfs-basic-auth?view=azure-devops#configure-tfs-to-use-basic-authentication -[Authenticate access with personal access tokens for Azure DevOps]: https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate -[Allow scripts to access the OAuth token]: https://docs.microsoft.com/en-us/azure/devops/pipelines/build/options#allow-scripts-to-access-the-oauth-token +[Cake.Issues.PullRequests.AzureDevOps addin]: https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/ +[Cake.AzureDevOps addin]: https://cakebuild.net/extensions/cake-azuredevops/ +[Configure Azure DevOps Server to use Basic Authentication]: https://learn.microsoft.com/en-us/azure/devops/integrate/get-started/auth/tfs-basic-auth#configure-for-basic-authentication +[Authenticate access with personal access tokens for Azure DevOps]: https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate +[Allow scripts to access the OAuth token]: https://learn.microsoft.com/en-us/azure/devops/pipelines/release/options?view=azure-devops#allow-scripts-to-access-the-oauth-token [AzureDevOpsAuthenticationNtlm]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/F2A040B7 [AzureDevOpsAuthenticationBasic]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/7CD679FF [AzureDevOpsAuthenticationPersonalAccessToken]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/F4DCC101 From 963f12b6f751943c2d91b496ba700e5986ebc28a Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 1 Jan 2025 23:20:21 +0100 Subject: [PATCH 184/201] Use nicer slugs for tab anchors (#922) --- docs/mkdocs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 11ba38530..dbf256cfc 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -98,6 +98,9 @@ markdown_extensions: - pymdownx.superfences - pymdownx.tabbed: alternate_style: true + slugify: !!python/object/apply:pymdownx.slugs.slugify + kwds: + case: lower - pymdownx.tasklist: custom_checkbox: true - pymdownx.tilde From c777410d7ef9323dd5caaed43d48b64465d4133c Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Wed, 1 Jan 2025 23:21:16 +0100 Subject: [PATCH 185/201] Use latest versions of NuGet packages in examples (#923) --- .github/renovate.json | 12 ++++++++++++ .../documentation/issue-providers/docfx/examples.md | 8 ++------ .../issue-providers/inspectcode/examples.md | 8 ++------ .../issue-providers/markdownlint/examples.md | 8 ++------ .../azure-devops/examples/azure-pipelines.md | 4 +--- .../azure-devops/examples/pullrequest-id.md | 10 +++------- .../azure-devops/examples/repository-information.md | 10 +++------- .../recipe/using-cake-frosting-issues-recipe.md | 4 +--- docs/mkdocs.yml | 12 ++++++++++++ docs/snippets/pinning.md | 4 ---- docs/snippets/version-placeholder.md | 1 - 11 files changed, 38 insertions(+), 43 deletions(-) delete mode 100644 docs/snippets/pinning.md delete mode 100644 docs/snippets/version-placeholder.md diff --git a/.github/renovate.json b/.github/renovate.json index 3ea641745..6038e7680 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -3,6 +3,18 @@ "extends": [ "github>cake-contrib/renovate-presets:cake-issues" ], + "customManagers": [ + { + "customType": "regex", + "description": "Update versions of NuGet packages used in documentation", + "fileMatch": [ + "docs/mkdocs.yml$" + ], + "matchStrings": [ + "\\s*#\\srenovate:\\sdatasource=(?.*?) depName=(?.*?)( versioning=(?.*?))?( extractVersion=(?.*?))?\\s*.*?_version\\s*:\\s*(?.*)" + ] + } + ], "packageRules": [ { "description": "Ignore Cake runner minor and patch updates", diff --git a/docs/input/documentation/issue-providers/docfx/examples.md b/docs/input/documentation/issue-providers/docfx/examples.md index bcc3b3ccc..6bafd0422 100644 --- a/docs/input/documentation/issue-providers/docfx/examples.md +++ b/docs/input/documentation/issue-providers/docfx/examples.md @@ -11,13 +11,11 @@ To read issues from DocFx log files the DocFx issue provider needs to be importe === "Cake .NET Tool" ```csharp title="build.cake" - #addin "Cake.DocFx" // (1)! + #addin nuget:?package=Cake.DocFx&version={{ cake_docfx_version }} #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.DocFx&version={{ cake_issues_version }} ``` - --8<-- "snippets/pinning.md" - !!! note In addition to the DocFx issue provider the `Cake.Issues` core addin needs to be added. @@ -32,15 +30,13 @@ To read issues from DocFx log files the DocFx issue provider needs to be importe enable - // (1)! + ``` - --8<-- "snippets/version-placeholder.md" - The following example contains a task which will build the [DocFx](https://dotnet.github.io/docfx/){target="_blank"} project and write a log file and a task to read issues from the log file and write the number of warnings to the console: diff --git a/docs/input/documentation/issue-providers/inspectcode/examples.md b/docs/input/documentation/issue-providers/inspectcode/examples.md index 801e5a76c..b2c5d44db 100644 --- a/docs/input/documentation/issue-providers/inspectcode/examples.md +++ b/docs/input/documentation/issue-providers/inspectcode/examples.md @@ -40,7 +40,7 @@ and write a log file and a task to read issues from the log file and write the n === "Cake .NET Tool" ```csharp title="build.cake" - #tool "nuget:?package=JetBrains.ReSharper.CommandLineTools" // (1)! + #tool "nuget:?package=JetBrains.ReSharper.CommandLineTools&version={{ resharper_commandlinetool_version }}" var logPath = @"c:\build\inspectcode.xml"; var repoRootFolder = MakeAbsolute(Directory("./")); @@ -69,8 +69,6 @@ and write a log file and a task to read issues from the log file and write the n }); ``` - --8<-- "snippets/pinning.md" - === "Cake Frosting" ```csharp title="Program.cs" @@ -88,7 +86,7 @@ and write a log file and a task to read issues from the log file and write the n .UseContext() .InstallTool( new Uri( - "nuget:?package=JetBrains.ReSharper.CommandLineTools")) // (1)! + "nuget:?package=JetBrains.ReSharper.CommandLineTools&version={{ resharper_commandlinetool_version }}")) .Run(args); } } @@ -133,6 +131,4 @@ and write a log file and a task to read issues from the log file and write the n } ``` - --8<-- "snippets/pinning.md" - [JetBrains InspectCode]: https://www.jetbrains.com/help/resharper/InspectCode.html diff --git a/docs/input/documentation/issue-providers/markdownlint/examples.md b/docs/input/documentation/issue-providers/markdownlint/examples.md index ff958ae26..2b40b69a3 100644 --- a/docs/input/documentation/issue-providers/markdownlint/examples.md +++ b/docs/input/documentation/issue-providers/markdownlint/examples.md @@ -10,13 +10,11 @@ To read issues from markdownlint-cli log files the markdownlint issue provider n === "Cake .NET Tool" ```csharp title="build.cake" - #addin "Cake.Markdownlint" // (1)! + #addin nuget:?package=Cake.Markdownlint&version={{ cake_markdownlint_version }} #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.Markdownlint&version={{ cake_issues_version }} ``` - --8<-- "snippets/pinning.md" - !!! note In addition to the markdownlint issue provider the `Cake.Issues` core addin needs to be added. @@ -31,15 +29,13 @@ To read issues from markdownlint-cli log files the markdownlint issue provider n enable - // (1)! + ``` - --8<-- "snippets/version-placeholder.md" - The following example contains a task which will run [markdownlint-cli]{target="_blank"} and write a log file and a task to read issues from the log file and write the number of warnings to the console: diff --git a/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md index 9a9b9972f..7e757e69b 100644 --- a/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md +++ b/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md @@ -13,11 +13,9 @@ For this example the JetBrains InspectCode issue provider is additionally used f #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} - #addin "Cake.AzureDevOps" // (1)! + #addin nuget:?package=Cake.AzureDevOps&version={{ cake_azuredevops_version }} ``` - --8<-- "snippets/pinning.md" - !!! note In addition to the Azure DevOps pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins and the Cake.AzureDevOps addin need to be added. diff --git a/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md index a8292e84c..da9c6f5f8 100644 --- a/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md +++ b/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md @@ -10,16 +10,14 @@ For this example the JetBrains InspectCode issue provider is additionally used f === "Cake .NET Tool" ```csharp title="build.cake" - #addin "Cake.Git" // (1)! + #addin nuget:?package=Cake.Git&version={{ cake_git_version }} #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} - #addin "Cake.AzureDevOps" // (1)! + #addin nuget:?package=Cake.AzureDevOps&version={{ cake_azuredevops_version }} ``` - --8<-- "snippets/pinning.md" - !!! note In addition to the Azure DevOps pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins and the Cake.AzureDevOps addin need to be added. @@ -36,15 +34,13 @@ For this example the JetBrains InspectCode issue provider is additionally used f - // (1)! + ``` - --8<-- "snippets/version-placeholder.md" - The following example shows a task which will first determine the remote repository URL and with this information call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} alias, which will authenticate through NTLM to an on-premise Azure DevOps Server instance: diff --git a/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md index 76a50af63..09c33efa5 100644 --- a/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md +++ b/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md @@ -10,16 +10,14 @@ For this example the JetBrains InspectCode issue provider is additionally used f === "Cake .NET Tool" ```csharp title="build.cake" - #addin "Cake.Git" // (1)! + #addin nuget:?package=Cake.Git&version={{ cake_git_version }} #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }} #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }} - #addin "Cake.AzureDevOps" // (1)! + #addin nuget:?package=Cake.AzureDevOps&version={{ cake_azuredevops_version }} ``` - --8<-- "snippets/pinning.md" - !!! note In addition to the Azure DevOps pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins and the Cake.AzureDevOps addin need to be added. @@ -36,15 +34,13 @@ For this example the JetBrains InspectCode issue provider is additionally used f - // (1)! + ``` - --8<-- "snippets/version-placeholder.md" - The following example shows a task which will first determine the remote repository URL and source branch of the pull request and with this information call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"} alias, which will authenticate through NTLM to an on-premise Azure DevOps Server instance: diff --git a/docs/input/documentation/usage/recipe/using-cake-frosting-issues-recipe.md b/docs/input/documentation/usage/recipe/using-cake-frosting-issues-recipe.md index 414c78352..3f454f572 100644 --- a/docs/input/documentation/usage/recipe/using-cake-frosting-issues-recipe.md +++ b/docs/input/documentation/usage/recipe/using-cake-frosting-issues-recipe.md @@ -44,15 +44,13 @@ public static class Program .UseContext() .InstallTool( new Uri( - "nuget:?package=JetBrains.ReSharper.CommandLineTools")) // (1) + "nuget:?package=JetBrains.ReSharper.CommandLineTools&version={{ resharper_commandlinetool_version }}")) .AddAssembly(Assembly.GetAssembly(typeof(IssuesTask))) .Run(args); } } ``` ---8<-- "snippets/pinning.md" - ## Create build context [Cake.Frosting.Issues.Recipe] provides a build context from which you need to inherit your custom build context. diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index dbf256cfc..d31db2ac1 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -109,8 +109,20 @@ markdown_extensions: # Additional configuration extra: + # renovate: datasource=nuget depName=Cake.Tool versioning=loose cake_version: 5.0.0 + # renovate: datasource=nuget depName=Cake.AzureDevOps versioning=loose + cake_azuredevops_version: 1.0.0 + # renovate: datasource=nuget depName=Cake.DocFx versioning=loose + cake_docfx_version: 1.0.0 + # renovate: datasource=nuget depName=Cake.Issues versioning=loose cake_issues_version: 5.0.1 + # renovate: datasource=nuget depName=Cake.Markdownlint versioning=loose + cake_markdownlint_version: 1.0.0 + # renovate: datasource=nuget depName=Cake.Git versioning=loose + cake_git_version: 1.0.0 + # renovate: datasource=nuget depName=JetBrains.ReSharper.CommandLineTools versioning=loose + resharper_commandlinetool_version: 1.0.0 example_tfm: net9.0 version: provider: mike diff --git a/docs/snippets/pinning.md b/docs/snippets/pinning.md deleted file mode 100644 index 410424155..000000000 --- a/docs/snippets/pinning.md +++ /dev/null @@ -1,4 +0,0 @@ -1. In production code this dependency should be pinned to a specific version to make sure builds are deterministic and - won't break due to updates. - - See [Reproducible Builds](https://cakebuild.net/docs/writing-builds/reproducible-builds/){target="_blank"} for details. diff --git a/docs/snippets/version-placeholder.md b/docs/snippets/version-placeholder.md deleted file mode 100644 index 211b1fb01..000000000 --- a/docs/snippets/version-placeholder.md +++ /dev/null @@ -1 +0,0 @@ -1. Replace `1.0.0` with the desired version. From 1d93eb6c62924b7f4c8719ef1e4ad2d10d8810bb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 23:24:33 +0100 Subject: [PATCH 186/201] Update dependency Cake.Git to v5 (#927) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index d31db2ac1..0916ae4e8 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -120,7 +120,7 @@ extra: # renovate: datasource=nuget depName=Cake.Markdownlint versioning=loose cake_markdownlint_version: 1.0.0 # renovate: datasource=nuget depName=Cake.Git versioning=loose - cake_git_version: 1.0.0 + cake_git_version: 5.0.1 # renovate: datasource=nuget depName=JetBrains.ReSharper.CommandLineTools versioning=loose resharper_commandlinetool_version: 1.0.0 example_tfm: net9.0 From e03dcb7be5b5d953b0ada0aec2f548e403503ed2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 23:25:37 +0100 Subject: [PATCH 187/201] Update dependency Cake.AzureDevOps to v5 (#926) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 0916ae4e8..35463fc04 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -112,7 +112,7 @@ extra: # renovate: datasource=nuget depName=Cake.Tool versioning=loose cake_version: 5.0.0 # renovate: datasource=nuget depName=Cake.AzureDevOps versioning=loose - cake_azuredevops_version: 1.0.0 + cake_azuredevops_version: 5.0.0 # renovate: datasource=nuget depName=Cake.DocFx versioning=loose cake_docfx_version: 1.0.0 # renovate: datasource=nuget depName=Cake.Issues versioning=loose From 9db2848ac9e522cebc305b6cf8b961ade472265e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 23:26:51 +0100 Subject: [PATCH 188/201] Update dependency Cake.Markdownlint to v4 (#928) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 35463fc04..f8c7f4ad1 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -118,7 +118,7 @@ extra: # renovate: datasource=nuget depName=Cake.Issues versioning=loose cake_issues_version: 5.0.1 # renovate: datasource=nuget depName=Cake.Markdownlint versioning=loose - cake_markdownlint_version: 1.0.0 + cake_markdownlint_version: 4.0.0 # renovate: datasource=nuget depName=Cake.Git versioning=loose cake_git_version: 5.0.1 # renovate: datasource=nuget depName=JetBrains.ReSharper.CommandLineTools versioning=loose From 53669b761fd493f9cd12c5c74abade153dd2fc4a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 23:27:58 +0100 Subject: [PATCH 189/201] Update dependency JetBrains.ReSharper.CommandLineTools to v2024 (#929) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index f8c7f4ad1..b3bcffed6 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -122,7 +122,7 @@ extra: # renovate: datasource=nuget depName=Cake.Git versioning=loose cake_git_version: 5.0.1 # renovate: datasource=nuget depName=JetBrains.ReSharper.CommandLineTools versioning=loose - resharper_commandlinetool_version: 1.0.0 + resharper_commandlinetool_version: 2024.3.3 example_tfm: net9.0 version: provider: mike From 75293c19e94b2b9845b59ef4d6f328ebd68bce69 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 2 Jan 2025 00:47:37 +0100 Subject: [PATCH 190/201] Add test for InspectCode generated SARIF file (#933) --- .../SarifIssuesProviderTests.cs | 13 + .../Testfiles/inspectcode.sarif | 40719 ++++++++++++++++ 2 files changed, 40732 insertions(+) create mode 100644 src/Cake.Issues.Sarif.Tests/Testfiles/inspectcode.sarif diff --git a/src/Cake.Issues.Sarif.Tests/SarifIssuesProviderTests.cs b/src/Cake.Issues.Sarif.Tests/SarifIssuesProviderTests.cs index 3fbb24cf3..18c5050f6 100644 --- a/src/Cake.Issues.Sarif.Tests/SarifIssuesProviderTests.cs +++ b/src/Cake.Issues.Sarif.Tests/SarifIssuesProviderTests.cs @@ -261,5 +261,18 @@ public void Should_Read_Issue_Correct_For_File_Generated_By_TFLint() .WithPriority(IssuePriority.Warning) .Create()); } + + [Fact] + public void Should_Read_Issue_Correct_For_File_Generated_By_InspectCode() + { + // Given + var fixture = new SarifIssuesProviderFixture("inspectcode.sarif"); + + // When + var issues = fixture.ReadIssues().ToList(); + + // Then + issues.Count.ShouldBe(1106); + } } } diff --git a/src/Cake.Issues.Sarif.Tests/Testfiles/inspectcode.sarif b/src/Cake.Issues.Sarif.Tests/Testfiles/inspectcode.sarif new file mode 100644 index 000000000..f3e038d42 --- /dev/null +++ b/src/Cake.Issues.Sarif.Tests/Testfiles/inspectcode.sarif @@ -0,0 +1,40719 @@ +{ + "$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.6.json", + "version": "2.1.0", + "runs": [ + { + "results": [ + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'Html'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 143, + "startColumn": 14, + "endLine": 143, + "endColumn": 18, + "charOffset": 10853, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "84EF3A650C615DBC7A89C97BD2A1CF9A0B7F66BBD199A0611EA5579100E14DB3" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'Html'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 175, + "startColumn": 19, + "endLine": 175, + "endColumn": 23, + "charOffset": 11759, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "82E466ED17F1F146ACE169A8745F761B646C927EF3E42E2BE7F865C677380E08" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'Html'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 201, + "startColumn": 46, + "endLine": 201, + "endColumn": 50, + "charOffset": 13120, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EBE98FC568D514861B9F7709684FA35E89CE09371886A0DCE98D992620966EE5" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'Model'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic.Tests/Templates/TestTemplate.cshtml", + "uriBaseId": "solutionDir", + "index": 1 + }, + "region": { + "startLine": 4, + "startColumn": 28, + "endLine": 4, + "endColumn": 33, + "charOffset": 75, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "29485BDE0D54D694C3F8D9C4368A47CF1C941179F2C62DACD44F235D87F4A7B3" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'Model'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml", + "uriBaseId": "solutionDir", + "index": 2 + }, + "region": { + "startLine": 53, + "startColumn": 27, + "endLine": 53, + "endColumn": 32, + "charOffset": 43106, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6776262C2AF92D018892C36BB67C9E068CC7B67B59750124B359691B4C67340B" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'Model'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/Diagnostic.cshtml", + "uriBaseId": "solutionDir", + "index": 3 + }, + "region": { + "startLine": 38, + "startColumn": 36, + "endLine": 38, + "endColumn": 41, + "charOffset": 1280, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3D7933C1C43A3F94A9B07633943D81F4687217341F05157158BC37C8DFA5DAB8" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'Model'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 26, + "startColumn": 72, + "endLine": 26, + "endColumn": 77, + "charOffset": 1636, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5EA79C50543D6AC0611A1C43F03B6D6E91CB2D9B6CDE7C3B4B4E7328413736C3" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'Model'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 87, + "startColumn": 23, + "endLine": 87, + "endColumn": 28, + "charOffset": 7851, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BDB8689D82DD1BACD8A0323453A9DCB85634BB74DDE8F2FB8C5C2B75475C184A" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 13, + "startColumn": 46, + "endLine": 13, + "endColumn": 53, + "charOffset": 309, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "64C4CA56E507EFB23AF9AC89BEFA0162F0EEEC643BCBFE78F9B4B9ABE969AE60" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 14, + "startColumn": 58, + "endLine": 14, + "endColumn": 65, + "charOffset": 400, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "821331FC13B57AA5A8602FFFA4AD9DA3619132AB800A6CADDD7DE76AF98A2DAF" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 15, + "startColumn": 52, + "endLine": 15, + "endColumn": 59, + "charOffset": 491, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C62E0E2925262DDEC98DEE76A8C4790F8848764C5EA3495579B228D142D5870C" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 16, + "startColumn": 57, + "endLine": 16, + "endColumn": 64, + "charOffset": 575, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EBCA61F9B9184DA45A36EAADBB8BCB382E34418A6F702BD30EE51F6DA65CE6F1" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 17, + "startColumn": 56, + "endLine": 17, + "endColumn": 63, + "charOffset": 663, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3EB3FEBB165FB88D9978BF2ABFAF8C802E22E9132763DA37783105754E1B13D8" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 18, + "startColumn": 57, + "endLine": 18, + "endColumn": 64, + "charOffset": 751, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E179D12B03752733D3CCE69D18786B8BD5CA7EE1EB62E115E17B3CCAAF5E38CD" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 19, + "startColumn": 57, + "endLine": 19, + "endColumn": 64, + "charOffset": 840, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9FF9F76EB6D9F6B966AEC998CB1DE32060EA9C3B595BB0E6F1B2F19A49CCA8B3" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 20, + "startColumn": 58, + "endLine": 20, + "endColumn": 65, + "charOffset": 931, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6DDDB1F7DA5A70F89D8714427F153495F0817D0F79076C1A303F649470E62336" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 21, + "startColumn": 76, + "endLine": 21, + "endColumn": 83, + "charOffset": 1048, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DC1A25B96D48F4200FEB9E061FB8EB58C4FBFE5E1EBC65CD268FE80E967EEEF8" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 22, + "startColumn": 61, + "endLine": 22, + "endColumn": 68, + "charOffset": 1166, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B9CAA6E094B84FA87622650790B1A0877E5A89546549B198B4355650D00C2250" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 23, + "startColumn": 74, + "endLine": 23, + "endColumn": 81, + "charOffset": 1277, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "144DEF8714049C6459BCC30F77E02CA0C3DE6C1FB4D8F11632B8E5602D9349DE" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 24, + "startColumn": 61, + "endLine": 24, + "endColumn": 68, + "charOffset": 1396, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "51C5E2839392DB79956326F14BDCC358160059E0F24DDF96A41A253D12F693C1" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 25, + "startColumn": 74, + "endLine": 25, + "endColumn": 81, + "charOffset": 1506, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BBE47F7BCC782A85588172CA149F2F69D735AB325A7C54239DCDB0CA6B885603" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 26, + "startColumn": 52, + "endLine": 26, + "endColumn": 59, + "charOffset": 1616, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5EA79C50543D6AC0611A1C43F03B6D6E91CB2D9B6CDE7C3B4B4E7328413736C3" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 27, + "startColumn": 65, + "endLine": 27, + "endColumn": 72, + "charOffset": 1753, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C6C8BA549DE6A7C19525857EF9E34E5C0D2271DEB25000B0C5035AC84E142476" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 28, + "startColumn": 57, + "endLine": 28, + "endColumn": 64, + "charOffset": 1859, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "201983B78B920AC2F2B78FBCD9E538AE0592A47E8956BFC11D5F9BD16F3DE032" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 29, + "startColumn": 70, + "endLine": 29, + "endColumn": 77, + "charOffset": 1962, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "50935536DDE0C038F477BCFD7895F7C9C3C31173BAA6C6D7CB2F643CAF1A0F9E" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 30, + "startColumn": 61, + "endLine": 30, + "endColumn": 68, + "charOffset": 2079, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A71EE886122ABBD7FA6055AB3F8A57D6F2B1FFEE922083FCA5D37918A95E5D36" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 31, + "startColumn": 74, + "endLine": 31, + "endColumn": 81, + "charOffset": 2189, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6FA65BB52693BC8C266D693DF59A9E3F8942587B9F938C4FC9F041906F6FBBC6" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 32, + "startColumn": 60, + "endLine": 32, + "endColumn": 67, + "charOffset": 2309, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "992C7CF337EC46AFCA98E88DDE7BB33D91A091B3A96852B50E5E6A10A677A25A" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 33, + "startColumn": 73, + "endLine": 33, + "endColumn": 80, + "charOffset": 2418, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8437698B59EB23A18D94A606246AD2DF827ECC5CD04ED8B2B562A00205B3B0D7" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 34, + "startColumn": 60, + "endLine": 34, + "endColumn": 67, + "charOffset": 2535, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8C1DFA794AC504B366306170FCFF75FC8207064A6E243C001EAF562C6A33ADBD" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 35, + "startColumn": 73, + "endLine": 35, + "endColumn": 80, + "charOffset": 2643, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "82EF158DE6040CAE1C05D7CB8C0FAB8B6AB0CECB99D42492351CE8BEAFDCF25E" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 36, + "startColumn": 57, + "endLine": 36, + "endColumn": 64, + "charOffset": 2757, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "55625C9450AA3A822A05DD337AB33C6F2DD94DA6AA1C3C328F00729D420CDCC5" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 37, + "startColumn": 70, + "endLine": 37, + "endColumn": 77, + "charOffset": 2860, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0E3BC0D469AB4085C4FA7A8D01F6C3F26A4D321B8664507511B7105773199472" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 38, + "startColumn": 62, + "endLine": 38, + "endColumn": 69, + "charOffset": 2976, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D86D7B9B3D3472E8933DDD319F380619FB06DC664887FFB22479DC63CB002E2F" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 39, + "startColumn": 75, + "endLine": 39, + "endColumn": 82, + "charOffset": 3088, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DD690475A123825392BEC4E1F290724034166B2CF6D363E2F8FDB11A3D3336B4" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 40, + "startColumn": 57, + "endLine": 40, + "endColumn": 64, + "charOffset": 3204, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A87B0C840BF332634ECB89ED1D188A464138370E583A9F280773B38FC95ED120" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 41, + "startColumn": 70, + "endLine": 41, + "endColumn": 77, + "charOffset": 3306, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E872D852DA7D40EA9A637291D93040306B38E935A7A92F384E013449FCE3A622" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 42, + "startColumn": 53, + "endLine": 42, + "endColumn": 60, + "charOffset": 3413, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0554F662460073B32109CCC74A949096200E77DBA954B10A07C96BA1373A7A0B" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 43, + "startColumn": 66, + "endLine": 43, + "endColumn": 73, + "charOffset": 3508, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5B780F90B13BB293F2BE72E7BFDCF3F331D4E2D2B846F0EC08E72C0A9BE9AAE2" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 44, + "startColumn": 56, + "endLine": 44, + "endColumn": 63, + "charOffset": 3614, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "88E315375B3C6BD1746D122DA8F1B8D78FDC0B16441F162C728AC2FCAFBA8482" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 45, + "startColumn": 69, + "endLine": 45, + "endColumn": 76, + "charOffset": 3715, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BD5654A432FA2A45E09CBFB5D05F2AB33BE5E3BB35A282DFCC4CC7916759931D" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 46, + "startColumn": 55, + "endLine": 46, + "endColumn": 62, + "charOffset": 3823, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D1DF1F28CC3720BE8D2A9F9871E19667681882C5CB5E8CEF8B9922EA6085DC2F" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 47, + "startColumn": 68, + "endLine": 47, + "endColumn": 75, + "charOffset": 3922, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AB5C24BCF1568138E0189BF8D06248DF120B687BA7AB7C9EBB25D4BBA645AF1C" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 48, + "startColumn": 58, + "endLine": 48, + "endColumn": 65, + "charOffset": 4032, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A82E4EA018B4F6FCC4D1910833FAB2BF97110C7E4C2CC6F80681D1E129414E80" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 49, + "startColumn": 71, + "endLine": 49, + "endColumn": 78, + "charOffset": 4137, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3D3563EFC7BEF6F520E007C0446338E5A506D81A29F1A99F9A8826EE28B659F0" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 50, + "startColumn": 57, + "endLine": 50, + "endColumn": 64, + "charOffset": 4249, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9EAE6B8DC4D78C6E8D2843C69FB0B122E5D70DA91E8D0DEC65EEADE118419180" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 51, + "startColumn": 70, + "endLine": 51, + "endColumn": 77, + "charOffset": 4351, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B830F4DE42482F73FC3F40B8E914C7514E4130F500B8223809A218B3C13A9E22" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 52, + "startColumn": 55, + "endLine": 52, + "endColumn": 62, + "charOffset": 4460, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F98EA562D8003F151272213A190DF886B1541C9161042B6F8A06FC8B71D5BD55" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 53, + "startColumn": 68, + "endLine": 53, + "endColumn": 75, + "charOffset": 4558, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "75B0A42018D1068E94AA061CD4A4C4F6AF3686E2DFB28560B962FFC69A565292" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 54, + "startColumn": 57, + "endLine": 54, + "endColumn": 64, + "charOffset": 4667, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F8B2BE19339C4EF9F31C2879F6958C3C68167212E69F2525906D53D0536756F2" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 55, + "startColumn": 70, + "endLine": 55, + "endColumn": 77, + "charOffset": 4769, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1161EE34A5435DA30413A902ABD7BCA4622AF89351E7831729F8499B69AD2879" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 56, + "startColumn": 56, + "endLine": 56, + "endColumn": 63, + "charOffset": 4879, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6431F60F72432BADD3C60E42755563CE7C32C943B954BB163363AF0BF0DDFDA6" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 57, + "startColumn": 69, + "endLine": 57, + "endColumn": 76, + "charOffset": 4980, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C90851E51ED280E5E66DEEB4E9E7F649E9002C77FB87A64DB83F85DEDF65BFDF" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 58, + "startColumn": 56, + "endLine": 58, + "endColumn": 63, + "charOffset": 5089, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F16459221DCC7ACBD604992DB0E11554DB07C78FB7ACF935B2718C737D475418" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 59, + "startColumn": 69, + "endLine": 59, + "endColumn": 76, + "charOffset": 5189, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EEE70921114CE7A1C99BEFDADA8F1D4107E0F8EDCCB0FE26B8907DBE6B7E91CE" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 60, + "startColumn": 55, + "endLine": 60, + "endColumn": 62, + "charOffset": 5297, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "21862F7D13E3DA39BFDAA20ECF044054EAE0ED5D75DDEBD748B53BDA467162CF" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 61, + "startColumn": 54, + "endLine": 61, + "endColumn": 61, + "charOffset": 5448, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "93920D7B368C40D8229A1057B5404E5D0F0D277CCDADC42ABDE8A16168D769C1" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 62, + "startColumn": 106, + "endLine": 62, + "endColumn": 113, + "charOffset": 5728, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "30984E26C3E8B299456311007F6E593D8487FE8DBB5FDDE61FD642918AF59E72" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 63, + "startColumn": 92, + "endLine": 63, + "endColumn": 99, + "charOffset": 5859, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9DE71A79C3009ED053F63CED08B59245B4D601A0377D939A71D85E3007CC3049" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 64, + "startColumn": 58, + "endLine": 64, + "endColumn": 65, + "charOffset": 5990, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9647FE29765DD4AF5B162A791881B99E8C92FC574828545EDDDB24EA247F3918" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 66, + "startColumn": 57, + "endLine": 66, + "endColumn": 64, + "charOffset": 6176, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "03D82E6062B0CCFFBE85080E5FC98B40D61591F7BDDD97555D172454F17AF0A9" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 67, + "startColumn": 59, + "endLine": 67, + "endColumn": 66, + "charOffset": 6275, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AACB60DD2117FBF7AD98A3A2DB796A9C314990D083A6C783071A7CE9033D01E8" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 69, + "startColumn": 58, + "endLine": 69, + "endColumn": 65, + "charOffset": 6473, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E4DD419AC6AA762AE431BAAA8073057BED54A29EF5BD0468D544C932B2BA9F2E" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 70, + "startColumn": 63, + "endLine": 70, + "endColumn": 70, + "charOffset": 6577, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6C47CBEBA3DB16C956AD4744C674A0EABCC1FA693F809F2877DB69CB025614CD" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 72, + "startColumn": 62, + "endLine": 72, + "endColumn": 69, + "charOffset": 6796, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3B95CA5D3DB8005713D49EF13DEF3CF98696C631CF0F0D831C797A366763D4EF" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 73, + "startColumn": 57, + "endLine": 73, + "endColumn": 64, + "charOffset": 6898, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "83FAFA19813F5771E4B97DC9DD86C905403A04BE1283DC8A65E7A83105C54D67" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 75, + "startColumn": 56, + "endLine": 75, + "endColumn": 63, + "charOffset": 7086, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F57FF79AD7A008A6EA75563AF525BE2BB0A3F56C9DD91F5926CBD513A66BC784" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 76, + "startColumn": 66, + "endLine": 76, + "endColumn": 73, + "charOffset": 7197, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "63B2E3BFAA7F6AE10D1A329CAE4806D4603C10D2D7C097FDC5AC656B958595B3" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 78, + "startColumn": 65, + "endLine": 78, + "endColumn": 72, + "charOffset": 7428, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3E18827B67406CD7B5BF941288CC8603BB636C5AF1E9389855FEB35937467A6B" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 79, + "startColumn": 62, + "endLine": 79, + "endColumn": 69, + "charOffset": 7535, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7A55569F5992B88A1FE794DD0AFC349F7D2832424027F6B0DA6949E742917AB1" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Cannot resolve symbol 'ViewBag'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 81, + "startColumn": 61, + "endLine": 81, + "endColumn": 68, + "charOffset": 7732, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8E45518FF2D57E73892C13AB9703FA327BEADAD54B91E159BCDAF2C55FD4F4AA" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Interface member 'IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator()' is not implemented\r\nInterface member 'IEnumerator System.Collections.IEnumerable.GetEnumerator()' is not implemented" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml", + "uriBaseId": "solutionDir", + "index": 2 + }, + "region": { + "startLine": 1, + "startColumn": 11, + "endLine": 1, + "endColumn": 42, + "charOffset": 10, + "charLength": 31 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "26F59FDA9A4C5738D281D0F0E5110FD29CF480BA8E092EB08B1B575E82E4B6A4" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Interface member 'IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator()' is not implemented\r\nInterface member 'IEnumerator System.Collections.IEnumerable.GetEnumerator()' is not implemented" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/Diagnostic.cshtml", + "uriBaseId": "solutionDir", + "index": 3 + }, + "region": { + "startLine": 1, + "startColumn": 11, + "endLine": 1, + "endColumn": 42, + "charOffset": 10, + "charLength": 31 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "26F59FDA9A4C5738D281D0F0E5110FD29CF480BA8E092EB08B1B575E82E4B6A4" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": ".CSharpErrors", + "ruleIndex": 75, + "level": "error", + "message": { + "text": "Interface member 'IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator()' is not implemented\r\nInterface member 'IEnumerator System.Collections.IEnumerable.GetEnumerator()' is not implemented" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 1, + "startColumn": 11, + "endLine": 1, + "endColumn": 42, + "charOffset": 10, + "charLength": 31 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "26F59FDA9A4C5738D281D0F0E5110FD29CF480BA8E092EB08B1B575E82E4B6A4" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AccessToDisposedClosure", + "ruleIndex": 0, + "message": { + "text": "Captured variable is disposed in the outer scope" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 34, + "startColumn": 49, + "endLine": 34, + "endColumn": 57, + "charOffset": 1116, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43800E61F1A5DFBBFA7AB5F71FFB0C58C192CC73DD0682F740920C793C97559F" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AccessToDisposedClosure", + "ruleIndex": 0, + "message": { + "text": "Captured variable is disposed in the outer scope" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 35, + "startColumn": 50, + "endLine": 35, + "endColumn": 58, + "charOffset": 1199, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0FE483CB4DA0D60518EC28799C6F2EFD596AC60615690807626E18B617023200" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AccessToDisposedClosure", + "ruleIndex": 0, + "message": { + "text": "Captured variable is disposed in the outer scope" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 36, + "startColumn": 56, + "endLine": 36, + "endColumn": 64, + "charOffset": 1293, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9BB66B7000B26615C0E78D456E3514D7BB10161CAF6488F32CC92C6A676AA765" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AccessToDisposedClosure", + "ruleIndex": 0, + "message": { + "text": "Captured variable is disposed in the outer scope" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/MsBuildIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 7 + }, + "region": { + "startLine": 34, + "startColumn": 51, + "endLine": 34, + "endColumn": 59, + "charOffset": 1204, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8034E2450B71C74498930FAE84C389D6859095771213698C9927BB47392DD8FC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AccessToDisposedClosure", + "ruleIndex": 0, + "message": { + "text": "Captured variable is disposed in the outer scope" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 34, + "startColumn": 53, + "endLine": 34, + "endColumn": 61, + "charOffset": 1204, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "94AFEE9779B15D1381FDB1A7144EACD913B640D9E59CF6D1E76D694774DE7EB3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 248, + "startColumn": 17, + "endLine": 248, + "endColumn": 23, + "charOffset": 5829, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9FCADEE458D1BC0561AF34E5A2BE0E372ACA5E3395C6330DF2F9F2344E984FAA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 297, + "startColumn": 17, + "endLine": 297, + "endColumn": 23, + "charOffset": 7057, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C42F311D95FEEEEF647A2CB58D6EFE4617ED5D27E053803F699499032E9B2B4A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 53, + "startColumn": 19, + "endLine": 53, + "endColumn": 31, + "charOffset": 1156, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1D93380DB7715CC7C93B62C0FFCFEEA01E4FF7760A85D6FC6238DC83E064D03B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 58, + "startColumn": 19, + "endLine": 58, + "endColumn": 25, + "charOffset": 1252, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2FEA93186914C300F27C0E861AC7E54C92388A85FA5792FABDA76CAEBE5F67E4" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 59, + "startColumn": 19, + "endLine": 59, + "endColumn": 27, + "charOffset": 1290, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9DC041325C727BF6FAC01184D9BEDC47F5FECCAD271D8861194FAA69D956F08A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 64, + "startColumn": 19, + "endLine": 64, + "endColumn": 25, + "charOffset": 1381, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EF2589B74C5914D55E2A672657CF4C6D13DD0E0882475D6461EF57A4E1C23F54" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 65, + "startColumn": 19, + "endLine": 65, + "endColumn": 26, + "charOffset": 1418, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "81CF2276D1ABA38A12AA18C57AE35C4A4327ADFD842B46662C3711FCC9AB4EC5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 88, + "startColumn": 19, + "endLine": 88, + "endColumn": 31, + "charOffset": 1889, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1D93380DB7715CC7C93B62C0FFCFEEA01E4FF7760A85D6FC6238DC83E064D03B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 93, + "startColumn": 19, + "endLine": 93, + "endColumn": 25, + "charOffset": 1990, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0AE6DBA84644F3AD2A5DDF82C24BDDF2096B9FA423C60F3CB78D06B7AFAA3858" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 94, + "startColumn": 19, + "endLine": 94, + "endColumn": 32, + "charOffset": 2033, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "41C4FF623D9B223C2E3999C0A5E533F39460645E4F073967117B2DFBD50E2222" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 99, + "startColumn": 19, + "endLine": 99, + "endColumn": 25, + "charOffset": 2166, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A6C70D621DC5C2D792802B8185D711BCCEFE3DB685BC4893DA5F3095C83208D2" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 100, + "startColumn": 19, + "endLine": 100, + "endColumn": 29, + "charOffset": 2206, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "71472221E1295721D2BB933885A4C0E44F0B13CE67C46CA478AF16F9CC6FB7D9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 59, + "startColumn": 19, + "endLine": 59, + "endColumn": 25, + "charOffset": 1931, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "21BE250AE79ADCEA232A7062E55A4129B1B1D307E5F4DF1249D775D629D81C07" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 90, + "startColumn": 19, + "endLine": 90, + "endColumn": 25, + "charOffset": 2972, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "21BE250AE79ADCEA232A7062E55A4129B1B1D307E5F4DF1249D775D629D81C07" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 104, + "startColumn": 19, + "endLine": 104, + "endColumn": 25, + "charOffset": 3388, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "21BE250AE79ADCEA232A7062E55A4129B1B1D307E5F4DF1249D775D629D81C07" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 74, + "startColumn": 19, + "endLine": 74, + "endColumn": 25, + "charOffset": 1638, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2004D9AFEE394C40DC215375ACC8EA9EFEEE4A958D76B9ED314BAB83F09E465D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 75, + "startColumn": 19, + "endLine": 75, + "endColumn": 24, + "charOffset": 1687, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3487578CCCD8CE1742EDB9DF11167C422DEF4199C9BFFEB6093A956C199ED462" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 80, + "startColumn": 19, + "endLine": 80, + "endColumn": 25, + "charOffset": 1807, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "89DCCCEFA8762EC89C0D9120CA4AF0022045B62654A30780657AC31AC1F3A33B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 81, + "startColumn": 19, + "endLine": 81, + "endColumn": 24, + "charOffset": 1867, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BE319E44C7EB52AE3B51E5DCAC537941B8E63A3626C1DC091E471B5072052A64" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 86, + "startColumn": 19, + "endLine": 86, + "endColumn": 25, + "charOffset": 1988, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E419D629B7E9C63E692C023171BE61D2718A764C2E6D778A11B62BA2BD336B1F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 87, + "startColumn": 19, + "endLine": 87, + "endColumn": 35, + "charOffset": 2034, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8547468248ED883C1C9DFC59F74CE8541580F074BE54E933285139FD2CBAD787" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 67, + "startColumn": 19, + "endLine": 67, + "endColumn": 25, + "charOffset": 1598, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1CB1D5B84C14DDF2C47D503B5998562DDE148B07D00C8E7649DD6806C25CDEAF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 77, + "startColumn": 19, + "endLine": 77, + "endColumn": 25, + "charOffset": 1852, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3CD5781173B3D709E22B8A9E6CA64FF10EA9B5FF3C98905C48923E57132FBB63" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 78, + "startColumn": 19, + "endLine": 78, + "endColumn": 31, + "charOffset": 1894, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "63EFAF99B5825A34F407A1EB9FD0BAADEAA4F0B4CD5D43360A872284A120B13C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 88, + "startColumn": 19, + "endLine": 88, + "endColumn": 25, + "charOffset": 2089, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "06A201D2EE4F575B1E8D07B9D7F23F47F8013F8B06481D3133E2263A0012CF3F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 89, + "startColumn": 19, + "endLine": 89, + "endColumn": 27, + "charOffset": 2127, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E85F987A240A67CFE93AF92992EA57DFE73DAD14CA05A8654D5DE901D22FEE43" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 94, + "startColumn": 19, + "endLine": 94, + "endColumn": 25, + "charOffset": 2231, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D3A5B1B592A4AB3FF41E97657F1FCE760E296651A1A7FC1B4BFE687CB24B98AB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 95, + "startColumn": 19, + "endLine": 95, + "endColumn": 40, + "charOffset": 2282, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BAD974E87D68AE836110BF295082765FAD9886BEBFB7907B119EE7E1185EE0CF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 61, + "startColumn": 19, + "endLine": 61, + "endColumn": 25, + "charOffset": 1533, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EBF9CB0EDEDD215248E880442C4E35BDBDD1AEC0078E613B629E5F29E9DEE181" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 62, + "startColumn": 19, + "endLine": 62, + "endColumn": 33, + "charOffset": 1577, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "37C4B6D79A513EF37E636B5F4947502972DA25F4247711E6AAC84FD21EA0D956" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 67, + "startColumn": 19, + "endLine": 67, + "endColumn": 25, + "charOffset": 1692, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "356DE99A2CEE83C314F3BF1FE106A5C67898F8075A517DC800071DBB63274F52" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 68, + "startColumn": 19, + "endLine": 68, + "endColumn": 46, + "charOffset": 1749, + "charLength": 27 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4F5459E2CD082637E56FFABD438D954824FE875C07C5DECACE6FA017335C95AC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 49, + "startColumn": 19, + "endLine": 49, + "endColumn": 25, + "charOffset": 1360, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CFCF82842A508E4B375AA98609AFA41A1FC5B8D6000D1B7ABC542FD158A8707C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 54, + "startColumn": 19, + "endLine": 54, + "endColumn": 25, + "charOffset": 1467, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EDE108A115C976A23B20D56CB4C88490513480BB468A23D2BD167984623F9B18" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 59, + "startColumn": 19, + "endLine": 59, + "endColumn": 25, + "charOffset": 1574, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AF8F8FC8D10C2520CB438895ADC80F4DBA8B796189254ECC8A42A976204C4746" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 64, + "startColumn": 19, + "endLine": 64, + "endColumn": 25, + "charOffset": 1682, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A4494415B3A2D485AA4C2E0EF8350200B75CAB189227F9B50B8E28FA5F54D0AE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 69, + "startColumn": 19, + "endLine": 69, + "endColumn": 25, + "charOffset": 1786, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E95924E604669171C2A73D5F4FB5359DF1EFBE93592A2A2B3B4584DE0D4B7350" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 74, + "startColumn": 19, + "endLine": 74, + "endColumn": 25, + "charOffset": 1888, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A75372EF2316420AB42397AE2366F0CF54A0F03AA6CADEA43C0F4A87DC133514" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 79, + "startColumn": 19, + "endLine": 79, + "endColumn": 25, + "charOffset": 1993, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "08565E3C6F9B46651927271E03C0968E305BCBD6CC1A3E2A9D846244F6632CF6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 84, + "startColumn": 19, + "endLine": 84, + "endColumn": 25, + "charOffset": 2100, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "94E2BACB766F50397B2220EF9CD3AE3B34C32666819B59A00DABC6D32A388800" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 110, + "startColumn": 17, + "endLine": 110, + "endColumn": 23, + "charOffset": 2914, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1C09FF6C03A6A134BE41CE1CF5C762A47029FAA1C5100EAC92FABE78FAF03408" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 118, + "startColumn": 17, + "endLine": 118, + "endColumn": 23, + "charOffset": 3057, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "21168790727A08A692CC8C034DF9B4B3ADE0A0A625CE57EC5B0CFA47B6C793B5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 126, + "startColumn": 17, + "endLine": 126, + "endColumn": 23, + "charOffset": 3224, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7043FCCE9F7559C04BD2A975AAD966591977A6854B5502BB15A53D0453B150D9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 137, + "startColumn": 17, + "endLine": 137, + "endColumn": 23, + "charOffset": 3448, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "93A659C2ACFB9CE75153A524C85B290F1844DA24E3E150A819EEAFB30F630D78" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 145, + "startColumn": 17, + "endLine": 145, + "endColumn": 23, + "charOffset": 3612, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "ABF9FA424EE642C42D06FE4644DF44990EDBAEC0154D9000F86EB591C1505C28" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 189, + "startColumn": 19, + "endLine": 189, + "endColumn": 25, + "charOffset": 4694, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7C579C1478C6F03A983181D677BF65D5D38F5385817B61BC9B299729696C7058" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 194, + "startColumn": 19, + "endLine": 194, + "endColumn": 25, + "charOffset": 4792, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B70D988CD22B2235B136730AF7686E43FA3A356536A5B26E2BBF520D43403A73" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 199, + "startColumn": 19, + "endLine": 199, + "endColumn": 25, + "charOffset": 4891, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "680B5F389CEC6670D5BAEB6809527F306D635E92DD3B45D62C5CFB9011BD7AE6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 204, + "startColumn": 19, + "endLine": 204, + "endColumn": 25, + "charOffset": 4986, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AE9DCA2693D3F7917B2520324B03B2062B91AE8B21BCB470BB39B163050FDCBD" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 209, + "startColumn": 19, + "endLine": 209, + "endColumn": 25, + "charOffset": 5079, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D2BE9C778790D77CA36B68617BD620ED0BCA2DB011254DBB3B23A478B9444850" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 214, + "startColumn": 19, + "endLine": 214, + "endColumn": 25, + "charOffset": 5175, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3CB29BBA22982E40EA167AE3D7169C527D20F04F70E0E253789B90302E689AE6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 219, + "startColumn": 19, + "endLine": 219, + "endColumn": 25, + "charOffset": 5273, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "090DF73911E7B79FC5359594556BBE31C65BB4A37BBC43E3336A647ADBC6EF81" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 229, + "startColumn": 17, + "endLine": 229, + "endColumn": 23, + "charOffset": 5453, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E8E140DCECF42E4380B0F7C7B0ACD81F0920CA9072BE417DBDD95FE8A5AB428B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 237, + "startColumn": 17, + "endLine": 237, + "endColumn": 23, + "charOffset": 5605, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C98FF93CE920B1DD1C38FEE5B1FD5571BD0BECD408485539E30C5EC8BB648B92" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1108, + "startColumn": 19, + "endLine": 1108, + "endColumn": 25, + "charOffset": 28914, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C898373C2C09E69E49A6F0B60F1D5F827A820310759C0D9731F9C6807E28404A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1122, + "startColumn": 19, + "endLine": 1122, + "endColumn": 25, + "charOffset": 29256, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "09FE758D4306FF1B58E92B16C8471352AEB75C411FB4770ECC8B54E0824F50BA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1127, + "startColumn": 19, + "endLine": 1127, + "endColumn": 25, + "charOffset": 29366, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F6E5A30278E8659CAFE84263CE105DC8A620A8E6CD80E664998026E0791E2B53" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 28, + "startColumn": 37, + "endLine": 28, + "endColumn": 43, + "charOffset": 707, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5B976B44EED9593984A611FF54C4B80AC96AFF420226386640CB19AE84C86CA2" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 29, + "startColumn": 39, + "endLine": 29, + "endColumn": 45, + "charOffset": 764, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A7668F451EDC888EC912C8DEBA33CE33011FB8442277958E7831E47097A41CEF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 30, + "startColumn": 38, + "endLine": 30, + "endColumn": 44, + "charOffset": 820, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D5D892F665F9C49DCA1981535C63A0413FC0DB1B4B32E0D040A960673D8F3662" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 31, + "startColumn": 35, + "endLine": 31, + "endColumn": 41, + "charOffset": 873, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2C6976453BE340E514C249BFAE0F482BEF1F639EBFDEB63D72F53E8CBA37F0DA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 32, + "startColumn": 36, + "endLine": 32, + "endColumn": 42, + "charOffset": 927, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D8DC780A0812E9A310E13C7F675591B563304F1A9473EC7FBEC50C2D67D47FA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 33, + "startColumn": 38, + "endLine": 33, + "endColumn": 44, + "charOffset": 983, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DF7C8B9EE4601DBF1851D9E12F59335871B474374914210B8120A1CE9A82F004" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 34, + "startColumn": 38, + "endLine": 34, + "endColumn": 44, + "charOffset": 1039, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "832E6C5478652933286FB4D244104B26DC421EE4A62AB0EF30DE167102A42615" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 54, + "startColumn": 40, + "endLine": 54, + "endColumn": 46, + "charOffset": 1788, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F0E27EF63C9EE25F6F758EAA425E7A412CE32D9AC787819B0EAA42AA4ED53A4D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 55, + "startColumn": 39, + "endLine": 55, + "endColumn": 45, + "charOffset": 1844, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "23DBB9F0BB7D3D7A0BF87562920365CC8EADF3AF6595EF040442232423B2834F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 72, + "startColumn": 39, + "endLine": 72, + "endColumn": 45, + "charOffset": 2360, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BCCB000A29D03397BFB8B89F60C3FEA56CE234671195C06786A37F10512B0398" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 73, + "startColumn": 49, + "endLine": 73, + "endColumn": 55, + "charOffset": 2423, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F24A540F4117075BAA56F10F6B97DA75C894939A3F29C16C5DEBE94C71834904" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 74, + "startColumn": 45, + "endLine": 74, + "endColumn": 51, + "charOffset": 2486, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9474FE594609CB292768E45EF3C880E093177FF2E93BC0CAAB5811309B903685" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 82, + "startColumn": 46, + "endLine": 82, + "endColumn": 52, + "charOffset": 2686, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD0935E4753E06B937725EA3CAA6E2F1FE9666E10252CD0A4DBF544A376ECCFA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 83, + "startColumn": 45, + "endLine": 83, + "endColumn": 51, + "charOffset": 2748, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "575CB97F51B6A97F0B5FD532E7563A9B13FC05568FE3365D3FF939E461CEBBD5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 85, + "startColumn": 46, + "endLine": 85, + "endColumn": 52, + "charOffset": 2813, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B7F3D9317A40D89940C27F3E2C42CAEC38B2C7CEB20E8B80FCCBE812BA7FF5B7" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 86, + "startColumn": 48, + "endLine": 86, + "endColumn": 54, + "charOffset": 2878, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8902D1EE17F8C0FDC2D772906ACE67C247AEE23E58472D942BA87781BEC2D591" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 92, + "startColumn": 19, + "endLine": 92, + "endColumn": 25, + "charOffset": 2137, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1E03871E279D4548184B2AE9FFBDF5F765F3B12B4864B141BD1C66C01C8A1236" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 97, + "startColumn": 19, + "endLine": 97, + "endColumn": 25, + "charOffset": 2234, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "14E8278195CE28A89BD5AE7D93BBDADB6A91CE70A3FC98E69FDB44661B5FF45C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 102, + "startColumn": 19, + "endLine": 102, + "endColumn": 25, + "charOffset": 2331, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0D11678A553F4F2F75EE1DF56D4F6731929A956FA57CCEFEB4C05A6C584E3F8A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 107, + "startColumn": 19, + "endLine": 107, + "endColumn": 25, + "charOffset": 2419, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D45E9470431338FD80E983E6CDCF7FB6D48F362E2EE9042B01CECD9E08E81489" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 83, + "startColumn": 19, + "endLine": 83, + "endColumn": 25, + "charOffset": 1999, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D1DA1E94B1AB94C694F68948A376D5DD40A6666CB77F788DDFFC1FF04D87F03C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 73, + "startColumn": 19, + "endLine": 73, + "endColumn": 25, + "charOffset": 1863, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1E03871E279D4548184B2AE9FFBDF5F765F3B12B4864B141BD1C66C01C8A1236" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 78, + "startColumn": 19, + "endLine": 78, + "endColumn": 25, + "charOffset": 1955, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0D11678A553F4F2F75EE1DF56D4F6731929A956FA57CCEFEB4C05A6C584E3F8A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeAccessorOwnerBody", + "ruleIndex": 1, + "level": "note", + "message": { + "text": "Code body does not conform to code style settings: use expression-bodied property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 83, + "startColumn": 19, + "endLine": 83, + "endColumn": 25, + "charOffset": 2049, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E75F82583C0D43266A41CAF90CDF36EF004C2D6AAFF7A974D4630F2602CD63AA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeObjectCreationWhenTypeEvident", + "ruleIndex": 2, + "level": "note", + "message": { + "text": "Redundant type specification" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 130, + "startColumn": 66, + "endLine": 130, + "endColumn": 72, + "charOffset": 3350, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7B9176D55B0C1BD3EEA71FDC3A515B4AA4A51D83F6DE1ACB4381E449E24E08B8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeObjectCreationWhenTypeEvident", + "ruleIndex": 2, + "level": "note", + "message": { + "text": "Redundant type specification" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 134, + "startColumn": 60, + "endLine": 134, + "endColumn": 66, + "charOffset": 3531, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "240342256D49B57F8CA2771DA061F1497F27061516E5BDB67ECC7207C0065120" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeObjectCreationWhenTypeEvident", + "ruleIndex": 2, + "level": "note", + "message": { + "text": "Redundant type specification" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 137, + "startColumn": 67, + "endLine": 137, + "endColumn": 73, + "charOffset": 3694, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B923B1B3F85CF85B19A91F26594EEDFBA844A6DB9DA26D077C9E1722543E844B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeObjectCreationWhenTypeEvident", + "ruleIndex": 2, + "level": "note", + "message": { + "text": "Redundant type specification" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 141, + "startColumn": 67, + "endLine": 141, + "endColumn": 73, + "charOffset": 3883, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "64259723B78B6824459B821D405B8461F66B558F4CE3E51B0B95D0DB549E93AB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeObjectCreationWhenTypeEvident", + "ruleIndex": 2, + "level": "note", + "message": { + "text": "Redundant type specification" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 144, + "startColumn": 65, + "endLine": 144, + "endColumn": 71, + "charOffset": 4019, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "37830DD8E79B18426F919A95D63A48F649A8E7B5FA9F6873C898BE050F5557CA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeObjectCreationWhenTypeEvident", + "ruleIndex": 2, + "level": "note", + "message": { + "text": "Redundant type specification" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif/SarifIssueReportGenerator.cs", + "uriBaseId": "solutionDir", + "index": 15 + }, + "region": { + "startLine": 82, + "startColumn": 41, + "endLine": 82, + "endColumn": 57, + "charOffset": 3259, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1AF9612560C54A1EB5FC52D77C14F42443605B0690DA56054E785E2DBBAA42FC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ArrangeVarKeywordsInDeconstructingDeclaration", + "ruleIndex": 3, + "level": "note", + "message": { + "text": "Use single deconstruction declaration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console/IssueDiagnostic.cs", + "uriBaseId": "solutionDir", + "index": 16 + }, + "region": { + "startLine": 70, + "startColumn": 18, + "endLine": 70, + "endColumn": 21, + "charOffset": 2364, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DA4ECDCC665555C3344C09A2CD2A91CA2004D3E11C30DF39D0DBED07DA7582D3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AssignNullToNotNullAttribute", + "ruleIndex": 4, + "message": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild/LogFileFormat/BinaryLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 17 + }, + "region": { + "startLine": 254, + "startColumn": 51, + "endLine": 254, + "endColumn": 67, + "charOffset": 10868, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9589292A0123EFC2E6FB183D53A80EE1BF02C6453C1C9C048E8D666745D12BEF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AssignNullToNotNullAttribute", + "ruleIndex": 4, + "message": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild/LogFileFormat/XmlFileLoggerLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 18 + }, + "region": { + "startLine": 181, + "startColumn": 55, + "endLine": 181, + "endColumn": 75, + "charOffset": 7549, + "charLength": 20 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C4D7D14FAA59CDD971E19C620E0ACB4F624910AACADA95BFFD562A8AFC7B3410" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AssignNullToNotNullAttribute", + "ruleIndex": 4, + "message": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportFixture.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 27, + "startColumn": 50, + "endLine": 27, + "endColumn": 56, + "charOffset": 1022, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D89334537AA8D84D1F1299EDB6037E203C20782DAC7F6F092E51B859E3686336" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AssignNullToNotNullAttribute", + "ruleIndex": 4, + "message": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 469, + "startColumn": 53, + "endLine": 469, + "endColumn": 62, + "charOffset": 14462, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "23C24C0C92FF5C3A7EA962679F75A2412927EC35A9EC02135EEFAF764E9153BA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AssignNullToNotNullAttribute", + "ruleIndex": 4, + "message": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 74, + "startColumn": 52, + "endLine": 74, + "endColumn": 56, + "charOffset": 2493, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9474FE594609CB292768E45EF3C880E093177FF2E93BC0CAAB5811309B903685" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AssignNullToNotNullAttribute", + "ruleIndex": 4, + "message": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 79, + "startColumn": 58, + "endLine": 79, + "endColumn": 62, + "charOffset": 2628, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5BCB8342C0821AED1C224DB90D5EE470AA62F2143A8D871FBC0516513BF4F220" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AssignNullToNotNullAttribute", + "ruleIndex": 4, + "message": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 85, + "startColumn": 53, + "endLine": 85, + "endColumn": 57, + "charOffset": 2820, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B7F3D9317A40D89940C27F3E2C42CAEC38B2C7CEB20E8B80FCCBE812BA7FF5B7" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AssignNullToNotNullAttribute", + "ruleIndex": 4, + "message": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 86, + "startColumn": 55, + "endLine": 86, + "endColumn": 59, + "charOffset": 2885, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8902D1EE17F8C0FDC2D772906ACE67C247AEE23E58472D942BA87781BEC2D591" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AssignNullToNotNullAttribute", + "ruleIndex": 4, + "message": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 99, + "startColumn": 68, + "endLine": 99, + "endColumn": 72, + "charOffset": 3297, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3B69A9C833C03F397AE7825B981015A6A31EC7716B25CC06D08CD1A6780B33FA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AssignNullToNotNullAttribute", + "ruleIndex": 4, + "message": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 110, + "startColumn": 20, + "endLine": 110, + "endColumn": 24, + "charOffset": 3534, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9D2A62498F76E06F826D6305390273F025D9C347BD6CC9B6A8ABA30CC156AA59" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 12, + "startColumn": 46, + "endLine": 12, + "endColumn": 50, + "charOffset": 325, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "240418D8641A34734F45306FCDBA9F2CAEE869C9003C33A070DF89D11D5D0D60" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 13, + "startColumn": 52, + "endLine": 13, + "endColumn": 56, + "charOffset": 384, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B968F33F3555D814646B68E06C24C18C51281C295C28036A127EB40D3956A353" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 14, + "startColumn": 40, + "endLine": 14, + "endColumn": 44, + "charOffset": 431, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D51D2F39295A71F5C975FFE3C0894A2D51CDEA480E76A6AF316FC0CA22F781C0" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 15, + "startColumn": 36, + "endLine": 15, + "endColumn": 40, + "charOffset": 474, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "53A4757EFBE2844612A6B3E5DD3BC060B484050D6392B68D36FB87F99812B482" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 16, + "startColumn": 48, + "endLine": 16, + "endColumn": 52, + "charOffset": 529, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DCC8F3F2AAFA4A092A77CB025A6B1D2F930B257C1B7A6F2977B63567C232570B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 17, + "startColumn": 52, + "endLine": 17, + "endColumn": 56, + "charOffset": 588, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7A4D7BAF8447ADBFE16A585AC5418A8505FE1D28D54368E6AD6C264D72002DE6" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 18, + "startColumn": 42, + "endLine": 18, + "endColumn": 46, + "charOffset": 637, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B978919B426872259662320DA375E4CE98DA2C23901A7E0E85B81873E9CC49E" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 19, + "startColumn": 42, + "endLine": 19, + "endColumn": 46, + "charOffset": 686, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6D4FE6B0BE0A5932E73ACC1D381B3E92C048A8EC06C59F040977A8E975D5E5DA" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 20, + "startColumn": 45, + "endLine": 20, + "endColumn": 49, + "charOffset": 738, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E9E2F47C22D3EBDE46EC23BE0127118B19B093791EB39C4BDB7B3A94E6307B7E" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 21, + "startColumn": 56, + "endLine": 21, + "endColumn": 60, + "charOffset": 801, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DB67F680AF044F63FE5DA820AA57014F93769CD9A31BC31519321AADD7052BD4" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.GitHubActions/GitHubActionsBuildSettings.cs", + "uriBaseId": "solutionDir", + "index": 21 + }, + "region": { + "startLine": 12, + "startColumn": 40, + "endLine": 12, + "endColumn": 44, + "charOffset": 444, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7C563BE4E459F979E6D3DB83F9548FB953684BE42D58FCAC3D9F69080C6E8308" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportFixture.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 16, + "startColumn": 35, + "endLine": 16, + "endColumn": 39, + "charOffset": 489, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD26A46A1DE75B3F79F52BBADF6AA4104CED278379FADEDA473F5408BB37F4F7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportFixture.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 18, + "startColumn": 89, + "endLine": 18, + "endColumn": 93, + "charOffset": 587, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "697F361B2947DF599B205145324AE56EEBBF08CEAFCC8E2F2C6886041165F24A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/HtmlDxDataGridColumnDescription.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 51, + "startColumn": 43, + "endLine": 51, + "endColumn": 47, + "charOffset": 2001, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BDA200BB75C09605FAF203249A02633C0806F6B5AC265F98D70CFD09B9CC698B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/HtmlDxDataGridColumnDescription.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 58, + "startColumn": 42, + "endLine": 58, + "endColumn": 46, + "charOffset": 2347, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6CE68760A20080D96D8693A2A09D619EBB3FBB6E7CBDA036134979F740F0D982" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/HtmlDxDataGridColumnDescription.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 64, + "startColumn": 41, + "endLine": 64, + "endColumn": 45, + "charOffset": 2603, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C1AAA33E377C63A2C18BD795DC581E2FF03E5FA869E94D5C30348F227216F844" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/IdeIntegrationSettings.cs", + "uriBaseId": "solutionDir", + "index": 23 + }, + "region": { + "startLine": 23, + "startColumn": 44, + "endLine": 23, + "endColumn": 48, + "charOffset": 848, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5698AE3BE18349548A74B68C73462E1016E3B0FD5B911DF0D94D32F28CA456A9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif.Tests/SarifIssueReportFixture.cs", + "uriBaseId": "solutionDir", + "index": 24 + }, + "region": { + "startLine": 16, + "startColumn": 35, + "endLine": 16, + "endColumn": 39, + "charOffset": 510, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD26A46A1DE75B3F79F52BBADF6AA4104CED278379FADEDA473F5408BB37F4F7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif.Tests/SarifIssueReportFixture.cs", + "uriBaseId": "solutionDir", + "index": 24 + }, + "region": { + "startLine": 18, + "startColumn": 85, + "endLine": 18, + "endColumn": 89, + "charOffset": 604, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A7A579A56AB5543BD4FB3B940407FA0D812F950F7EB7CAD1EBDD8965DF7A5E49" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Tests/IssueReportFormatFixture.cs", + "uriBaseId": "solutionDir", + "index": 25 + }, + "region": { + "startLine": 24, + "startColumn": 63, + "endLine": 24, + "endColumn": 67, + "charOffset": 881, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "23521F9B41A607EAF4812C8896D4000927EBC7EE66DC512F28410A4922D8E1D8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Tests/IssueReportFormatFixture.cs", + "uriBaseId": "solutionDir", + "index": 25 + }, + "region": { + "startLine": 28, + "startColumn": 109, + "endLine": 28, + "endColumn": 113, + "charOffset": 1083, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "22C394AC4D60F54B0E9E864A97C7AE31948C73CF5FE530002D822724C84420FD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Global", + "ruleIndex": 5, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Testing/BaseConfigurableIssueProviderFixture.cs", + "uriBaseId": "solutionDir", + "index": 26 + }, + "region": { + "startLine": 45, + "startColumn": 45, + "endLine": 45, + "endColumn": 49, + "charOffset": 1923, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D49BDA7566A7CDE241F332F2F07DB9900E3CF6BD3770916A5CFCE2F51085054B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "AutoPropertyCanBeMadeGetOnly.Local", + "ruleIndex": 6, + "level": "note", + "message": { + "text": "Auto-property can be made get-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 74, + "startColumn": 76, + "endLine": 74, + "endColumn": 88, + "charOffset": 3226, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A1A535D097C212EF83DF65738B25CF052C884CE2729C1890674B8FC6598488E5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CanSimplifyDictionaryLookupWithTryAdd", + "ruleIndex": 7, + "level": "note", + "message": { + "text": "Dictionary lookup can be simplified with 'TryAdd'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/IssueBuilder.cs", + "uriBaseId": "solutionDir", + "index": 28 + }, + "region": { + "startLine": 310, + "startColumn": 44, + "endLine": 310, + "endColumn": 55, + "charOffset": 14398, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B648B86E6D0B7D8B61DDA0295B7F5043A71E50F96A4A9B218F3C8CB8A849828F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CanSimplifyDictionaryLookupWithTryGetValue", + "ruleIndex": 8, + "level": "note", + "message": { + "text": "Dictionary lookup can be simplified with 'TryGetValue'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 494, + "startColumn": 43, + "endLine": 494, + "endColumn": 54, + "charOffset": 15242, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4BEBC6DFF99F2B0F5265C74BEF72A10741BBE587ECEE3E5498FA11083174FC95" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CanSimplifyDictionaryLookupWithTryGetValue", + "ruleIndex": 8, + "level": "note", + "message": { + "text": "Dictionary lookup can be simplified with 'TryGetValue'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 895, + "startColumn": 40, + "endLine": 895, + "endColumn": 51, + "charOffset": 29144, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "058E311DD0056FA4A5DF8504EDEC9533D8CBA0BA90ACC45A40ED7A5D61D9FAC0" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CanSimplifyDictionaryLookupWithTryGetValue", + "ruleIndex": 8, + "level": "note", + "message": { + "text": "Dictionary lookup can be simplified with 'TryGetValue'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 904, + "startColumn": 38, + "endLine": 904, + "endColumn": 49, + "charOffset": 29433, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "011F00012002554DE9E933D802DE97935674E32699DF4877E267F7FBCEDDF83F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CheckNamespace", + "ruleIndex": 9, + "message": { + "text": "Namespace does not correspond to file location, must be: 'Cake.Issues.Reporting.Generic.LitJson'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/IJsonWrapper.cs", + "uriBaseId": "solutionDir", + "index": 29 + }, + "region": { + "startLine": 24, + "startColumn": 11, + "endLine": 24, + "endColumn": 18, + "charOffset": 663, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D46AF5CCB88E1CC17327729E3381FF620CD54DD9F16011F7A0596ACAF385AE05" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CheckNamespace", + "ruleIndex": 9, + "message": { + "text": "Namespace does not correspond to file location, must be: 'Cake.Issues.Reporting.Generic.LitJson'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 26, + "startColumn": 11, + "endLine": 26, + "endColumn": 18, + "charOffset": 670, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D46AF5CCB88E1CC17327729E3381FF620CD54DD9F16011F7A0596ACAF385AE05" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CheckNamespace", + "ruleIndex": 9, + "message": { + "text": "Namespace does not correspond to file location, must be: 'Cake.Issues.Reporting.Generic.LitJson'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonException.cs", + "uriBaseId": "solutionDir", + "index": 30 + }, + "region": { + "startLine": 21, + "startColumn": 11, + "endLine": 21, + "endColumn": 18, + "charOffset": 488, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D46AF5CCB88E1CC17327729E3381FF620CD54DD9F16011F7A0596ACAF385AE05" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CheckNamespace", + "ruleIndex": 9, + "message": { + "text": "Namespace does not correspond to file location, must be: 'Cake.Issues.Reporting.Generic.LitJson'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 26, + "startColumn": 11, + "endLine": 26, + "endColumn": 18, + "charOffset": 613, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D46AF5CCB88E1CC17327729E3381FF620CD54DD9F16011F7A0596ACAF385AE05" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CheckNamespace", + "ruleIndex": 9, + "message": { + "text": "Namespace does not correspond to file location, must be: 'Cake.Issues.Reporting.Generic.LitJson'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir", + "index": 11 + }, + "region": { + "startLine": 24, + "startColumn": 11, + "endLine": 24, + "endColumn": 18, + "charOffset": 601, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D46AF5CCB88E1CC17327729E3381FF620CD54DD9F16011F7A0596ACAF385AE05" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CheckNamespace", + "ruleIndex": 9, + "message": { + "text": "Namespace does not correspond to file location, must be: 'Cake.Issues.Reporting.Generic.LitJson'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 25, + "startColumn": 11, + "endLine": 25, + "endColumn": 18, + "charOffset": 561, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D46AF5CCB88E1CC17327729E3381FF620CD54DD9F16011F7A0596ACAF385AE05" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CheckNamespace", + "ruleIndex": 9, + "message": { + "text": "Namespace does not correspond to file location, must be: 'Cake.Issues.Reporting.Generic.LitJson'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 25, + "startColumn": 11, + "endLine": 25, + "endColumn": 18, + "charOffset": 570, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D46AF5CCB88E1CC17327729E3381FF620CD54DD9F16011F7A0596ACAF385AE05" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CheckNamespace", + "ruleIndex": 9, + "message": { + "text": "Namespace does not correspond to file location, must be: 'Cake.Issues.Reporting.Generic.LitJson'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 24, + "startColumn": 11, + "endLine": 24, + "endColumn": 18, + "charOffset": 553, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D46AF5CCB88E1CC17327729E3381FF620CD54DD9F16011F7A0596ACAF385AE05" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CheckNamespace", + "ruleIndex": 9, + "message": { + "text": "Namespace does not correspond to file location, must be: 'Cake.Issues.Reporting.Generic.LitJson'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/ParserToken.cs", + "uriBaseId": "solutionDir", + "index": 31 + }, + "region": { + "startLine": 17, + "startColumn": 11, + "endLine": 17, + "endColumn": 18, + "charOffset": 478, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D46AF5CCB88E1CC17327729E3381FF620CD54DD9F16011F7A0596ACAF385AE05" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'AppVeyorBuildSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/AppVeyorBuildSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 32 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 51, + "charOffset": 78, + "charLength": 26 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0E5C6555ECB22D4C762543B4D7E8286E4F23D4B1464BC274798D34250F76FF86" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'AppVeyorPullRequestSystemTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/AppVeyorPullRequestSystemTests.cs", + "uriBaseId": "solutionDir", + "index": 33 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 55, + "charOffset": 102, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A4670095292D8388F083A180C3815A793347EEE66795E991609B0695E392C514" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'AzureDevOpsFileLinkSettingsBuilderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/FileLinking/AzureDevOpsFileLinkSettingsBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 34 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 64, + "charOffset": 106, + "charLength": 39 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7614E484D00682A00FA60E2C909E56656490CAFEEE26C37CE65627FD6699EE60" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseCheckingCommitIdCapabilityTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseCheckingCommitIdCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 35 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 60, + "charOffset": 105, + "charLength": 35 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E9C41C76555C6F39DAF1F85ABC5B77ED468714B5728D07A8340C6A6D4D77AE27" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseConfigurableIssueProviderFixtureTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Testing/BaseConfigurableIssueProviderFixtureTests.cs", + "uriBaseId": "solutionDir", + "index": 36 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 66, + "charOffset": 64, + "charLength": 41 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4D732BA93B37EB3F34D26EFD0B14BA7C4216599109893990F98020A78F481CCC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseConfigurableIssueProviderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseConfigurableIssueProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 37 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 59, + "charOffset": 92, + "charLength": 34 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E82384CD00708FD7A7E5B4CD970B39596E600E3DF07FEA656D02FEF72AA5537E" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseDiscussionThreadsCapabilityTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseDiscussionThreadsCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 61, + "charOffset": 130, + "charLength": 36 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "24BDFF4CB489DDB528245CC8D28EDCC47DF136630A86FBC797DAF65240EB7019" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseFilteringByModifiedFilesCapabilityTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseFilteringByModifiedFilesCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 68, + "charOffset": 130, + "charLength": 43 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4761D0FE275CF1CF3F4FE097CFED4713306B1B551CFA0BACB66B895CF077E771" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseIssueComponentTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseIssueComponentTests.cs", + "uriBaseId": "solutionDir", + "index": 40 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 48, + "charOffset": 56, + "charLength": 23 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "86A1E37BFC4AA200453BFA20391EC2F2CE3B24FAA94AAD514ED07DAD0706D10F" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseIssueProviderFixtureTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Testing/BaseIssueProviderFixtureTests.cs", + "uriBaseId": "solutionDir", + "index": 41 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 54, + "charOffset": 64, + "charLength": 29 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0199A30CCF9979AC7CA2AE5310A62357C86B2C1E9ADF6F10749900B1C15478BC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseIssueProviderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseIssueProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 42 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 47, + "charOffset": 56, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F9B12452DAA220F5824D930BA07A050C4607E6DB55DB5D9F7F8162F7424140D3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseLogFileFormatTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 43 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 47, + "charOffset": 92, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "40A358E4CE5474ADEC5F477BC61253DFE44ADACFFC5AB4F0B8A468D6AC9A98CF" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseMsBuildLogFileFormatTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/BaseMsBuildLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 44 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 54, + "charOffset": 64, + "charLength": 29 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B10A190C3632B8448694AAE27C2F2EB54D891FC258ABD1FA14CA02B562BEB5AF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseMultiFormatIssueProviderFixtureTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Testing/BaseMultiFormatIssueProviderFixtureTests.cs", + "uriBaseId": "solutionDir", + "index": 45 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 65, + "charOffset": 64, + "charLength": 40 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8572BF83BEFBAF54E78C0C72FCC34BAD089E2130F2FA37AAB6DF9B566DBEEA1D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseMultiFormatIssueProviderSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseMultiFormatIssueProviderSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 46 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 66, + "charOffset": 83, + "charLength": 41 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8423DEB2B0710C60663624397B4FC6F24D2190FBC79BAD6463C170F77E3B998D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseMultiFormatIssueProviderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseMultiFormatIssueProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 47 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 58, + "charOffset": 92, + "charLength": 33 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "67165CAC4966BA37ADD36CF62CCC382109368FA12C99058FA1A1A2AC4F129C5A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BasePullRequestSystemCapabilityTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BasePullRequestSystemCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 48 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 61, + "charOffset": 105, + "charLength": 36 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1BDF9BBFBF9316D5F7DFB25C6774048A8BECB051BBD2A7590D3460649DA2576F" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BasePullRequestSystemTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BasePullRequestSystemTests.cs", + "uriBaseId": "solutionDir", + "index": 49 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 51, + "charOffset": 105, + "charLength": 26 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F8C236756C26541820411BDC4A8415205FFE34DC1785A5651FA5A67154B66F4E" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BaseRuleUrlResolverTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir", + "index": 50 + }, + "region": { + "startLine": 3, + "startColumn": 18, + "endLine": 3, + "endColumn": 42, + "charOffset": 49, + "charLength": 24 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3AE28E46AEF9E5EACED6B4794EB27FC9C7DD9151E0082D7FA4E5EBB7E7B67627" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'BinaryLogFileFormatTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/LogFileFormat/BinaryLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 51 + }, + "region": { + "startLine": 7, + "startColumn": 25, + "endLine": 7, + "endColumn": 49, + "charOffset": 203, + "charLength": 24 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D9B55ED1E185461A59BBB2EEF202D77808414054951D62BCA8A030C2E0750F8B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'ByteArrayExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/ByteArrayExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 52 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 49, + "charOffset": 82, + "charLength": 24 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0F379DD377D13C2B6550556252F056004823A212FA587B1ED101BB7749698FC3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'ConsoleIssueReportGeneratorTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportGeneratorTests.cs", + "uriBaseId": "solutionDir", + "index": 53 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 57, + "charOffset": 74, + "charLength": 32 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D82EC4BAA882AF26753A5CDEA34142B01C4F85C719A78B6164E46EF23769C46C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'CreateIssueReportFromIssueProviderSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Tests/CreateIssueReportFromIssueProviderSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 54 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 72, + "charOffset": 93, + "charLength": 47 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "551AD0F2E2EE31057A12ED43082501A90F836D5C86D4541BA29A7845CE81E9E9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'CreateIssueReportSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Tests/CreateIssueReportSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 55 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 55, + "charOffset": 93, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "20B301E24FC237B8E407F0F64E743A6927459432895C791E97FE7465F02BB6AD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'DocFxProviderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 43, + "charOffset": 107, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B4B30CF1712ED6A82D4573411C9190690CE85EC598D9494B5D785790BD306177" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'DocFxSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 43, + "charOffset": 89, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD564F9E83B72B6495DF40FEC605FD5C4F9EDD01F464155B523A74DEFFE1A1EE" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'EsLintIssuesProviderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 57 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 50, + "charOffset": 144, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3342E0615B22AE25E3193DAC950DBB739F6CCC6D80B250C218891F5C249C2EAE" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'EsLintIssuesSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 50, + "charOffset": 135, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A5BB2B4C52B3599A1B722A8DE54674023421878CD876074AD242DCF04C28464D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'EsLintRuleUrlResolverTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/EsLintRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir", + "index": 58 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 51, + "charOffset": 63, + "charLength": 26 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A81FCD138A95CFF52C06DE0A429BB49BB6362F40B9CFA981F1E9CC23944B898F" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'ExceptionAssertExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Testing/ExceptionAssertExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 59 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 55, + "charOffset": 64, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "71449B02DBC12CF46DF6E6D1AB04A0DF88516C525645EF53C4CAADD400193445" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'FileLinkOptionalSettingsBuilderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/FileLinking/FileLinkOptionalSettingsBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 60 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 61, + "charOffset": 106, + "charLength": 36 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6162EAC42140C9FB1631CDF88C6E0ED726453A983839C128A29D1285F8FF6A7C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'FileLinkSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/FileLinkSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 61 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 46, + "charOffset": 56, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2FA9B3D3B0526D00DA5D38612C0F6402364D5D98EA62320CA4ABE5452329FB6D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'GitHubActionsPullRequestSystemTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.GitHubActions.Tests/GitHubActionsPullRequestSystemTests.cs", + "uriBaseId": "solutionDir", + "index": 62 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 60, + "charOffset": 119, + "charLength": 35 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7A239BBD3336F45F63ADCD6D4EB775BB150F2ED2ECE3158FE757BD318314AE0E" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'GitHubFileLinkSettingsBuilderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/FileLinking/GitHubFileLinkSettingsBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 63 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 59, + "charOffset": 106, + "charLength": 34 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C67F4C37FC84F1C7D53F90616DBE409C17877B75B1AF6BC63D8B0E4329796990" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'GitRepositoryIssuesSettings' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesSettings.cs", + "uriBaseId": "solutionDir", + "index": 64 + }, + "region": { + "startLine": 6, + "startColumn": 18, + "endLine": 6, + "endColumn": 45, + "charOffset": 160, + "charLength": 27 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8E5E876E42D0C399901C88235328C8F6C31964493543AEB3222C4088A9DA5501" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'GitRunnerTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository.Tests/GitRunnerTests.cs", + "uriBaseId": "solutionDir", + "index": 65 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 39, + "charOffset": 70, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F92B4A2B47F28F3A39133A89314DDE61FFB58A3297EC648618116F2416199A8F" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueBuilderExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository.Tests/IssueBuilderExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 66 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 52, + "charOffset": 70, + "charLength": 27 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FFD5C04170A02E3D0179652D4FB013AB5038AECCC3C0BABCD1050445694F8309" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueBuilderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 42, + "charOffset": 56, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "707920A9B6703D7CEB7A7A4AEB295D31071AEB4067D9DC07FD1ABFC0666FCBE9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueCheckerTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Testing/IssueCheckerTests.cs", + "uriBaseId": "solutionDir", + "index": 68 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 42, + "charOffset": 64, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7C96EB43FE1314F40F6DC99BA2262FFFCA5B1FEFEAF2161D3200C833A87EC4B3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueCommentInfoTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 46, + "charOffset": 69, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7D3CD92C261426CA5B183651FC6F8C4DF822F35AF8905A04DBEBB962E2D9ECB5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueDeserializationExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueDeserializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 70 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 60, + "charOffset": 135, + "charLength": 35 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9B10E5191E579B8610F87937251C283C213135528E0974CF5751A14FD6E32F75" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueFiltererTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueFiltererTests.cs", + "uriBaseId": "solutionDir", + "index": 71 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 43, + "charOffset": 139, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EB243F30DE180D5FF311955BAA1E04C928AF3EC580BA06A002565AF035C0CB8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueProviderSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueProviderSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 72 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 51, + "charOffset": 83, + "charLength": 26 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E9A3F6D805881E7B16EFFFAF73E41B0CB8416D13D9408FD0A6A3ABB933D1DE80" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueReaderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueReaderTests.cs", + "uriBaseId": "solutionDir", + "index": 73 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 41, + "charOffset": 56, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8494C8470EF538312D7FC61F6F88242C7CE75FEF75C76EE043B5AE5256F63198" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueReportCreatorTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Tests/IssueReportCreatorTests.cs", + "uriBaseId": "solutionDir", + "index": 74 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 48, + "charOffset": 66, + "charLength": 23 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "94F384590FDB05ABA6F0F143DE5DF17B6025500318336ECDE5BC09D7211E5495" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueReportFormatTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Tests/IssueReportFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 75 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 47, + "charOffset": 66, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AAEDA9D6632F8BDA324A1FA7E0C9F7CB5C39B8B0C5C22A85C1160DCE3C57C0AF" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssuesArgumentChecksTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssuesArgumentChecksTests.cs", + "uriBaseId": "solutionDir", + "index": 76 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 50, + "charOffset": 56, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9FE31796FC6B004560ED5560D93AA4E9C5959C8BA51CE731D4034D532BB44444" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueSerializationExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 58, + "charOffset": 135, + "charLength": 33 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7659CBEA072391ED8A31351C0B2E40F673CD2B9CAD12C2E7D06A79BD4424F69B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'IssueTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 35, + "charOffset": 101, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6C23CDD06A546B98AC722BE7717B04143CAF65EABCFEB116EC46DBF81E3B0163" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'JsonLogFileFormatTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/LogFileFormat/JsonLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 79 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 47, + "charOffset": 124, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "490DA67DCBEE140CAB6704ABAAAEA82E4FE7EE4845F671663525F1E4D328A9CA" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'JsonMapper' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 114, + "startColumn": 20, + "endLine": 114, + "endColumn": 30, + "charOffset": 2606, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "40AD4E490CD2ECD2B773B086AE266BE054D47F616D216A8922DE9910F62466FC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'MarkdownlintCliJsonLogFileFormatTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintCliJsonLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 80 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 62, + "charOffset": 136, + "charLength": 37 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E7A5390F484A3C6985307ADFEDFE39BE63E6120FADDCF4C56852A51670169918" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'MarkdownlintCliLogFileFormatTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintCliLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 81 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 58, + "charOffset": 136, + "charLength": 33 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B2010BCF2317E5603B46769A9EE028F81BACB2C053B6DB9F5CBF3D06FA6D91B9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'MarkdownlintIssuesProviderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 82 + }, + "region": { + "startLine": 7, + "startColumn": 25, + "endLine": 7, + "endColumn": 56, + "charOffset": 193, + "charLength": 31 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4D0A0FACCCD7D46645A496E1AC6B415F6E335C13BEADACA9EF17CD0D4D2C1971" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'MarkdownlintIssuesSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 7, + "startColumn": 25, + "endLine": 7, + "endColumn": 56, + "charOffset": 184, + "charLength": 31 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D86F572D0E739B7CC49F6755D29EF34F0BA4A26D771E6B51062D5CE632A7F343" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'MarkdownlintRuleUrlResolverTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir", + "index": 83 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 57, + "charOffset": 69, + "charLength": 32 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CC51AEC60702EB4D8D72483A1464018C22FCF29805FAEEFAD9B8240C7302CA61" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'MarkdownlintV1LogFileFormatTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintV1LogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 84 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 57, + "charOffset": 136, + "charLength": 32 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "65ECDBFD5AD2727155F640ED4C90066570CF30ACB28F23C9A9CEF58124F4B168" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'MsBuildIssuesProviderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/MsBuildIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 85 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 51, + "charOffset": 146, + "charLength": 26 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8234548088EEF3533173C63D4726E5106D231B63134ED7A538CBFCAC09062A1A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'MsBuildIssuesSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/MsBuildIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 7 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 51, + "charOffset": 137, + "charLength": 26 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BF58BE2BFE2ADBD105220448B53126807EF2AAEACE2EF280FA97DCEA4FB3164A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'MsBuildRuleUrlResolverTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/MsBuildRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir", + "index": 86 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 52, + "charOffset": 64, + "charLength": 27 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "39A9C8812FB87CE505226EEBC1B8EC76CD0FD6F85C1C6E4FADB127EB10F47A9D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'OrchestratorTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorTests.cs", + "uriBaseId": "solutionDir", + "index": 87 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 42, + "charOffset": 139, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C6CA5DB15BDBFA13F6E3ED58A59F1568CB4C57506A715C5A9124BC920548B949" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'PullRequestDiscussionThreadTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 57, + "charOffset": 114, + "charLength": 32 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "89D569AD68126FC3A9C6E7E870FA670D18D25D4F3E46546B87B585C401B89525" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'PullRequestIssueResultTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestIssueResultTests.cs", + "uriBaseId": "solutionDir", + "index": 89 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 52, + "charOffset": 69, + "charLength": 27 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "25BB6C735C7669CABDC2E90AB1C99B165FF23AEE108A8AC4E545C10D2E3E8B6B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'ReadIssuesSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/ReadIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 90 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 48, + "charOffset": 83, + "charLength": 23 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5DB52B83F837F7E020916EA351AF76E4668B09CB120FEB01D7D94DBD08ABFC9F" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'ReportIssuesToPullRequestSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/ReportIssuesToPullRequestSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 91 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 63, + "charOffset": 96, + "charLength": 38 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "156E2648E7E9C60F98DDB33669293408233229DE9B4EAB5D2FD3E02055785AB9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'RepositorySettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/RepositorySettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 92 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 48, + "charOffset": 83, + "charLength": 23 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E79538C68FB2D6A64C81426617C732D01464F5806857B519CB1356B3BCF071D9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'ResourceTempFileTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Testing/ResourceTempFileTests.cs", + "uriBaseId": "solutionDir", + "index": 93 + }, + "region": { + "startLine": 4, + "startColumn": 25, + "endLine": 4, + "endColumn": 46, + "charOffset": 86, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A297CA8636D7D59B0465A55E516DCC0AE60D50BB2FCE9CC547CAF1EC54C55192" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'SarifIssueReportGeneratorTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif.Tests/SarifIssueReportGeneratorTests.cs", + "uriBaseId": "solutionDir", + "index": 94 + }, + "region": { + "startLine": 6, + "startColumn": 25, + "endLine": 6, + "endColumn": 55, + "charOffset": 143, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2934A099A881EDB2D8718EA93BDAE2B6A0C1EE4DC204BBE1204F96FE7FD9487F" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'SarifIssuesProviderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Sarif.Tests/SarifIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 95 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 49, + "charOffset": 62, + "charLength": 24 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "47C04544FB2EFE637AAE3924F41BF5A986C39364B21B5D14A34B7635CAF7C239" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'SarifIssuesSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Sarif.Tests/SarifIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 96 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 49, + "charOffset": 89, + "charLength": 24 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8A7F523A2C2E6DFD733B4A8AE1AEC8198EDA767E5C8B5B386D9F5691B1E2E00A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'SerializableIssueExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/SerializableIssueExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 97 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 57, + "charOffset": 110, + "charLength": 32 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BD45CA53CF3BE579CDCDB105B18820EFB5EA4040F77F8C49ECE6FC029EF2308A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'SerializableIssueV2ExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/SerializableIssueV2ExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 98 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 59, + "charOffset": 110, + "charLength": 34 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F4F1BE9757F17B9CA55A3BEA4AF520D7861ED5B5C970B913A6C254FE4B1A5DCC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'SerializableIssueV3ExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/SerializableIssueV3ExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 99 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 59, + "charOffset": 110, + "charLength": 34 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A9D3027893EA84A1DA6054FF9143A097ED01A2C5E2145F126BCFB3F7CDED5E7D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'SerializableIssueV4ExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/SerializableIssueV4ExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 100 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 59, + "charOffset": 110, + "charLength": 34 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F36F759C3CB0756CCEED5CF79B71B9803653798395B88B786635EF71EE12B3E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'StringPathExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 50, + "charOffset": 101, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "571404ECA399E43098BFCB4EFFCDB0F9319572CD1CDA817CC070218BD67ACF74" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'TerraformProviderTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 102 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 47, + "charOffset": 111, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1EEE5E386E2B65FE1FAEF61260F1A75F5119996A328DEE7A488106BE6C700E72" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'TerraformSettingsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 47, + "charOffset": 93, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D7540499333A38E7885CBA8B5066EC6850E9E563076F924DA67BBA6D986BA1D9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'TheCtor' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 7, + "startColumn": 29, + "endLine": 7, + "endColumn": 36, + "charOffset": 148, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "381951798A34A7B000EC6A0CDE87202D9349CB223CD7AA2FCC07D0851DEFC5CB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'TheFilterIssuesByNumberMethod' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueFiltererTests.cs", + "uriBaseId": "solutionDir", + "index": 71 + }, + "region": { + "startLine": 377, + "startColumn": 33, + "endLine": 377, + "endColumn": 62, + "charOffset": 16067, + "charLength": 29 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6B76880B73D7661C8B813EF73F715EEDEEA056773C147F44E0D3A70DA5307344" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'UriExtensionsTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/UriExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 103 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 43, + "charOffset": 56, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3556C081B4C05672E214A1D2B7558964B15EA1C7C2CBB7CD4792B50E260087C2" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ClassNeverInstantiated.Global", + "ruleIndex": 10, + "level": "note", + "message": { + "text": "Class 'XmlFileLoggerLogFileFormatTests' is never instantiated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/LogFileFormat/XmlFileLoggerLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 104 + }, + "region": { + "startLine": 7, + "startColumn": 25, + "endLine": 7, + "endColumn": 56, + "charOffset": 203, + "charLength": 31 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "631801D1148F5261963E8F7AE6B3D722C6D251AB323CC0432220CBC3E47C18A5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'activeComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 28, + "startColumn": 21, + "endLine": 28, + "endColumn": 35, + "charOffset": 986, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B6A868530185605BD38959EBF5BB5E75D0A96CAD12AB51A5AA57486A74E2164A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'activeComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 45, + "startColumn": 21, + "endLine": 45, + "endColumn": 35, + "charOffset": 1683, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2FFF59DA815BAEC92AC92A82F57F557CA655373E0E9E6D9CEF92F41F8A7BE24B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'activeComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 85, + "startColumn": 21, + "endLine": 85, + "endColumn": 35, + "charOffset": 3387, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "626E872129205E927BCAC2392040C59220B52666AD4D66F57B49B858D2F44628" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'activeComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 105, + "startColumn": 21, + "endLine": 105, + "endColumn": 35, + "charOffset": 4274, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A259C0322B5B5296E878660110465029E2B9EDA9F830EB66C568B91087D5B505" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'discussionThreads' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseDiscussionThreadsCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 16, + "startColumn": 21, + "endLine": 16, + "endColumn": 38, + "charOffset": 486, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0533149724FECBA8A293F8D5FF20C2D722452F98D178F8D6438CF6441EB8B7D4" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'discussionThreads' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseDiscussionThreadsCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 33, + "startColumn": 21, + "endLine": 33, + "endColumn": 38, + "charOffset": 1119, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FA78D0751F9CEC1DB72E31C3126DB0C9E4D440B7CB8D5AA4AE4FAF713C96D7DE" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'discussionThreads' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseDiscussionThreadsCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 50, + "startColumn": 21, + "endLine": 50, + "endColumn": 38, + "charOffset": 1741, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F365B7B01CD80F72707B8EE31374C9B886ACB9E86D3086A673E064D9BA2CF43B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'discussionThreads' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseDiscussionThreadsCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 65, + "startColumn": 21, + "endLine": 65, + "endColumn": 38, + "charOffset": 2288, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F365B7B01CD80F72707B8EE31374C9B886ACB9E86D3086A673E064D9BA2CF43B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'discussionThreads' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseDiscussionThreadsCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 83, + "startColumn": 21, + "endLine": 83, + "endColumn": 38, + "charOffset": 2949, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "139179500A080C2C3FA5648D3337DC36878C6080C7807BC971E5B9F67BE0E115" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'discussionThreads' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseDiscussionThreadsCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 141, + "startColumn": 21, + "endLine": 141, + "endColumn": 38, + "charOffset": 5455, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "139179500A080C2C3FA5648D3337DC36878C6080C7807BC971E5B9F67BE0E115" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'discussionThreads' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseDiscussionThreadsCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 38 + }, + "region": { + "startLine": 223, + "startColumn": 21, + "endLine": 223, + "endColumn": 38, + "charOffset": 8977, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "139179500A080C2C3FA5648D3337DC36878C6080C7807BC971E5B9F67BE0E115" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'issues' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorTests.cs", + "uriBaseId": "solutionDir", + "index": 87 + }, + "region": { + "startLine": 18, + "startColumn": 21, + "endLine": 18, + "endColumn": 27, + "charOffset": 497, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "12E8F99AD669EBD6595E3AF6EB6BE2FB5CD3E4056F7F3B82B0D4BFE996B78DD1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'issues' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorTests.cs", + "uriBaseId": "solutionDir", + "index": 87 + }, + "region": { + "startLine": 63, + "startColumn": 21, + "endLine": 63, + "endColumn": 27, + "charOffset": 1963, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "12E8F99AD669EBD6595E3AF6EB6BE2FB5CD3E4056F7F3B82B0D4BFE996B78DD1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'issues' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorTests.cs", + "uriBaseId": "solutionDir", + "index": 87 + }, + "region": { + "startLine": 80, + "startColumn": 21, + "endLine": 80, + "endColumn": 27, + "charOffset": 2504, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "12E8F99AD669EBD6595E3AF6EB6BE2FB5CD3E4056F7F3B82B0D4BFE996B78DD1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'issues' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorTests.cs", + "uriBaseId": "solutionDir", + "index": 87 + }, + "region": { + "startLine": 94, + "startColumn": 21, + "endLine": 94, + "endColumn": 27, + "charOffset": 2966, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "904AA9DA7A79659CFA1BBBB58A468BC8A4DA9F9E2D837632EEA56AA59FD4AEC3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'issues' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorTests.cs", + "uriBaseId": "solutionDir", + "index": 87 + }, + "region": { + "startLine": 108, + "startColumn": 21, + "endLine": 108, + "endColumn": 27, + "charOffset": 3409, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "904AA9DA7A79659CFA1BBBB58A468BC8A4DA9F9E2D837632EEA56AA59FD4AEC3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'issues' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1628, + "startColumn": 21, + "endLine": 1628, + "endColumn": 27, + "charOffset": 61935, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "004C73613CB18A663B9FCAF3E5155C7BCF9A8CF8F51B522F0466B2E999EABDBB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'modifiedFiles' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseFilteringByModifiedFilesCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 16, + "startColumn": 21, + "endLine": 16, + "endColumn": 34, + "charOffset": 493, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "26EBEEE27A905FF0113D36D30E7094BE6BE2D5AF17651861F85DA1E76C272671" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'modifiedFiles' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseFilteringByModifiedFilesCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 33, + "startColumn": 21, + "endLine": 33, + "endColumn": 34, + "charOffset": 1105, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0BFD4C481E2CB539276988075CA61F1CEE23998D1E393D30780CE8405C207CDF" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'modifiedFiles' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseFilteringByModifiedFilesCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 50, + "startColumn": 21, + "endLine": 50, + "endColumn": 34, + "charOffset": 1706, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3660358A18014F52C38B3FE3F3A473F4F531488EFF2093BFFF3816B6696AA1BB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'modifiedFiles' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseFilteringByModifiedFilesCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 65, + "startColumn": 21, + "endLine": 65, + "endColumn": 34, + "charOffset": 2232, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3660358A18014F52C38B3FE3F3A473F4F531488EFF2093BFFF3816B6696AA1BB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'modifiedFiles' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseFilteringByModifiedFilesCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 83, + "startColumn": 21, + "endLine": 83, + "endColumn": 34, + "charOffset": 2879, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BC8B4113531057D7D3E775338CE3331CC217E5D9B4017E647384A85DB48B7CA9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'resolvedComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 13, + "startColumn": 21, + "endLine": 13, + "endColumn": 37, + "charOffset": 461, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1BBE849A3045B23338E8B447E93852839450970CF6BC7FB2395E0BADDBC36EA0" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'resolvedComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 30, + "startColumn": 21, + "endLine": 30, + "endColumn": 37, + "charOffset": 1157, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "16189EF32E88EDF119B99F8F03D39A79E1FFCB465B6DBE4B322226988C3BCE52" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'resolvedComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 67, + "startColumn": 21, + "endLine": 67, + "endColumn": 37, + "charOffset": 2687, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1BBE849A3045B23338E8B447E93852839450970CF6BC7FB2395E0BADDBC36EA0" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'resolvedComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 87, + "startColumn": 21, + "endLine": 87, + "endColumn": 37, + "charOffset": 3571, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FED5DF8809053E8280D6E5F7174A85796653AE13DB9FB40443F5B02DCCB0B1D9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'value' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssuesArgumentChecksTests.cs", + "uriBaseId": "solutionDir", + "index": 76 + }, + "region": { + "startLine": 156, + "startColumn": 21, + "endLine": 156, + "endColumn": 26, + "charOffset": 4564, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A712DA68BC9B667B3246C38725B2C1B24A42C8BB5A06009C2135E6E740A50D29" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'value' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssuesArgumentChecksTests.cs", + "uriBaseId": "solutionDir", + "index": 76 + }, + "region": { + "startLine": 200, + "startColumn": 21, + "endLine": 200, + "endColumn": 26, + "charOffset": 5814, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A712DA68BC9B667B3246C38725B2C1B24A42C8BB5A06009C2135E6E740A50D29" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'value' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssuesArgumentChecksTests.cs", + "uriBaseId": "solutionDir", + "index": 76 + }, + "region": { + "startLine": 255, + "startColumn": 21, + "endLine": 255, + "endColumn": 26, + "charOffset": 7370, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A712DA68BC9B667B3246C38725B2C1B24A42C8BB5A06009C2135E6E740A50D29" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'wontFixComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 12, + "startColumn": 21, + "endLine": 12, + "endColumn": 36, + "charOffset": 379, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7160264840EE005C4C97D6777DAD3966E385B31744ABAAB552B85F6CC8A57561" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'wontFixComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 46, + "startColumn": 21, + "endLine": 46, + "endColumn": 36, + "charOffset": 1764, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "941A4854F544BA2E4ED83EF2A0E49F3617DB1A197692F54EE00D5EE4B29C7699" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'wontFixComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 66, + "startColumn": 21, + "endLine": 66, + "endColumn": 36, + "charOffset": 2605, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EA1C498715CE6B7F31501562F5305F3C5045AE46388E6614E182285F2AE724FC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "CollectionNeverUpdated.Local", + "ruleIndex": 11, + "message": { + "text": "Content of collection 'wontFixComments' is never updated" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 106, + "startColumn": 21, + "endLine": 106, + "endColumn": 36, + "charOffset": 4355, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9354061B7FF0A7D95D51FB6FDD8D35A6B9C7B83A70734978E376E8E776473690" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ConditionIsAlwaysTrueOrFalse", + "ruleIndex": 12, + "message": { + "text": "Expression is always false" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/IIssueComparer.cs", + "uriBaseId": "solutionDir", + "index": 105 + }, + "region": { + "startLine": 93, + "startColumn": 17, + "endLine": 93, + "endColumn": 28, + "charOffset": 3911, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "73829EB40ACF8904407A1122E62581267F61C58FA403F8654DD721EF98FFD5A3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConstantNullCoalescingCondition", + "ruleIndex": 13, + "message": { + "text": "'??' left operand is never null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 186, + "startColumn": 20, + "endLine": 186, + "endColumn": 78, + "charOffset": 7785, + "charLength": 58 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F92A3DDB74118347AE6989C408AA993FBDC359650810B4D64A92A6340237795A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertClosureToMethodGroup", + "ruleIndex": 14, + "level": "note", + "message": { + "text": "Convert into method group" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 51, + "startColumn": 36, + "endLine": 51, + "endColumn": 61, + "charOffset": 2154, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D20BDCB7F04C5C3ED7481516410000CBDCF2EBA7EC16271C1792873DC8A7B2CD" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertClosureToMethodGroup", + "ruleIndex": 14, + "level": "note", + "message": { + "text": "Convert into method group" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 55, + "startColumn": 36, + "endLine": 55, + "endColumn": 62, + "charOffset": 2351, + "charLength": 26 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FE99E8CDE59E33BE66F92A6364324AD0672467BFF594CB3C8B6AE417586004DB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertConstructorToMemberInitializers", + "ruleIndex": 15, + "level": "note", + "message": { + "text": "Convert constructor into member initializers" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir", + "index": 20 + }, + "region": { + "startLine": 23, + "startColumn": 16, + "endLine": 23, + "endColumn": 34, + "charOffset": 826, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BE4C5E65B519D46FDED15C356C1AD5F08287A56C31A0D88FB8F9F4BD508B8581" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ConvertConstructorToMemberInitializers", + "ruleIndex": 15, + "level": "note", + "message": { + "text": "Convert constructor into member initializers" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportFixture.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 10, + "startColumn": 16, + "endLine": 10, + "endColumn": 41, + "charOffset": 239, + "charLength": 25 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F65590DB407F9199A091722A17D953FEFD2E0FEAE3438D1D2DAC2928D3D3FAAB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ConvertConstructorToMemberInitializers", + "ruleIndex": 15, + "level": "note", + "message": { + "text": "Convert constructor into member initializers" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif.Tests/SarifIssueReportFixture.cs", + "uriBaseId": "solutionDir", + "index": 24 + }, + "region": { + "startLine": 10, + "startColumn": 16, + "endLine": 10, + "endColumn": 39, + "charOffset": 266, + "charLength": 23 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6A6D0B77A6C348D25D6472A6EB61361A3587FCD3CEA6B80DE2D91FF3C06BEEC6" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ConvertToAutoProperty", + "ruleIndex": 16, + "level": "note", + "message": { + "text": "Convert into auto-property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 56, + "startColumn": 21, + "endLine": 56, + "endColumn": 28, + "charOffset": 1214, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3FA990C8A381813903C1CDA66FEE2E617612F1719F532875252C2793731FFC79" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToAutoProperty", + "ruleIndex": 16, + "level": "note", + "message": { + "text": "Convert into auto-property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 62, + "startColumn": 21, + "endLine": 62, + "endColumn": 27, + "charOffset": 1344, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A7E6A4C7D760DC6AECA08D018E8CBCA9053159C55A8EB2AB76329EC25666C41E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToAutoProperty", + "ruleIndex": 16, + "level": "note", + "message": { + "text": "Convert into auto-property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 91, + "startColumn": 21, + "endLine": 91, + "endColumn": 33, + "charOffset": 1947, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "112F177366F14B9138899BCA620B20F75F887C75A20DEBDE4327857E97945C89" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToAutoProperty", + "ruleIndex": 16, + "level": "note", + "message": { + "text": "Convert into auto-property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 97, + "startColumn": 54, + "endLine": 97, + "endColumn": 64, + "charOffset": 2125, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "501F6AA02EB45AF0D47989E000ABEE079FCDDFC8EC505FF21208F8AEA33647E2" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToAutoProperty", + "ruleIndex": 16, + "level": "note", + "message": { + "text": "Convert into auto-property" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 84, + "startColumn": 21, + "endLine": 84, + "endColumn": 35, + "charOffset": 1943, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6C45F5A6C8ECBBD6BB6A314CA4E46462B8944465ABB0DA813360DAAF46C17856" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 629, + "startColumn": 28, + "endLine": 629, + "endColumn": 34, + "charOffset": 19613, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "224F360AD50B36D9646256CB0F8D23AD6F78F2FEFB169AC863263E413E05CFF4" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 691, + "startColumn": 17, + "endLine": 691, + "endColumn": 23, + "charOffset": 21990, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8F1CC5C2FA8B88AACDF82424CD0D3D7310322A20FDDCA22A82DBD5B85034F772" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 697, + "startColumn": 17, + "endLine": 697, + "endColumn": 23, + "charOffset": 22231, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E7059C3169A99DD542EA415C0120FF1809E8618AE8C0893266804D211507AA6C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 703, + "startColumn": 17, + "endLine": 703, + "endColumn": 23, + "charOffset": 22475, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "412E48E27773C852D01A2AF8FBDFF0A0C6E0CD6F12DE82ED31E6EAEBDBA52EBE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 709, + "startColumn": 17, + "endLine": 709, + "endColumn": 23, + "charOffset": 22717, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3439962389DB22A6E6F5FABF97FCD025254F05C447EC2ADD0FB3A34D69C1C539" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 715, + "startColumn": 17, + "endLine": 715, + "endColumn": 23, + "charOffset": 22960, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3D841AE64C013422D7047E029D5ECD387FCD87F6382780E545B6E47805418027" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 721, + "startColumn": 17, + "endLine": 721, + "endColumn": 23, + "charOffset": 23203, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EBF55656E144E25C9E181CCE1EDAC2119772D1339E44D374195CCE9E33DFA0DC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 727, + "startColumn": 17, + "endLine": 727, + "endColumn": 23, + "charOffset": 23448, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "140F2EDE211AB65470BB28B3B3E006A12521B9EEBF50CEC8E4F3EACF44498EEE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 733, + "startColumn": 17, + "endLine": 733, + "endColumn": 23, + "charOffset": 23691, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1A6C9E9B982435CA86D53FC9EA61F614D14813AF84AA0E76D517EEBB81A593E1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 739, + "startColumn": 17, + "endLine": 739, + "endColumn": 23, + "charOffset": 23935, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E32FFF4F9515EF698EB8D266D44E49D9F61B636CAFEB6DD5B3409D63C2327A0D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 745, + "startColumn": 17, + "endLine": 745, + "endColumn": 23, + "charOffset": 24180, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E543E3E2F7B264933AB668C1A89A0F71ADC8B453EAE1F169D8300C3030CAB491" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 751, + "startColumn": 17, + "endLine": 751, + "endColumn": 23, + "charOffset": 24433, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7D88B4F50D944A4E9DA89A0103AFBB6C6BEF4792803BFD8E610AA15C4DE0F85F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 757, + "startColumn": 17, + "endLine": 757, + "endColumn": 23, + "charOffset": 24669, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "805F7C0A54545927008628F17CDBC14E7C5C505BFB2EE74699FB1DE980594A94" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 763, + "startColumn": 17, + "endLine": 763, + "endColumn": 23, + "charOffset": 24914, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "187EE364BCE77C9AC48ACA5B0D1000AC28677B916AB4A88DE03F014F0A172602" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 769, + "startColumn": 17, + "endLine": 769, + "endColumn": 23, + "charOffset": 25161, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "79DEAF81BCF46879FE7C389E04BB9A447633FACAB1B2781BFA8F932B4D5ED239" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 775, + "startColumn": 17, + "endLine": 775, + "endColumn": 23, + "charOffset": 25433, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D9C9C3ABF5751E375B30593BDC0D3E1488075BF0B7F8B64D3F8B30CDB7C8421B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 988, + "startColumn": 28, + "endLine": 988, + "endColumn": 34, + "charOffset": 32279, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D982493113AD8DD11E13077154BA4F4B204F12380B15F738E9D933F97E3F6F7D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 996, + "startColumn": 28, + "endLine": 996, + "endColumn": 34, + "charOffset": 32531, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5272726B27E58E9E999790C77BF1F0A77C3C077414F373C9049A99463368FBDE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1002, + "startColumn": 28, + "endLine": 1002, + "endColumn": 34, + "charOffset": 32718, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DA0134FFABC2701A42677602E3EF233D43B5F7AE0B19F636A2100A2E4676DE14" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLambdaExpression", + "ruleIndex": 17, + "level": "note", + "message": { + "text": "Use lambda expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1060, + "startColumn": 21, + "endLine": 1060, + "endColumn": 27, + "charOffset": 34524, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "303CF0162A77CFDD471864323925490892449F5EA7550F9F2DCFC7D629567B30" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLocalFunction", + "ruleIndex": 18, + "level": "note", + "message": { + "text": "Use local function" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1047, + "startColumn": 26, + "endLine": 1047, + "endColumn": 42, + "charOffset": 34064, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8775E18C6396B7C0EAD707F67EE5E33B122369D8BB2477D784E6AFD4E17B176F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToLocalFunction", + "ruleIndex": 18, + "level": "note", + "message": { + "text": "Use local function" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1058, + "startColumn": 26, + "endLine": 1058, + "endColumn": 42, + "charOffset": 34441, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "74A7D53996C0C29BDE6216BB0B0057FD1554C0000097FB55CFB2373E7FED7A12" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ConvertToPrimaryConstructor", + "ruleIndex": 19, + "level": "note", + "message": { + "text": "Convert into primary constructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository.Tests/GitRunnerFixture.cs", + "uriBaseId": "solutionDir", + "index": 106 + }, + "region": { + "startLine": 9, + "startColumn": 16, + "endLine": 9, + "endColumn": 32, + "charOffset": 236, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6CAC918848E9A4AA7BB3E7368F1B72508A974C29C2DE23F3EFA7885B021C46DA" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ConvertToPrimaryConstructor", + "ruleIndex": 19, + "level": "note", + "message": { + "text": "Convert into primary constructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1131, + "startColumn": 16, + "endLine": 1131, + "endColumn": 43, + "charOffset": 29437, + "charLength": 27 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "08DFB110BF9DCA6BD3D3328E393079E15C66EA17427E032E77DA4DBD6F84FC81" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CoVariantArrayConversion", + "ruleIndex": 20, + "message": { + "text": "Co-variant array conversion from string[] to object?[] can cause run-time exception on write operation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Sarif/SarifIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 107 + }, + "region": { + "startLine": 127, + "startColumn": 33, + "endLine": 127, + "endColumn": 52, + "charOffset": 5036, + "charLength": 19 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3E04E8FFD0362760A5CCC1B910B38FB388DDFFED47F5BF59674A39AAF2517C8E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "CoVariantArrayConversion", + "ruleIndex": 20, + "message": { + "text": "Co-variant array conversion from string[] to object?[] can cause run-time exception on write operation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Sarif/SarifIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 107 + }, + "region": { + "startLine": 136, + "startColumn": 33, + "endLine": 136, + "endColumn": 52, + "charOffset": 5406, + "charLength": 19 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BA3CC5F134A308FFB159B69EC82B6A09DB0642A18C127D362BB4F9A142D741E7" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "EmptyStatement", + "ruleIndex": 21, + "message": { + "text": "Empty statement is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml", + "uriBaseId": "solutionDir", + "index": 2 + }, + "region": { + "startLine": 103, + "startColumn": 46, + "endLine": 103, + "endColumn": 47, + "charOffset": 44885, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "ED80196DFFB1059B2C92FF44807DA9B1B179B72C1908EB992D8CEC66FDFF681B" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 18, + "startColumn": 45, + "endLine": 18, + "endColumn": 56, + "charOffset": 524, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F65DDD78532E482FC9DA226817608357EE865DCA4ED0B639C23B2577638A9484" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 34, + "startColumn": 68, + "endLine": 34, + "endColumn": 79, + "charOffset": 1135, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43800E61F1A5DFBBFA7AB5F71FFB0C58C192CC73DD0682F740920C793C97559F" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 49, + "startColumn": 77, + "endLine": 49, + "endColumn": 91, + "charOffset": 1629, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C948C4B6278B82068B0F0944572C2C859C4F524D49DEDE55B91EF144044EFF25" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 64, + "startColumn": 61, + "endLine": 64, + "endColumn": 72, + "charOffset": 2165, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A14D23645B4E9FB4D41E8EC75507DD3E1932B31FA411026390FC2CC99E3A08D0" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 57 + }, + "region": { + "startLine": 21, + "startColumn": 78, + "endLine": 21, + "endColumn": 81, + "charOffset": 673, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FFD3C7A7A1ABA87E1779BBB42B7F1A2349D8F391A3A25E4597A71172E2B65A0C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 57 + }, + "region": { + "startLine": 35, + "startColumn": 83, + "endLine": 35, + "endColumn": 91, + "charOffset": 1132, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FFD3C7A7A1ABA87E1779BBB42B7F1A2349D8F391A3A25E4597A71172E2B65A0C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 19, + "startColumn": 46, + "endLine": 19, + "endColumn": 57, + "charOffset": 580, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BDEB55B5DCE78F68E95E00C2F79430743229424164CC71EF6832D32BBDEDD444" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 35, + "startColumn": 69, + "endLine": 35, + "endColumn": 75, + "charOffset": 1218, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0FE483CB4DA0D60518EC28799C6F2EFD596AC60615690807626E18B617023200" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 51, + "startColumn": 46, + "endLine": 51, + "endColumn": 60, + "charOffset": 1726, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C3877D5066875DFF1FDFA01F6267EEC9FB870E9DDC404BEE11A80B7EFA9FC5DB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 5 + }, + "region": { + "startLine": 66, + "startColumn": 62, + "endLine": 66, + "endColumn": 68, + "charOffset": 2258, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C3877D5066875DFF1FDFA01F6267EEC9FB870E9DDC404BEE11A80B7EFA9FC5DB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository.Tests/IssueBuilderExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 66 + }, + "region": { + "startLine": 15, + "startColumn": 53, + "endLine": 15, + "endColumn": 65, + "charOffset": 504, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "830FB1C7E3A2314F6DC91428656CE2FB92C164177018C45020AA0745C5D27A7E" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository.Tests/IssueBuilderExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 66 + }, + "region": { + "startLine": 29, + "startColumn": 73, + "endLine": 29, + "endColumn": 88, + "charOffset": 1062, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "830FB1C7E3A2314F6DC91428656CE2FB92C164177018C45020AA0745C5D27A7E" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 82 + }, + "region": { + "startLine": 20, + "startColumn": 25, + "endLine": 20, + "endColumn": 28, + "charOffset": 592, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8253E2EAFB32F1E26631E5DE4CAA7B8E3424048BCC019700E4C18055246A68FC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 20, + "startColumn": 52, + "endLine": 20, + "endColumn": 63, + "charOffset": 651, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "988C42BCA6DA4FA186FF789882E44C4EC6B965AC90A8F7D909620B0118C832AB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 36, + "startColumn": 75, + "endLine": 36, + "endColumn": 81, + "charOffset": 1312, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9BB66B7000B26615C0E78D456E3514D7BB10161CAF6488F32CC92C6A676AA765" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 52, + "startColumn": 52, + "endLine": 52, + "endColumn": 66, + "charOffset": 1836, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1F9EE8E1CD0AC4A27F8C9E76FBCE9EDBD543DFF00FB9FA78FCD80DC038D5EF3A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 6 + }, + "region": { + "startLine": 67, + "startColumn": 68, + "endLine": 67, + "endColumn": 74, + "charOffset": 2380, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1F9EE8E1CD0AC4A27F8C9E76FBCE9EDBD543DFF00FB9FA78FCD80DC038D5EF3A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/AppVeyorBuildSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 32 + }, + "region": { + "startLine": 15, + "startColumn": 79, + "endLine": 15, + "endColumn": 93, + "charOffset": 501, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "168681DF4880BCDB490954A45C0A0C189881F5A2E77A5448F102EFC086B761BC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/AppVeyorBuildSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 32 + }, + "region": { + "startLine": 29, + "startColumn": 79, + "endLine": 29, + "endColumn": 93, + "charOffset": 961, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C60B483ABD1B646DDBE5BEA6A30FEE0BBB057931A43E943E6D280B0240CEB437" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir", + "index": 69 + }, + "region": { + "startLine": 18, + "startColumn": 46, + "endLine": 18, + "endColumn": 60, + "charOffset": 670, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7E9398C61405DD478694F1CDFDDD1132424883F8D35707D6367A4E223069DF04" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Sarif.Tests/SarifIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 96 + }, + "region": { + "startLine": 16, + "startColumn": 77, + "endLine": 16, + "endColumn": 88, + "charOffset": 443, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F7FA888FFC07B81837F3BA57E75D3A9A1B9ABFE252DA0D230C88EE20B1AAEFDE" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Sarif.Tests/SarifIssuesSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 96 + }, + "region": { + "startLine": 29, + "startColumn": 77, + "endLine": 29, + "endColumn": 91, + "charOffset": 844, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BC2013E37E021665D906C14EAC11415C85C7A62D6A77583489F4A32C1180C847" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 18, + "startColumn": 49, + "endLine": 18, + "endColumn": 71, + "charOffset": 564, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "03B6D0C43642D3256023AFBC7912B87A64D1094D550A6175177A2C15E4C140EF" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 34, + "startColumn": 72, + "endLine": 34, + "endColumn": 89, + "charOffset": 1223, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "94AFEE9779B15D1381FDB1A7144EACD913B640D9E59CF6D1E76D694774DE7EB3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 49, + "startColumn": 81, + "endLine": 49, + "endColumn": 95, + "charOffset": 1739, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1EC750956D545A3B0AF1AEEADED22C8B5C6C2E45829A177A4CD9D88C7CAB636F" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 64, + "startColumn": 65, + "endLine": 64, + "endColumn": 82, + "charOffset": 2297, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B55D53C2F5F8391BB17B8D8AAF01C161DA36444EC77EAD75AF2D3D270024961B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1703, + "startColumn": 63, + "endLine": 1703, + "endColumn": 71, + "charOffset": 57902, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E82ECEBDC38416C5F1A21D71C3D89832019A14352CC298A93C7533C5E8F6A210" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1706, + "startColumn": 41, + "endLine": 1706, + "endColumn": 49, + "charOffset": 57997, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "29FBDA8C9E9180A39EF310D080407EDCC367C2A68604396C2CD96917C884E5C8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1051, + "startColumn": 29, + "endLine": 1051, + "endColumn": 33, + "charOffset": 47403, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "44299DFD63FBDD393EF75151D8B42F20508422FC18BD95095F97FED13AFD9A11" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1052, + "startColumn": 29, + "endLine": 1052, + "endColumn": 36, + "charOffset": 47438, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43457F056F20183E7AE9886E577CCE6B8840622615AEABC38AB57734AA7536C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1053, + "startColumn": 29, + "endLine": 1053, + "endColumn": 35, + "charOffset": 47476, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1054, + "startColumn": 29, + "endLine": 1054, + "endColumn": 38, + "charOffset": 47513, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1106, + "startColumn": 29, + "endLine": 1106, + "endColumn": 33, + "charOffset": 49800, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "44299DFD63FBDD393EF75151D8B42F20508422FC18BD95095F97FED13AFD9A11" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1107, + "startColumn": 29, + "endLine": 1107, + "endColumn": 36, + "charOffset": 49835, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43457F056F20183E7AE9886E577CCE6B8840622615AEABC38AB57734AA7536C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1108, + "startColumn": 29, + "endLine": 1108, + "endColumn": 35, + "charOffset": 49873, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1109, + "startColumn": 29, + "endLine": 1109, + "endColumn": 38, + "charOffset": 49910, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1161, + "startColumn": 29, + "endLine": 1161, + "endColumn": 33, + "charOffset": 52202, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "44299DFD63FBDD393EF75151D8B42F20508422FC18BD95095F97FED13AFD9A11" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1162, + "startColumn": 29, + "endLine": 1162, + "endColumn": 36, + "charOffset": 52237, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43457F056F20183E7AE9886E577CCE6B8840622615AEABC38AB57734AA7536C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1163, + "startColumn": 29, + "endLine": 1163, + "endColumn": 35, + "charOffset": 52275, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1164, + "startColumn": 29, + "endLine": 1164, + "endColumn": 38, + "charOffset": 52312, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1284, + "startColumn": 29, + "endLine": 1284, + "endColumn": 36, + "charOffset": 57871, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43457F056F20183E7AE9886E577CCE6B8840622615AEABC38AB57734AA7536C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1285, + "startColumn": 29, + "endLine": 1285, + "endColumn": 35, + "charOffset": 57909, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1286, + "startColumn": 29, + "endLine": 1286, + "endColumn": 38, + "charOffset": 57946, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1339, + "startColumn": 29, + "endLine": 1339, + "endColumn": 36, + "charOffset": 60356, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43457F056F20183E7AE9886E577CCE6B8840622615AEABC38AB57734AA7536C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1340, + "startColumn": 29, + "endLine": 1340, + "endColumn": 35, + "charOffset": 60394, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1341, + "startColumn": 29, + "endLine": 1341, + "endColumn": 38, + "charOffset": 60431, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1394, + "startColumn": 29, + "endLine": 1394, + "endColumn": 36, + "charOffset": 62774, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43457F056F20183E7AE9886E577CCE6B8840622615AEABC38AB57734AA7536C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1395, + "startColumn": 29, + "endLine": 1395, + "endColumn": 35, + "charOffset": 62812, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1396, + "startColumn": 29, + "endLine": 1396, + "endColumn": 38, + "charOffset": 62849, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1397, + "startColumn": 29, + "endLine": 1397, + "endColumn": 37, + "charOffset": 62889, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "097CD90C900D4B7E64DC1092E3947F3057567C23538D521F9C898FB503FEA53B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1448, + "startColumn": 29, + "endLine": 1448, + "endColumn": 33, + "charOffset": 65202, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "44299DFD63FBDD393EF75151D8B42F20508422FC18BD95095F97FED13AFD9A11" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1449, + "startColumn": 29, + "endLine": 1449, + "endColumn": 36, + "charOffset": 65237, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43457F056F20183E7AE9886E577CCE6B8840622615AEABC38AB57734AA7536C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1450, + "startColumn": 29, + "endLine": 1450, + "endColumn": 35, + "charOffset": 65275, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1451, + "startColumn": 29, + "endLine": 1451, + "endColumn": 38, + "charOffset": 65312, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1467, + "startColumn": 41, + "endLine": 1467, + "endColumn": 45, + "charOffset": 65931, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5385A43517BA88F130C469B06D93363E8E3387DE9B8A6B966348CC0DDFF1C7E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1505, + "startColumn": 29, + "endLine": 1505, + "endColumn": 36, + "charOffset": 67717, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43457F056F20183E7AE9886E577CCE6B8840622615AEABC38AB57734AA7536C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1564, + "startColumn": 29, + "endLine": 1564, + "endColumn": 35, + "charOffset": 70313, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1565, + "startColumn": 29, + "endLine": 1565, + "endColumn": 38, + "charOffset": 70350, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1619, + "startColumn": 29, + "endLine": 1619, + "endColumn": 35, + "charOffset": 72807, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1620, + "startColumn": 29, + "endLine": 1620, + "endColumn": 38, + "charOffset": 72844, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1672, + "startColumn": 29, + "endLine": 1672, + "endColumn": 33, + "charOffset": 75237, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "44299DFD63FBDD393EF75151D8B42F20508422FC18BD95095F97FED13AFD9A11" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1674, + "startColumn": 29, + "endLine": 1674, + "endColumn": 35, + "charOffset": 75310, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1675, + "startColumn": 29, + "endLine": 1675, + "endColumn": 38, + "charOffset": 75347, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1729, + "startColumn": 29, + "endLine": 1729, + "endColumn": 35, + "charOffset": 77814, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1730, + "startColumn": 29, + "endLine": 1730, + "endColumn": 38, + "charOffset": 77851, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1783, + "startColumn": 29, + "endLine": 1783, + "endColumn": 36, + "charOffset": 80248, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43457F056F20183E7AE9886E577CCE6B8840622615AEABC38AB57734AA7536C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1784, + "startColumn": 29, + "endLine": 1784, + "endColumn": 35, + "charOffset": 80286, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1785, + "startColumn": 29, + "endLine": 1785, + "endColumn": 38, + "charOffset": 80323, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1801, + "startColumn": 44, + "endLine": 1801, + "endColumn": 51, + "charOffset": 80945, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "01E3E70EF05D5D6487CF55FDDED9368B44EF7980BDCABA502F37668EE66B960E" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1839, + "startColumn": 29, + "endLine": 1839, + "endColumn": 35, + "charOffset": 82751, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1840, + "startColumn": 29, + "endLine": 1840, + "endColumn": 38, + "charOffset": 82788, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1954, + "startColumn": 29, + "endLine": 1954, + "endColumn": 38, + "charOffset": 87844, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2009, + "startColumn": 29, + "endLine": 2009, + "endColumn": 38, + "charOffset": 90339, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2061, + "startColumn": 29, + "endLine": 2061, + "endColumn": 33, + "charOffset": 92730, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "44299DFD63FBDD393EF75151D8B42F20508422FC18BD95095F97FED13AFD9A11" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2062, + "startColumn": 29, + "endLine": 2062, + "endColumn": 36, + "charOffset": 92765, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "43457F056F20183E7AE9886E577CCE6B8840622615AEABC38AB57734AA7536C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2064, + "startColumn": 29, + "endLine": 2064, + "endColumn": 38, + "charOffset": 92840, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2118, + "startColumn": 29, + "endLine": 2118, + "endColumn": 35, + "charOffset": 95276, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2119, + "startColumn": 29, + "endLine": 2119, + "endColumn": 38, + "charOffset": 95313, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2135, + "startColumn": 43, + "endLine": 2135, + "endColumn": 49, + "charOffset": 95934, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EBCDDA7599AE94FA5E6164AE55F7417F09F56229E8FA4F5D39673F1CB8D8BDFD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2176, + "startColumn": 29, + "endLine": 2176, + "endColumn": 38, + "charOffset": 97836, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2343, + "startColumn": 29, + "endLine": 2343, + "endColumn": 35, + "charOffset": 105390, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2453, + "startColumn": 29, + "endLine": 2453, + "endColumn": 35, + "charOffset": 110383, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C43283A94AD787EDABA2C21688E8B9B99D8BC8E81322A532D4BF9ED90FCB039" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2454, + "startColumn": 29, + "endLine": 2454, + "endColumn": 38, + "charOffset": 110420, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8D081B79D89E4942D3C4BD1D48BD8D800A76FBA0EC29F3B64849BF14119833B7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 2470, + "startColumn": 46, + "endLine": 2470, + "endColumn": 55, + "charOffset": 111044, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "779E43429EDE96EAE40BCAEC4ACB1AADBA39A54A124AD6D6001DC44551BB79C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1632, + "startColumn": 80, + "endLine": 1632, + "endColumn": 88, + "charOffset": 62114, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "501E1E6DEFC669CAEC95FA4F7ED96855B7EE3A0ECA531342C02FC13323A710B8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ExpressionIsAlwaysNull", + "ruleIndex": 22, + "message": { + "text": "Expression is always null" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/UriExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 103 + }, + "region": { + "startLine": 16, + "startColumn": 21, + "endLine": 16, + "endColumn": 24, + "charOffset": 432, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B17B62ABDB9AD07EE3F47AB633F6ABED778D36EF00B1DA7D13790CA1FB9B7304" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "FieldCanBeMadeReadOnly.Local", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Field can be made readonly" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1103, + "startColumn": 53, + "endLine": 1103, + "endColumn": 68, + "charOffset": 28832, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B6326136D51296B45B20396644448F813B75AB222D76B2EB1341657142BC610B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "FieldCanBeMadeReadOnly.Local", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Field can be made readonly" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 54, + "startColumn": 28, + "endLine": 54, + "endColumn": 43, + "charOffset": 1024, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "85A6DAAF521ABB86E75518405D777192D6EC657C1E2E8B9CF01BEA0489C25871" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "FieldCanBeMadeReadOnly.Local", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Field can be made readonly" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 59, + "startColumn": 23, + "endLine": 59, + "endColumn": 28, + "charOffset": 1208, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E1CA08580DB1F1050BEED6172B1CD8E996EC56FDB59EC67A73B71940E6F4B0EE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "FieldCanBeMadeReadOnly.Local", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Field can be made readonly" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 64, + "startColumn": 22, + "endLine": 64, + "endColumn": 37, + "charOffset": 1386, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "811D21141EF6F41F9D4075C2400A6CC74A4D1AE3832048437734706BAD7A7041" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "FieldCanBeMadeReadOnly.Local", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Field can be made readonly" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 56, + "startColumn": 31, + "endLine": 56, + "endColumn": 50, + "charOffset": 1314, + "charLength": 19 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "59588EEDAF8872A1BC7E86E730A9409E421B56F2D9FE37B35C16CA9BF4B4FFF0" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "FieldCanBeMadeReadOnly.Local", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Field can be made readonly" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 60, + "startColumn": 28, + "endLine": 60, + "endColumn": 34, + "charOffset": 1476, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5195F278F300A8956380C72A5A434A24A4CD1AE83ED54C66B3E576060FDFCA32" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "FieldCanBeMadeReadOnly.Local", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Field can be made readonly" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 46, + "startColumn": 28, + "endLine": 46, + "endColumn": 39, + "charOffset": 1129, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B7B77F8D69FDDE05EF0A243888AB185CA5D4EC1DD98C6A05B1A209C44A0E7ABE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "FieldCanBeMadeReadOnly.Local", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Field can be made readonly" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 49, + "startColumn": 28, + "endLine": 49, + "endColumn": 34, + "charOffset": 1238, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "80A7D57374B976D0BC9C1354A286CBDF778686B626C65072D686E9833A8C3720" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "FieldCanBeMadeReadOnly.Local", + "ruleIndex": 23, + "level": "note", + "message": { + "text": "Field can be made readonly" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 51, + "startColumn": 31, + "endLine": 51, + "endColumn": 44, + "charOffset": 1305, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A07D436C872116809C7165F01514EC2CAF2839A62B15B935B258FE87D9C16512" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "HeuristicUnreachableCode", + "ruleIndex": 24, + "message": { + "text": "Code is heuristically unreachable" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/IIssueComparer.cs", + "uriBaseId": "solutionDir", + "index": 105 + }, + "region": { + "startLine": 94, + "startColumn": 13, + "endLine": 96, + "endColumn": 14, + "charOffset": 3937, + "charLength": 43 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3606A2682389A7539C32F6C2B00E2F8F678119D34F4B76C2894148AF18DD28F9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "HeuristicUnreachableCode", + "ruleIndex": 24, + "message": { + "text": "Code is heuristically unreachable" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/IIssueComparer.cs", + "uriBaseId": "solutionDir", + "index": 105 + }, + "region": { + "startLine": 95, + "startColumn": 17, + "endLine": 95, + "endColumn": 26, + "charOffset": 3956, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "ABD6C42FFD60B9DABF3A3E2D05A5088E734B374814A68BBE14EB4D4BD1E0CD8D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentlySynchronizedField", + "ruleIndex": 25, + "message": { + "text": "The field is sometimes used inside synchronized block and sometimes used without synchronization" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 322, + "startColumn": 17, + "endLine": 322, + "endColumn": 25, + "charOffset": 9534, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B1B42EDC44B037CA2CB6ED6D4B02A87FF5762B2DF618C4853CACA15DA6DD327A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentlySynchronizedField", + "ruleIndex": 25, + "message": { + "text": "The field is sometimes used inside synchronized block and sometimes used without synchronization" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 323, + "startColumn": 24, + "endLine": 323, + "endColumn": 32, + "charOffset": 9588, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C4F9AF0E3A0C8974DD03FE2C4A3CF9C441A00939C4D8870316A20FE4A1A78993" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'add_comma' does not match rule 'Parameters'. Suggested name is 'addComma'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 233, + "startColumn": 38, + "endLine": 233, + "endColumn": 47, + "charOffset": 6108, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AA672209EABFF203440F75A97E66BDDB8C14CA3AD794B98C12FF02BC8370E9A0" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'allow_comments' does not match rule 'Instance fields (private)'. Suggested name is 'allowComments'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 43, + "startColumn": 22, + "endLine": 43, + "endColumn": 36, + "charOffset": 998, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A062185AEF5E413AB739AF0962C24CCEAC8A47C6E367260FEB446738B34B91B4" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'allow_single_quoted_strings' does not match rule 'Instance fields (private)'. Suggested name is 'allowSingleQuotedStrings'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 44, + "startColumn": 22, + "endLine": 44, + "endColumn": 49, + "charOffset": 1036, + "charLength": 27 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "21903EED69B9B0B190FD063FE0B307D6E23FC317EF5D31ED86FC6545FF0DB0B8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'array_metadata' does not match rule 'Static readonly fields (private)'. Suggested name is 'ArrayMetadata'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 129, + "startColumn": 66, + "endLine": 129, + "endColumn": 80, + "charOffset": 3268, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7CE4AEC0DDE0EE2B00145399336E4031F0D09BA35C1DB97306A7475DD0F0F3E3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'array_metadata_lock' does not match rule 'Static readonly fields (private)'. Suggested name is 'ArrayMetadataLock'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 130, + "startColumn": 40, + "endLine": 130, + "endColumn": 59, + "charOffset": 3324, + "charLength": 19 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7B9176D55B0C1BD3EEA71FDC3A515B4AA4A51D83F6DE1ACB4381E449E24E08B8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'base_exporters_table' does not match rule 'Static readonly fields (private)'. Suggested name is 'BaseExportersTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 121, + "startColumn": 65, + "endLine": 121, + "endColumn": 85, + "charOffset": 2839, + "charLength": 20 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5D1EBA089EEFBFC703A41E186045F681BC6DDCBAC0A2067DF18DB2A50D595C10" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'base_importers_table' does not match rule 'Static readonly fields (private)'. Suggested name is 'BaseImportersTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 125, + "startColumn": 50, + "endLine": 125, + "endColumn": 70, + "charOffset": 3053, + "charLength": 20 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "55E9ED1629122F056BF56872D723D8B9A7E273525AFC4BF9FE83989DA1310AD5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'column' does not match rule 'Instance fields (not private)'. Suggested name is 'Column'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/EsLintDataContracts.cs", + "uriBaseId": "solutionDir", + "index": 108 + }, + "region": { + "startLine": 37, + "startColumn": 20, + "endLine": 37, + "endColumn": 26, + "charOffset": 920, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "616E05D14A133F28C07AFA62F137EEE3C5BCDB2C1ABCF60BA1F1D7D2DEC41981" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'column' does not match rule 'Instance fields (not private)'. Suggested name is 'Column'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 64, + "startColumn": 20, + "endLine": 64, + "endColumn": 26, + "charOffset": 1469, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E7BACE6C859EF3F5D7C40AA8AA58DBDA59B2696A0E8E9C5D7C3B58B084464853" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'conv_op' does not match rule 'Local variables'. Suggested name is 'convOp'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 416, + "startColumn": 28, + "endLine": 416, + "endColumn": 35, + "charOffset": 12663, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C7E602B9537A3494581DD902A73FD3F9FAF19C906A3FC6BACDE3C3462FEC19CB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'conv_ops' does not match rule 'Static readonly fields (private)'. Suggested name is 'ConvOps'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 133, + "startColumn": 48, + "endLine": 133, + "endColumn": 56, + "charOffset": 3461, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E01C0135A974C55C16CC884668E5E20B739D7C445AB43D686A8679FB9CB6CA77" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'conv_ops_lock' does not match rule 'Static readonly fields (private)'. Suggested name is 'ConvOpsLock'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 134, + "startColumn": 40, + "endLine": 134, + "endColumn": 53, + "charOffset": 3511, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "240342256D49B57F8CA2771DA061F1497F27061516E5BDB67ECC7207C0065120" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ConvertType' does not match rule 'Parameters'. Suggested name is 'convertType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1024, + "startColumn": 57, + "endLine": 1024, + "endColumn": 68, + "charOffset": 33340, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A3F93741E716974F4CF5E6EC0306173785E029DA004BC42E7F3BFAEA284FECC3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ctx_stack' does not match rule 'Instance fields (private)'. Suggested name is 'ctxStack'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 51, + "startColumn": 38, + "endLine": 51, + "endColumn": 47, + "charOffset": 1131, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1B33C90A1CC74176D2A3A8F8A9D85C93528DD4CD6D28DDAD377B65BA844D445D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'current_input' does not match rule 'Instance fields (private)'. Suggested name is 'currentInput'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 55, + "startColumn": 21, + "endLine": 55, + "endColumn": 34, + "charOffset": 1062, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "40C0093371D6D528EF4364AC54BA328AA8022B0A16B721A41C489C485FB0ED25" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'current_symbol' does not match rule 'Instance fields (private)'. Suggested name is 'currentSymbol'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 56, + "startColumn": 21, + "endLine": 56, + "endColumn": 35, + "charOffset": 1098, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "003ADD01F2D1526C30EFAD4BA1B3F59FC3442D9D42A90DEC9262408B4388F092" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'custom_exporters_table' does not match rule 'Static readonly fields (private)'. Suggested name is 'CustomExportersTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 122, + "startColumn": 65, + "endLine": 122, + "endColumn": 87, + "charOffset": 2926, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "83EFE538BB01B381D4CCDDC4938D49B82EA8CB34A8DD34B8D915FFD8F0639766" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'custom_importers_table' does not match rule 'Static readonly fields (private)'. Suggested name is 'CustomImportersTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 127, + "startColumn": 50, + "endLine": 127, + "endColumn": 72, + "charOffset": 3176, + "charLength": 22 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EC93CC9A0125C21C593F2C25E532895F3ACE278A36F20E2B9E5BC7FBD82E7F4F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'datetime_format' does not match rule 'Static readonly fields (private)'. Suggested name is 'DatetimeFormat'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 119, + "startColumn": 49, + "endLine": 119, + "endColumn": 64, + "charOffset": 2755, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B15C02EA229CD330E454FA2847495556D2F9883CF17E89AEAF139575C8765100" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'detail' does not match rule 'Instance fields (not private)'. Suggested name is 'Detail'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 38, + "startColumn": 23, + "endLine": 38, + "endColumn": 29, + "charOffset": 1024, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "788B7A4604739BCA3A8CCC23DD13F84D0B47C4ED5DBE3EE2481452AE32AE7423" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'diagnostics' does not match rule 'Instance fields (not private)'. Suggested name is 'Diagnostics'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 25, + "startColumn": 29, + "endLine": 25, + "endColumn": 40, + "charOffset": 786, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9E9C1C63CE28E4B2253088C069166B0B4C5BF61DACD23E0A17F1C1A929A3922B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'e_type' does not match rule 'Local variables'. Suggested name is 'eType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 915, + "startColumn": 22, + "endLine": 915, + "endColumn": 28, + "charOffset": 29750, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B449BB70432E90E8EAB04A0C2715E5648A69BC105FC4C1E0C1FA7B46C4F99E28" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'elem_type' does not match rule 'Local variables'. Suggested name is 'elemType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 442, + "startColumn": 22, + "endLine": 442, + "endColumn": 31, + "charOffset": 13614, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "867CB817A5A5DC9C59D26866905A86E81E8798519F1FE1FCDF29B0FFD3ABC9DB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'element_type' does not match rule 'Instance fields (private)'. Suggested name is 'elementType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 38, + "startColumn": 22, + "endLine": 38, + "endColumn": 34, + "charOffset": 834, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4FE8601870184ACBE9FDA9270407AFBCC7ABDB6A9042FFF95AF42803F3E87E80" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'element_type' does not match rule 'Instance fields (private)'. Suggested name is 'elementType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 72, + "startColumn": 22, + "endLine": 72, + "endColumn": 34, + "charOffset": 1524, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D3F69C06BF0E3AD751593A05FC11A67C0874F21F68006E829A3E1994A37AA57D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'end' does not match rule 'Instance fields (not private)'. Suggested name is 'End'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 54, + "startColumn": 25, + "endLine": 54, + "endColumn": 28, + "charOffset": 1307, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "65AB77337454F5CB27A9AFA5846BB01CD7F5ECA5BD30FD28373CA1DFFF86632F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'end_of_input' does not match rule 'Instance fields (private)'. Suggested name is 'endOfInput'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 58, + "startColumn": 22, + "endLine": 58, + "endColumn": 34, + "charOffset": 1171, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FE1B37F8A808072C816C8A4E3B1EE1F8D0C90858A77CE687753A9610AD8E749C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'end_of_input' does not match rule 'Instance fields (private)'. Suggested name is 'endOfInput'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 45, + "startColumn": 22, + "endLine": 45, + "endColumn": 34, + "charOffset": 1087, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0D4E4DF4334BC0D8CE0C916591AF0624FEB25EF0E782E467D83544C941BD6125" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'end_of_json' does not match rule 'Instance fields (private)'. Suggested name is 'endOfJson'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 57, + "startColumn": 22, + "endLine": 57, + "endColumn": 33, + "charOffset": 1136, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F183990CE4FA612C7A16B1B7DA462D92A9403EFB35950E3B0B2D1C5A1E9AC056" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'error_count' does not match rule 'Instance fields (not private)'. Suggested name is 'ErrorCount'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 19, + "startColumn": 20, + "endLine": 19, + "endColumn": 31, + "charOffset": 661, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9D7A612BF1E67D76F95ADAAC1483BAFFF63C26C002179520E82B1380F7C00948" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'errorContext' does not match rule 'Instance fields (not private)'. Suggested name is 'ErrorContext'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/IssueDataContract.cs", + "uriBaseId": "solutionDir", + "index": 110 + }, + "region": { + "startLine": 29, + "startColumn": 23, + "endLine": 29, + "endColumn": 35, + "charOffset": 756, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "48A77D7D4D046128544126834EEA2D0C3FD2FDD6C1AA0E50D4A1FD1AE0872383" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'errorContext' does not match rule 'Instance fields (not private)'. Suggested name is 'ErrorContext'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliJsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 111 + }, + "region": { + "startLine": 129, + "startColumn": 27, + "endLine": 129, + "endColumn": 39, + "charOffset": 5031, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A2955A053E11852A81416F784186CCD50F9F68472FA003EB312CE1A52C8559AF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'errorDetail' does not match rule 'Instance fields (not private)'. Suggested name is 'ErrorDetail'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/IssueDataContract.cs", + "uriBaseId": "solutionDir", + "index": 110 + }, + "region": { + "startLine": 26, + "startColumn": 23, + "endLine": 26, + "endColumn": 34, + "charOffset": 696, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "84F61E9F4074F2B7E86154D37BCCD2EF793FCC18D37B93CC869A9CF658F10FAE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'errorDetail' does not match rule 'Instance fields (not private)'. Suggested name is 'ErrorDetail'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliJsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 111 + }, + "region": { + "startLine": 126, + "startColumn": 27, + "endLine": 126, + "endColumn": 38, + "charOffset": 4963, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9D196468D452BCF6C3B83FCF95C7DEB38449D6F9A0A606B82781FAAECB6E0C5E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'errorRange' does not match rule 'Instance fields (not private)'. Suggested name is 'ErrorRange'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/IssueDataContract.cs", + "uriBaseId": "solutionDir", + "index": 110 + }, + "region": { + "startLine": 32, + "startColumn": 22, + "endLine": 32, + "endColumn": 32, + "charOffset": 816, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DB33F90BAE2B81CDFD67A8FE06F6EC763E924B498EAF7498479FDDD5F33C0996" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'errorRange' does not match rule 'Instance fields (not private)'. Suggested name is 'ErrorRange'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliJsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 111 + }, + "region": { + "startLine": 132, + "startColumn": 26, + "endLine": 132, + "endColumn": 36, + "charOffset": 5099, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0119E421784B7A5D0A75A1A7B6078E02DE0F4C4EA405B5DCABA1C6AE8C5A8DF6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'esc_char' does not match rule 'Parameters'. Suggested name is 'escChar'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 212, + "startColumn": 48, + "endLine": 212, + "endColumn": 56, + "charOffset": 5422, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4A3904D7EA578D03FCEF6FDCB95C009C59951F98BB325AE06D337863F30769C8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'f_info' does not match rule 'Local variables'. Suggested name is 'fInfo'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 251, + "startColumn": 32, + "endLine": 251, + "endColumn": 38, + "charOffset": 7463, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD74D3747A8DA0DDD0294B43396A0E2EA915C44F1F3C4D70A1388F12E3AC1977" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'f_info' does not match rule 'Local variables'. Suggested name is 'fInfo'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 292, + "startColumn": 32, + "endLine": 292, + "endColumn": 38, + "charOffset": 8702, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD74D3747A8DA0DDD0294B43396A0E2EA915C44F1F3C4D70A1388F12E3AC1977" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'file' does not match rule 'Instance fields (not private)'. Suggested name is 'File'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx/LogEntryDataContract.cs", + "uriBaseId": "solutionDir", + "index": 112 + }, + "region": { + "startLine": 17, + "startColumn": 23, + "endLine": 17, + "endColumn": 27, + "charOffset": 537, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0EB86A71C04A49C8517361B0C145D18430E98AF24EBAFC229630C2ACC68B737" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'filename' does not match rule 'Instance fields (not private)'. Suggested name is 'Filename'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 48, + "startColumn": 23, + "endLine": 48, + "endColumn": 31, + "charOffset": 1192, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E05F2109F813315F45DF6A541B22D81F9A103D7BB10257C13E5A1FF5CDF53434" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'fileName' does not match rule 'Instance fields (not private)'. Suggested name is 'FileName'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliJsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 111 + }, + "region": { + "startLine": 111, + "startColumn": 27, + "endLine": 111, + "endColumn": 35, + "charOffset": 4622, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F00DE456FB599A53514EB0C4EB6648EFF9D78CBDE9CAE4D44A9E41CBF6AE7C4A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'filePath' does not match rule 'Instance fields (not private)'. Suggested name is 'FilePath'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/EsLintDataContracts.cs", + "uriBaseId": "solutionDir", + "index": 108 + }, + "region": { + "startLine": 15, + "startColumn": 23, + "endLine": 15, + "endColumn": 31, + "charOffset": 529, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0C26E0262AA9C452FFA89039199D700E96C07BAE91984F37B0D98DBA36FCCB5B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'fsm_handler_table' does not match rule 'Parameters'. Suggested name is 'fsmHandlerTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 145, + "startColumn": 66, + "endLine": 145, + "endColumn": 83, + "charOffset": 3519, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E5558FDB2897F461311C3CAAC9477DB88CE92153B277965566930CEE3A872D8B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'fsm_handler_table' does not match rule 'Static readonly fields (private)'. Suggested name is 'FsmHandlerTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 41, + "startColumn": 48, + "endLine": 41, + "endColumn": 65, + "charOffset": 955, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4AF58A04B3981F05B561D01D8BDB247516437A58DC673146967A804A10BCC3C8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'fsm_return_table' does not match rule 'Parameters'. Suggested name is 'fsmReturnTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 145, + "startColumn": 95, + "endLine": 145, + "endColumn": 111, + "charOffset": 3548, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E5558FDB2897F461311C3CAAC9477DB88CE92153B277965566930CEE3A872D8B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'fsm_return_table' does not match rule 'Static readonly fields (private)'. Suggested name is 'FsmReturnTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 40, + "startColumn": 39, + "endLine": 40, + "endColumn": 55, + "charOffset": 889, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3A76381A9746598A3909B4C308D72DD1CBD013B729143345A02A02C7E7F09E40" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'has_reached_end' does not match rule 'Instance fields (private)'. Suggested name is 'hasReachedEnd'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 52, + "startColumn": 22, + "endLine": 52, + "endColumn": 37, + "charOffset": 1164, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DB6224ED6F456DA57118037C14E8DB9AAE7D3F9BAA77C59907842FA55038EF88" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'hex_seq' does not match rule 'Instance fields (private)'. Suggested name is 'hexSeq'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 53, + "startColumn": 24, + "endLine": 53, + "endColumn": 31, + "charOffset": 1205, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8C4C9D9BA658188F91D5193507CCAB89B4A4227AE07E66A25D983D87342FFC27" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'IDictionaryExtensions' does not match rule 'types_should_be_pascal_case'. Suggested name is 'DictionaryExtensions'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/FileLinking/IDictionaryExtensions.cs", + "uriBaseId": "solutionDir", + "index": 113 + }, + "region": { + "startLine": 8, + "startColumn": 27, + "endLine": 8, + "endColumn": 48, + "charOffset": 209, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C9134EA6540699CD20A6E2342EC12C310DBA9557838B82ACAFE14B74B3BFECB4" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'IDictionaryExtensionsTests' does not match rule 'types_should_be_pascal_case'. Suggested name is 'DictionaryExtensionsTests'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/FileLinking/IDictionaryExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 114 + }, + "region": { + "startLine": 5, + "startColumn": 25, + "endLine": 5, + "endColumn": 51, + "charOffset": 106, + "charLength": 26 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "596D37463CF948CCB47E71B04ED6A3E540337126624BE25EE186E81FF77D23CC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'IIssueComparer' does not match rule 'types_should_be_pascal_case'. Suggested name is 'IssueComparer'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/IIssueComparer.cs", + "uriBaseId": "solutionDir", + "index": 105 + }, + "region": { + "startLine": 40, + "startColumn": 18, + "endLine": 40, + "endColumn": 32, + "charOffset": 1521, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "476AA6EBFF04471388A7F3444650DF706CB7F3F1D9DD8E9B8841454F19A8F49C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'IIssueComparerTests' does not match rule 'types_should_be_pascal_case'. Suggested name is 'IssueComparerTests'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueComparerTests.cs", + "uriBaseId": "solutionDir", + "index": 115 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 44, + "charOffset": 56, + "charLength": 19 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "55DA5DB9E1D76D340CE7599F35D5F0CAEABC8558C324857C90241F32B825FEF8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'IIssueExtensions' does not match rule 'types_should_be_pascal_case'. Suggested name is 'IssueExtensions'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor/IIssueExtensions.cs", + "uriBaseId": "solutionDir", + "index": 116 + }, + "region": { + "startLine": 8, + "startColumn": 27, + "endLine": 8, + "endColumn": 43, + "charOffset": 200, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "472A09B2B82B0630E99C32DBE57D69BEB39784003B2BBD7F1AA778B56048A750" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'IIssueExtensions' does not match rule 'types_should_be_pascal_case'. Suggested name is 'IssueExtensions'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IIssueExtensions.cs", + "uriBaseId": "solutionDir", + "index": 117 + }, + "region": { + "startLine": 9, + "startColumn": 27, + "endLine": 9, + "endColumn": 43, + "charOffset": 216, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "472A09B2B82B0630E99C32DBE57D69BEB39784003B2BBD7F1AA778B56048A750" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'IIssueExtensions' does not match rule 'types_should_be_pascal_case'. Suggested name is 'IssueExtensions'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif/IIssueExtensions.cs", + "uriBaseId": "solutionDir", + "index": 118 + }, + "region": { + "startLine": 10, + "startColumn": 27, + "endLine": 10, + "endColumn": 43, + "charOffset": 240, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "472A09B2B82B0630E99C32DBE57D69BEB39784003B2BBD7F1AA778B56048A750" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'IIssueExtensions' does not match rule 'types_should_be_pascal_case'. Suggested name is 'IssueExtensions'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/IIssueExtensions.cs", + "uriBaseId": "solutionDir", + "index": 119 + }, + "region": { + "startLine": 9, + "startColumn": 25, + "endLine": 9, + "endColumn": 41, + "charOffset": 195, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AFAC0F231F4527AC7308F69B3CA03F108BA79A85863141CDE5F506DDA4BD1FFE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'IIssueExtensionsTests' does not match rule 'types_should_be_pascal_case'. Suggested name is 'IssueExtensionsTests'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 120 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 46, + "charOffset": 69, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BDE28CD524F476ED85FE8571076DB222DDE22C9D467ABA649CB013642ACF3FCC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'IIssueExtensionsTests' does not match rule 'types_should_be_pascal_case'. Suggested name is 'IssueExtensionsTests'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 121 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 46, + "charOffset": 56, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BDE28CD524F476ED85FE8571076DB222DDE22C9D467ABA649CB013642ACF3FCC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'indent_value' does not match rule 'Instance fields (private)'. Suggested name is 'indentValue'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 55, + "startColumn": 21, + "endLine": 55, + "endColumn": 33, + "charOffset": 1269, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1CCAF32FA29AB32DBD3B4ECC093BC22828CB034927DA9019AB37F07BD97DB8FD" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inner_exception' does not match rule 'Parameters'. Suggested name is 'innerException'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonException.cs", + "uriBaseId": "solutionDir", + "index": 30 + }, + "region": { + "startLine": 41, + "startColumn": 43, + "endLine": 41, + "endColumn": 58, + "charOffset": 963, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C42FB69A04F7428A022BCC20F507E0261D883330000F2F81C3E94B575AF80F30" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inner_exception' does not match rule 'Parameters'. Suggested name is 'innerException'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonException.cs", + "uriBaseId": "solutionDir", + "index": 30 + }, + "region": { + "startLine": 54, + "startColumn": 49, + "endLine": 54, + "endColumn": 64, + "charOffset": 1362, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "ACA68484EA110700A748180607B157409F6B125718C9BB281F71F9C5F494C79D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inner_exception' does not match rule 'Parameters'. Suggested name is 'innerException'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonException.cs", + "uriBaseId": "solutionDir", + "index": 30 + }, + "region": { + "startLine": 66, + "startColumn": 56, + "endLine": 66, + "endColumn": 71, + "charOffset": 1690, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "20D40CD340F3B07637BDC9B26E7741BB53AFF99AD1EB1119C76179F9C7E33BDD" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'input_buffer' does not match rule 'Instance fields (private)'. Suggested name is 'inputBuffer'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 47, + "startColumn": 21, + "endLine": 47, + "endColumn": 33, + "charOffset": 1163, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "21AB5D7BD7A40D62C7A1D021654056455EB4035D90DB56EDBACE61181C044C3B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'input_char' does not match rule 'Instance fields (private)'. Suggested name is 'inputChar'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 48, + "startColumn": 21, + "endLine": 48, + "endColumn": 31, + "charOffset": 1198, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E4497F31D6DFA466C0D49763F47D32686B470261BCA89D11FD381E022C931926" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inst_array' does not match rule 'Instance fields (private)'. Suggested name is 'instArray'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 31, + "startColumn": 33, + "endLine": 31, + "endColumn": 43, + "charOffset": 811, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8CF20F581BFE754EC181ABAF09CECEA21BFA9CD53733D026323D514617FFE73C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inst_boolean' does not match rule 'Instance fields (private)'. Suggested name is 'instBoolean'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 32, + "startColumn": 22, + "endLine": 32, + "endColumn": 34, + "charOffset": 845, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "61480BFB7F53C0D13066894A60945BC40372063A16D5DDE3F4194A9A9BACF260" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inst_double' does not match rule 'Instance fields (private)'. Suggested name is 'instDouble'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 33, + "startColumn": 24, + "endLine": 33, + "endColumn": 35, + "charOffset": 883, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7A9169AC01E93FF304521BCB47F15FC27E5AE79B9159F09D389E80271ABEBA06" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inst_int' does not match rule 'Instance fields (private)'. Suggested name is 'instInt'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 34, + "startColumn": 21, + "endLine": 34, + "endColumn": 29, + "charOffset": 917, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "010ED249A5565F1004E67281C888FFC7DAEF82432F5BE5020418D9B9E7DE2530" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inst_long' does not match rule 'Instance fields (private)'. Suggested name is 'instLong'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 35, + "startColumn": 22, + "endLine": 35, + "endColumn": 31, + "charOffset": 949, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5D72C486827D909D715895B6D97CB2C85487D2FF2811AB1C7A177B7D69B40BC1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inst_object' does not match rule 'Instance fields (private)'. Suggested name is 'instObject'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 36, + "startColumn": 47, + "endLine": 36, + "endColumn": 58, + "charOffset": 1007, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "27AA7ADFA56DAA824C2446F8E12438CB22995849757ADC73FC48637EF9FB2ECC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inst_string' does not match rule 'Instance fields (private)'. Suggested name is 'instString'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 37, + "startColumn": 24, + "endLine": 37, + "endColumn": 35, + "charOffset": 1044, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AD7CB0856A9F2B90BC1D6F0E4EF6AE7388384518C1605A182CD790F6DF273001" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'inst_type' does not match rule 'Parameters'. Suggested name is 'instType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 343, + "startColumn": 46, + "endLine": 343, + "endColumn": 55, + "charOffset": 10087, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4E101284543DE5D6EE487721451524C4B47C9E027C01A91CC57D8BAF5A016A76" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'is_array' does not match rule 'Instance fields (private)'. Suggested name is 'isArray'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 39, + "startColumn": 22, + "endLine": 39, + "endColumn": 30, + "charOffset": 870, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F8DE371378CD044C07326CD41CB690A77AEE2A5A8BD38283F8161C85E3B7E5F8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'is_dictionary' does not match rule 'Instance fields (private)'. Suggested name is 'isDictionary'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 73, + "startColumn": 22, + "endLine": 73, + "endColumn": 35, + "charOffset": 1560, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E18D25C0001F8E0BE74D1E00A2AFC5DEB4EA738695297B38BD4F9A2BDE37CF9A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'is_list' does not match rule 'Instance fields (private)'. Suggested name is 'isList'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 40, + "startColumn": 22, + "endLine": 40, + "endColumn": 29, + "charOffset": 902, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A323D094DEA53B2118977BF3F5A6A859CFAC40923AE2658AFFFF75BA42FDE3BE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'issue1_1' does not match rule 'Local variables'. Suggested name is 'issue11'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueComparerTests.cs", + "uriBaseId": "solutionDir", + "index": 115 + }, + "region": { + "startLine": 875, + "startColumn": 21, + "endLine": 875, + "endColumn": 29, + "charOffset": 32806, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1DABB9E9D8965A540D3DF560DB692F30A01CD4A380A4A74450A37E0E1FD7D5D5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'issue1_1' does not match rule 'Local variables'. Suggested name is 'issue11'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueComparerTests.cs", + "uriBaseId": "solutionDir", + "index": 115 + }, + "region": { + "startLine": 1735, + "startColumn": 21, + "endLine": 1735, + "endColumn": 29, + "charOffset": 64837, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1DABB9E9D8965A540D3DF560DB692F30A01CD4A380A4A74450A37E0E1FD7D5D5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'issue1_2' does not match rule 'Local variables'. Suggested name is 'issue12'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueComparerTests.cs", + "uriBaseId": "solutionDir", + "index": 115 + }, + "region": { + "startLine": 879, + "startColumn": 21, + "endLine": 879, + "endColumn": 29, + "charOffset": 32989, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "72ADE76879F5653FDE2966D43BF648F892A046ACDE5B12614EBA5905F4278732" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'issue1_2' does not match rule 'Local variables'. Suggested name is 'issue12'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueComparerTests.cs", + "uriBaseId": "solutionDir", + "index": 115 + }, + "region": { + "startLine": 1740, + "startColumn": 21, + "endLine": 1740, + "endColumn": 29, + "charOffset": 65067, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "72ADE76879F5653FDE2966D43BF648F892A046ACDE5B12614EBA5905F4278732" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ISupportCheckingCommitIdExtensions' does not match rule 'types_should_be_pascal_case'. Suggested name is 'SupportCheckingCommitIdExtensions'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/ISupportCheckingCommitIdExtensions.cs", + "uriBaseId": "solutionDir", + "index": 122 + }, + "region": { + "startLine": 8, + "startColumn": 25, + "endLine": 8, + "endColumn": 59, + "charOffset": 201, + "charLength": 34 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CC1B848184233198EF6DFB53668A665B4D0713FF5EAD270A9BD76DFF8C3FB4ED" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ISupportCheckingCommitIdExtensionsTests' does not match rule 'types_should_be_pascal_case'. Suggested name is 'SupportCheckingCommitIdExtensionsTests'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/ISupportCheckingCommitIdExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 123 + }, + "region": { + "startLine": 3, + "startColumn": 25, + "endLine": 3, + "endColumn": 64, + "charOffset": 69, + "charLength": 39 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3FB63EB656B47548BB0C09701DDB396FFF031874EF12CCEF6D4B82B3C31E3797" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'json_reader' does not match rule 'Local variables'. Suggested name is 'jsonReader'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 993, + "startColumn": 24, + "endLine": 993, + "endColumn": 35, + "charOffset": 32422, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "091F3DF8898A82EB5D6719414C7C54D20C6216663D13D1F153AE24C5BB1C5F19" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'json_reader' does not match rule 'Local variables'. Suggested name is 'jsonReader'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1012, + "startColumn": 24, + "endLine": 1012, + "endColumn": 35, + "charOffset": 32988, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "091F3DF8898A82EB5D6719414C7C54D20C6216663D13D1F153AE24C5BB1C5F19" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'json_text' does not match rule 'Parameters'. Suggested name is 'jsonText'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 118, + "startColumn": 34, + "endLine": 118, + "endColumn": 43, + "charOffset": 2642, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E7A8D50F6964EEE8E07D2DECCAFBB303630BE12723397D4BAC9A0F4F6C567F82" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'json_type' does not match rule 'Local variables'. Suggested name is 'jsonType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 378, + "startColumn": 22, + "endLine": 378, + "endColumn": 31, + "charOffset": 11235, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BAE91AA603C95A0EA330A71D1D57CA8BEF5309D5B0D196B10E2DF27EA5C0D00C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'json_type' does not match rule 'Parameters'. Suggested name is 'jsonType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 783, + "startColumn": 18, + "endLine": 783, + "endColumn": 27, + "charOffset": 25779, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "08B9A766070EF07EC3BF876880362F32B06765ED9FD678EBF9FA3694B009D56B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'line' does not match rule 'Instance fields (not private)'. Suggested name is 'Line'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx/LogEntryDataContract.cs", + "uriBaseId": "solutionDir", + "index": 112 + }, + "region": { + "startLine": 20, + "startColumn": 21, + "endLine": 20, + "endColumn": 25, + "charOffset": 588, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "93F37C33D686DD99622BF9871EBF5190684B2B9A5BE7CFDC6C48574619F68C64" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'line' does not match rule 'Instance fields (not private)'. Suggested name is 'Line'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/EsLintDataContracts.cs", + "uriBaseId": "solutionDir", + "index": 108 + }, + "region": { + "startLine": 34, + "startColumn": 20, + "endLine": 34, + "endColumn": 24, + "charOffset": 870, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7CD19B4E2635C9050471940FA9A65604FDF6BAA0948BBD868B904315D879D8DA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'line' does not match rule 'Instance fields (not private)'. Suggested name is 'Line'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 61, + "startColumn": 20, + "endLine": 61, + "endColumn": 24, + "charOffset": 1419, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7CD19B4E2635C9050471940FA9A65604FDF6BAA0948BBD868B904315D879D8DA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'lineNumber' does not match rule 'Instance fields (not private)'. Suggested name is 'LineNumber'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/IssueDataContract.cs", + "uriBaseId": "solutionDir", + "index": 110 + }, + "region": { + "startLine": 14, + "startColumn": 20, + "endLine": 14, + "endColumn": 30, + "charOffset": 458, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "113EFADAF8E5CE7F74558A1548612D32A138CFB2CEB7098DE7DD44763A52B86D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'lineNumber' does not match rule 'Instance fields (not private)'. Suggested name is 'LineNumber'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliJsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 111 + }, + "region": { + "startLine": 114, + "startColumn": 24, + "endLine": 114, + "endColumn": 34, + "charOffset": 4684, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E192B1788AFB935178931DB42561B83C6314EB2F10A7D821BA52C91FF7B8006E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'lower_case_properties' does not match rule 'Instance fields (private)'. Suggested name is 'lowerCaseProperties'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 59, + "startColumn": 22, + "endLine": 59, + "endColumn": 43, + "charOffset": 1425, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C8F039990CD1300175B4BC8378892A51680EAA0DCC091B9CFD89DD3B5E040867" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'max_nesting_depth' does not match rule 'Static readonly fields (private)'. Suggested name is 'MaxNestingDepth'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 117, + "startColumn": 37, + "endLine": 117, + "endColumn": 54, + "charOffset": 2685, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F16EAEFA49AAE3DEB07D2AC0493E3DBD9DB2D698DFACD8F9B6B626D2CB0945A8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'message' does not match rule 'Instance fields (not private)'. Suggested name is 'Message'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx/LogEntryDataContract.cs", + "uriBaseId": "solutionDir", + "index": 112 + }, + "region": { + "startLine": 23, + "startColumn": 23, + "endLine": 23, + "endColumn": 30, + "charOffset": 641, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F2E9232AD7F6946BD5F49C0124BC9FAA2464547ABFA78A4CB11DAD8460445131" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'message' does not match rule 'Instance fields (not private)'. Suggested name is 'Message'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/EsLintDataContracts.cs", + "uriBaseId": "solutionDir", + "index": 108 + }, + "region": { + "startLine": 31, + "startColumn": 23, + "endLine": 31, + "endColumn": 30, + "charOffset": 817, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F2E9232AD7F6946BD5F49C0124BC9FAA2464547ABFA78A4CB11DAD8460445131" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'message_severity' does not match rule 'Instance fields (not private)'. Suggested name is 'MessageSeverity'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx/LogEntryDataContract.cs", + "uriBaseId": "solutionDir", + "index": 112 + }, + "region": { + "startLine": 14, + "startColumn": 23, + "endLine": 14, + "endColumn": 39, + "charOffset": 472, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "49599B07D3BF345721940A2DD23117FBC5E3321C9032D69296DACFAEADAD0A2E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'messages' does not match rule 'Instance fields (not private)'. Suggested name is 'Messages'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/EsLintDataContracts.cs", + "uriBaseId": "solutionDir", + "index": 108 + }, + "region": { + "startLine": 18, + "startColumn": 26, + "endLine": 18, + "endColumn": 34, + "charOffset": 589, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E76F7B1C3FADB791A12A526FB90790E09A1AA63379225B731AC08B0D61DAEF1B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'new_entry' does not match rule 'Local variables'. Suggested name is 'newEntry'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 368, + "startColumn": 52, + "endLine": 368, + "endColumn": 61, + "charOffset": 8946, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EAE0151291327592BD57ABB1553E721064203493E4F394BA0F8BDB24EDCDACD6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'nodeType' does not match rule 'Instance fields (not private)'. Suggested name is 'NodeType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/EsLintDataContracts.cs", + "uriBaseId": "solutionDir", + "index": 108 + }, + "region": { + "startLine": 40, + "startColumn": 23, + "endLine": 40, + "endColumn": 31, + "charOffset": 975, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D7483AE4A09ADCBD768A3C24714690F6E9CA971B4B19AA6F984981A656E39026" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'number_format' does not match rule 'Static readonly fields (private)'. Suggested name is 'NumberFormat'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 48, + "startColumn": 50, + "endLine": 48, + "endColumn": 63, + "charOffset": 1036, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5459EEB7EBB17674F48424FEF77C13DB68E7A40AE70BCD3386D4F78CF9B9ADF8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'obj_type' does not match rule 'Local variables'. Suggested name is 'objType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 892, + "startColumn": 18, + "endLine": 892, + "endColumn": 26, + "charOffset": 29012, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A5FC8403F9CDCC87F8D93DD179977C292FBBABADD3B1E6E5B1FF94E3D55FE3B3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'object_list' does not match rule 'Instance fields (private)'. Suggested name is 'objectList'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 42, + "startColumn": 55, + "endLine": 42, + "endColumn": 66, + "charOffset": 1239, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "611E589143FAB992190339A20481D899C46BF7A973FCF911EADC5622DF32E19F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'object_metadata' does not match rule 'Static readonly fields (private)'. Suggested name is 'ObjectMetadata'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 136, + "startColumn": 67, + "endLine": 136, + "endColumn": 82, + "charOffset": 3610, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C8EEC1338AFA9C7EF20FB533CDA8E091D16843A2081B83D81EB78BA503C66FBA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'object_metadata_lock' does not match rule 'Static readonly fields (private)'. Suggested name is 'ObjectMetadataLock'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 137, + "startColumn": 40, + "endLine": 137, + "endColumn": 60, + "charOffset": 3667, + "charLength": 20 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B923B1B3F85CF85B19A91F26594EEDFBA844A6DB9DA26D077C9E1722543E844B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'old_entry' does not match rule 'Local variables'. Suggested name is 'oldEntry'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 279, + "startColumn": 48, + "endLine": 279, + "endColumn": 57, + "charOffset": 6613, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "11D8E21F874A035BE029CA2BDD6662E305DCB2E6B7B8E7AC0DCEE495784107E1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'old_validate' does not match rule 'Local variables'. Suggested name is 'oldValidate'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1061, + "startColumn": 18, + "endLine": 1061, + "endColumn": 30, + "charOffset": 27729, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "119714D940B57D06F809B25E63487929D41B13FA9E6D8B8F72D47CDCA71D9EEC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'p_data' does not match rule 'Local variables'. Suggested name is 'pData'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 244, + "startColumn": 34, + "endLine": 244, + "endColumn": 40, + "charOffset": 7229, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "62645936EA094CA7B79DDD41787736C6DE73E319AB5A430C40EEECE167D0F430" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'p_data' does not match rule 'Local variables'. Suggested name is 'pData'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 253, + "startColumn": 34, + "endLine": 253, + "endColumn": 40, + "charOffset": 7540, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E921238BF8DB48C03D41B6B2DC6999EA72E3D068B1ABD57FDB039840A44BDE64" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'p_data' does not match rule 'Local variables'. Suggested name is 'pData'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 286, + "startColumn": 34, + "endLine": 286, + "endColumn": 40, + "charOffset": 8504, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "62645936EA094CA7B79DDD41787736C6DE73E319AB5A430C40EEECE167D0F430" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'p_data' does not match rule 'Local variables'. Suggested name is 'pData'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 294, + "startColumn": 34, + "endLine": 294, + "endColumn": 40, + "charOffset": 8779, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E921238BF8DB48C03D41B6B2DC6999EA72E3D068B1ABD57FDB039840A44BDE64" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'p_data' does not match rule 'Local variables'. Suggested name is 'pData'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 943, + "startColumn": 39, + "endLine": 943, + "endColumn": 45, + "charOffset": 30875, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B5C6D918851120FC9071F9B3AB02BF3D4D77CDC61EFA13B7CC33C34822E70265" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'p_info' does not match rule 'Local variables'. Suggested name is 'pInfo'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 190, + "startColumn": 35, + "endLine": 190, + "endColumn": 41, + "charOffset": 5558, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "35AFBCA5292F8648E7AD7FE9D147CBA4EAC71B2313BDB9EC7966A1A6E658A55B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'p_info' does not match rule 'Local variables'. Suggested name is 'pInfo'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 229, + "startColumn": 35, + "endLine": 229, + "endColumn": 41, + "charOffset": 6727, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "35AFBCA5292F8648E7AD7FE9D147CBA4EAC71B2313BDB9EC7966A1A6E658A55B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'p_info' does not match rule 'Local variables'. Suggested name is 'pInfo'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 281, + "startColumn": 35, + "endLine": 281, + "endColumn": 41, + "charOffset": 8346, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "35AFBCA5292F8648E7AD7FE9D147CBA4EAC71B2313BDB9EC7966A1A6E658A55B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'p_info' does not match rule 'Local variables'. Suggested name is 'pInfo'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 506, + "startColumn": 42, + "endLine": 506, + "endColumn": 48, + "charOffset": 15749, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C813B2FA0E7B7BC5B6878D97CC70A00C1CD19F02103B602ED48BEC25C97E5DFA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'p_info' does not match rule 'Local variables'. Suggested name is 'pInfo'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 953, + "startColumn": 34, + "endLine": 953, + "endColumn": 40, + "charOffset": 31266, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0F867CD280D16156127CC06D82A10C6B6D305D3E7B99A8DCE30981A5A5045330" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'parse_table' does not match rule 'Parameters'. Suggested name is 'parseTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 264, + "startColumn": 83, + "endLine": 264, + "endColumn": 94, + "charOffset": 9056, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BC2170A936573B1E676FB2A2D6AA77A4E0EBBF420FCF4D0D7FAD914437382981" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'parse_table' does not match rule 'Parameters'. Suggested name is 'parseTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 270, + "startColumn": 83, + "endLine": 270, + "endColumn": 94, + "charOffset": 9320, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2AFBE075FF37A5C55785A694E6907D8FE407A710739BF2D94B62A8BEB0FB23AC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'parse_table' does not match rule 'Static readonly fields (private)'. Suggested name is 'ParseTable'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 52, + "startColumn": 75, + "endLine": 52, + "endColumn": 86, + "charOffset": 981, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "98D8D6E1B1B21BC91D045D5691E5B6139CC903F9F7F9B133402073902587ABCC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'parser_in_string' does not match rule 'Instance fields (private)'. Suggested name is 'parserInString'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 60, + "startColumn": 22, + "endLine": 60, + "endColumn": 38, + "charOffset": 1237, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4D242C297AE1296EAEEBD347B44368943F8B3634D6B208D2D387C1544ABDCD9E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'parser_return' does not match rule 'Instance fields (private)'. Suggested name is 'parserReturn'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 61, + "startColumn": 22, + "endLine": 61, + "endColumn": 35, + "charOffset": 1277, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3793B00380E3D31EA6DA14E24988A87A0F0447D160DEF797BD87FA4FC00204B8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'pretty_print' does not match rule 'Instance fields (private)'. Suggested name is 'prettyPrint'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 57, + "startColumn": 22, + "endLine": 57, + "endColumn": 34, + "charOffset": 1357, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6E3364D4B97A453A93B72835EDEC68C4F5B2E9DD0BCBA4AEF106CEFB697BA625" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'prop_data' does not match rule 'Local variables'. Suggested name is 'propData'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 496, + "startColumn": 42, + "endLine": 496, + "endColumn": 51, + "charOffset": 15330, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1CC00124E08D05FE369A89595344D98569A001049EF7A7A4C03D164F84566AA6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'prop_name' does not match rule 'Parameters'. Suggested name is 'propName'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 312, + "startColumn": 37, + "endLine": 312, + "endColumn": 46, + "charOffset": 7376, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "ECDE8BE04C77E12B881A2459B3F08488FB17077058F74DB0FC162579A2D35874" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'property_name' does not match rule 'Parameters'. Suggested name is 'propertyName'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 477, + "startColumn": 46, + "endLine": 477, + "endColumn": 59, + "charOffset": 12282, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5B91ACB6D4CF688DA010B2BD1D7AC56A3F55A5997EDC5DC2CEF41C783AFA4FDF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'range' does not match rule 'Instance fields (not private)'. Suggested name is 'Range'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 41, + "startColumn": 22, + "endLine": 41, + "endColumn": 27, + "charOffset": 1078, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1E6BB92DB0E674483AFC69BDC22C7170EB4AAE4350DFC7CDD7119CCAFFF69987" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'read_started' does not match rule 'Instance fields (private)'. Suggested name is 'readStarted'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 62, + "startColumn": 22, + "endLine": 62, + "endColumn": 34, + "charOffset": 1314, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "31A947A1992A80FB4B989B500D75835565FA2EC13DA2DEE87D74F9136295AFDD" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ruleAlias' does not match rule 'Instance fields (not private)'. Suggested name is 'RuleAlias'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/IssueDataContract.cs", + "uriBaseId": "solutionDir", + "index": 110 + }, + "region": { + "startLine": 20, + "startColumn": 23, + "endLine": 20, + "endColumn": 32, + "charOffset": 574, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0C9488401FA727890D07D202FC78144F21B607FC0A46C19E960A19CCB0BBE186" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ruleDescription' does not match rule 'Instance fields (not private)'. Suggested name is 'RuleDescription'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/IssueDataContract.cs", + "uriBaseId": "solutionDir", + "index": 110 + }, + "region": { + "startLine": 23, + "startColumn": 23, + "endLine": 23, + "endColumn": 38, + "charOffset": 632, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8650B5FE1544CB1FA43B911F0796A0420E7E83D8232C62F28DB5552932F6B2F4" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ruleDescription' does not match rule 'Instance fields (not private)'. Suggested name is 'RuleDescription'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliJsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 111 + }, + "region": { + "startLine": 120, + "startColumn": 27, + "endLine": 120, + "endColumn": 42, + "charOffset": 4819, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "935D8D372E6041790A5D0BEC34820B4732779E246AE6A44E24D32B0A431712F2" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ruleId' does not match rule 'Instance fields (not private)'. Suggested name is 'RuleId'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/EsLintDataContracts.cs", + "uriBaseId": "solutionDir", + "index": 108 + }, + "region": { + "startLine": 25, + "startColumn": 23, + "endLine": 25, + "endColumn": 29, + "charOffset": 708, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "731D87CF6547EEE2D17F7440653ECA1699A5BB39C674EEA034729BAB12D44BC1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ruleInformation' does not match rule 'Instance fields (not private)'. Suggested name is 'RuleInformation'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliJsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 111 + }, + "region": { + "startLine": 123, + "startColumn": 27, + "endLine": 123, + "endColumn": 42, + "charOffset": 4891, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4911A9643B914B967C961FA2B32BCC7E94B95333392A2DADA2D5720C7EEEAD80" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ruleName' does not match rule 'Instance fields (not private)'. Suggested name is 'RuleName'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/IssueDataContract.cs", + "uriBaseId": "solutionDir", + "index": 110 + }, + "region": { + "startLine": 17, + "startColumn": 23, + "endLine": 17, + "endColumn": 31, + "charOffset": 517, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5A3797229D75ABD777DD47D305EDF510941DCF138270AAFE895F1127177BBB19" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'ruleNames' does not match rule 'Instance fields (not private)'. Suggested name is 'RuleNames'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliJsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 111 + }, + "region": { + "startLine": 117, + "startColumn": 29, + "endLine": 117, + "endColumn": 38, + "charOffset": 4753, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1298790757F79524FC6555D2A83A88C72B18F50AC5E5D258AA69DCABB4F17FDF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'severity' does not match rule 'Instance fields (not private)'. Suggested name is 'Severity'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/EsLintDataContracts.cs", + "uriBaseId": "solutionDir", + "index": 108 + }, + "region": { + "startLine": 28, + "startColumn": 20, + "endLine": 28, + "endColumn": 28, + "charOffset": 760, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E2B2101A26D3BF3F2D73A9B12BB1A02F47D4F16D04D0213A2F6ED1270C22A250" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'severity' does not match rule 'Instance fields (not private)'. Suggested name is 'Severity'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 32, + "startColumn": 23, + "endLine": 32, + "endColumn": 31, + "charOffset": 911, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "535C420A0978DD5D0BD1AD4D2A8FC17BEDE5DBC43757F7432B8188FE1926A261" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'skip_non_members' does not match rule 'Instance fields (private)'. Suggested name is 'skipNonMembers'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 65, + "startColumn": 22, + "endLine": 65, + "endColumn": 38, + "charOffset": 1425, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5C918FFD763F7E91C5C6D0FD8FA49E6F7715FFB0D4ABD369D86CCDBBAF0DD3CD" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'source' does not match rule 'Instance fields (not private)'. Suggested name is 'Source'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx/LogEntryDataContract.cs", + "uriBaseId": "solutionDir", + "index": 112 + }, + "region": { + "startLine": 26, + "startColumn": 23, + "endLine": 26, + "endColumn": 29, + "charOffset": 697, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BE5F82E05B931758CBEA820DFC486B8509C91D6B4E2C7C83A854E9300E93E52B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'source' does not match rule 'Instance fields (not private)'. Suggested name is 'Source'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/EsLintDataContracts.cs", + "uriBaseId": "solutionDir", + "index": 108 + }, + "region": { + "startLine": 43, + "startColumn": 23, + "endLine": 43, + "endColumn": 29, + "charOffset": 1032, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BE5F82E05B931758CBEA820DFC486B8509C91D6B4E2C7C83A854E9300E93E52B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'start' does not match rule 'Instance fields (not private)'. Suggested name is 'Start'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 51, + "startColumn": 25, + "endLine": 51, + "endColumn": 30, + "charOffset": 1251, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C18F4601AED2508C4E14835F37379044C07B13189EB29DD4DF15624EBF6A0D49" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'static_writer' does not match rule 'Static readonly fields (private)'. Suggested name is 'StaticWriter'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 143, + "startColumn": 44, + "endLine": 143, + "endColumn": 57, + "charOffset": 3939, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "21E2CA7773B7FCC52239D3E4F2D38A85772323006E55ABCB5997E9B2025BD92E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'static_writer_lock' does not match rule 'Static readonly fields (private)'. Suggested name is 'StaticWriterLock'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 144, + "startColumn": 40, + "endLine": 144, + "endColumn": 58, + "charOffset": 3994, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "37830DD8E79B18426F919A95D63A48F649A8E7B5FA9F6873C898BE050F5557CA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'string_value' does not match rule 'Instance fields (private)'. Suggested name is 'stringValue'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 52, + "startColumn": 24, + "endLine": 52, + "endColumn": 36, + "charOffset": 1344, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F4C0D2C4860077777311C406A5394ED27264F0362E278DE10B2126FFB2CCCC67" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'summary' does not match rule 'Instance fields (not private)'. Suggested name is 'Summary'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 35, + "startColumn": 23, + "endLine": 35, + "endColumn": 30, + "charOffset": 968, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "06CEA07A729A90289DE46EF20BE44B332546E044620743E25A3E6E585C005975" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 't_data' does not match rule 'Local variables'. Suggested name is 'tData'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 434, + "startColumn": 31, + "endLine": 434, + "endColumn": 37, + "charOffset": 13302, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BA40665B497349AD3D74A69EB017118C20DB7D571B5D6D97498388070A9F40AF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 't_data' does not match rule 'Local variables'. Suggested name is 'tData'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 481, + "startColumn": 32, + "endLine": 481, + "endColumn": 38, + "charOffset": 14845, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DF7AF07DCF8A5F67DBC9B9C33D65B0588DF9EF80A122C94306B8AC8E8D3AC507" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'token_value' does not match rule 'Instance fields (private)'. Suggested name is 'tokenValue'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 66, + "startColumn": 24, + "endLine": 66, + "endColumn": 35, + "charOffset": 1467, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BB31AD39412B20CBD85FF18F5A835893617686D7B85530C51A53981F6769B18A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'type_properties' does not match rule 'Static readonly fields (private)'. Suggested name is 'TypeProperties'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 140, + "startColumn": 42, + "endLine": 140, + "endColumn": 57, + "charOffset": 3799, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EDCC6D7111739604992B34DAD3899D455F8CCAB3CFA27F4A220474BBC6EDFD0B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'type_properties_lock' does not match rule 'Static readonly fields (private)'. Suggested name is 'TypePropertiesLock'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 141, + "startColumn": 40, + "endLine": 141, + "endColumn": 60, + "charOffset": 3856, + "charLength": 20 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "64259723B78B6824459B821D405B8461F66B558F4CE3E51B0B95D0DB549E93AB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'underlying_type' does not match rule 'Local variables'. Suggested name is 'underlyingType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 350, + "startColumn": 18, + "endLine": 350, + "endColumn": 33, + "charOffset": 10261, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5A3DEA670C9D2F18EACD7449CB055492C3E3F9C18A55D54E139AF4645A1042FC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'valid' does not match rule 'Instance fields (not private)'. Suggested name is 'Valid'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 16, + "startColumn": 21, + "endLine": 16, + "endColumn": 26, + "charOffset": 610, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BD8B69485D02FFA2BFD0C4404F39C3EFB704476FA3A7EEE2B9E0FADA3764F768" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'value_type' does not match rule 'Local variables'. Suggested name is 'valueType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 351, + "startColumn": 18, + "endLine": 351, + "endColumn": 28, + "charOffset": 10336, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7330EC18E3A07E904096FF9DCC3FB51D146F39AEBE27E733E6D11E441A3CED1F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'value_type' does not match rule 'Parameters'. Suggested name is 'valueType'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 783, + "startColumn": 34, + "endLine": 783, + "endColumn": 44, + "charOffset": 25795, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "08B9A766070EF07EC3BF876880362F32B06765ED9FD678EBF9FA3694B009D56B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'warning_count' does not match rule 'Instance fields (not private)'. Suggested name is 'WarningCount'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir", + "index": 109 + }, + "region": { + "startLine": 22, + "startColumn": 20, + "endLine": 22, + "endColumn": 33, + "charOffset": 718, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2CD07C5CD338092DF5A0436576A955E86A38677443FC3A0E5AB73A68BA993C27" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InconsistentNaming", + "ruleIndex": 26, + "level": "note", + "message": { + "text": "Name 'writer_is_private' does not match rule 'Parameters'. Suggested name is 'writerIsPrivate'." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 792, + "startColumn": 46, + "endLine": 792, + "endColumn": 63, + "charOffset": 26152, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F62120DA13BC4900A622401B6A405283A11BBF7D60638FA02E019C39FEE0DFE9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InlineOutVariableDeclaration", + "ruleIndex": 27, + "level": "note", + "message": { + "text": "Inline 'out' variable declaration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 906, + "startColumn": 26, + "endLine": 906, + "endColumn": 31, + "charOffset": 22904, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DD192D72C9BEC714D2C84417223C3B575ECAF163842EEA1B082B70D51C0769A9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InlineOutVariableDeclaration", + "ruleIndex": 27, + "level": "note", + "message": { + "text": "Inline 'out' variable declaration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 285, + "startColumn": 24, + "endLine": 285, + "endColumn": 32, + "charOffset": 9740, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1CD64E15FD05CF8005E22BC0666D061103D9B65F0CE1CC32BF0094079331AE29" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InlineOutVariableDeclaration", + "ruleIndex": 27, + "level": "note", + "message": { + "text": "Inline 'out' variable declaration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 295, + "startColumn": 17, + "endLine": 295, + "endColumn": 24, + "charOffset": 10053, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1A22A3A5DC1852F048ECCCE72135BDEF1DFCF7BA6108FFE9C535C4E481BC5976" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InlineOutVariableDeclaration", + "ruleIndex": 27, + "level": "note", + "message": { + "text": "Inline 'out' variable declaration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 304, + "startColumn": 18, + "endLine": 304, + "endColumn": 25, + "charOffset": 10323, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A5A497AB89F08071B8F60A907006E88BDB90BA4DBA08DF2A1A81819C04AFD8FB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InlineOutVariableDeclaration", + "ruleIndex": 27, + "level": "note", + "message": { + "text": "Inline 'out' variable declaration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 313, + "startColumn": 19, + "endLine": 313, + "endColumn": 27, + "charOffset": 10596, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "34DB77706D4B1B447CE2D5938F45E5E5FD26A1183465D92AB8EE27912FFF3893" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "IntroduceOptionalParameters.Local", + "ruleIndex": 28, + "level": "note", + "message": { + "text": "Introduce optional parameter(s) for method 'void PutNewline(bool)'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 230, + "startColumn": 24, + "endLine": 230, + "endColumn": 28, + "charOffset": 6050, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "21A197E61DF70FB6A2395AEFB961C415C09CB5730BF5C21B1F86F532EA249247" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "InvokeAsExtensionMethod", + "ruleIndex": 29, + "level": "note", + "message": { + "text": "Invoke as extension method" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportFixture.cs", + "uriBaseId": "solutionDir", + "index": 19 + }, + "region": { + "startLine": 36, + "startColumn": 61, + "endLine": 36, + "endColumn": 80, + "charOffset": 1349, + "charLength": 19 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "35D44ED08C0EBA45C211A9AE4A4B3D687036FA6AB23C0E738DA90B0422789474" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "JoinDeclarationAndInitializer", + "ruleIndex": 30, + "level": "note", + "message": { + "text": "Join declaration and assignment" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 124 + }, + "region": { + "startLine": 78, + "startColumn": 18, + "endLine": 78, + "endColumn": 24, + "charOffset": 3391, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FC3135BC4FBE6D5E11B5D9FC7A30DC60C3596131A44E105C93A304C56BE024B4" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "JoinDeclarationAndInitializer", + "ruleIndex": 30, + "level": "note", + "message": { + "text": "Join declaration and assignment" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 688, + "startColumn": 26, + "endLine": 688, + "endColumn": 34, + "charOffset": 21911, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C5D723B4242EFBF9418F378C402CDE53A31B573AA91C758ABAE4C5E414E00831" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "JoinNullCheckWithUsage", + "ruleIndex": 31, + "level": "note", + "message": { + "text": "Join null check with assignment" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 121, + "startColumn": 24, + "endLine": 121, + "endColumn": 31, + "charOffset": 2879, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2C2F36B8DE7F609E792058174791F5F1150912C0C08EFD76F3A86BC115C0BAB5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "LocalVariableHidesMember", + "ruleIndex": 32, + "message": { + "text": "Local variable 'allFiles' hides field 'Lazy> Cake.Issues.GitRepository.GitRepositoryIssuesProvider.allFiles'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 179, + "startColumn": 17, + "endLine": 179, + "endColumn": 25, + "charOffset": 7522, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AB5087A2825EA6F1277CBE0B4E1477BB5F97774DE5183CD2F04CA0BE9BF29A15" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "LocalVariableHidesMember", + "ruleIndex": 32, + "message": { + "text": "Local variable 'binaryFiles' hides field 'Lazy> Cake.Issues.GitRepository.GitRepositoryIssuesProvider.binaryFiles'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 261, + "startColumn": 17, + "endLine": 261, + "endColumn": 28, + "charOffset": 10817, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2810E9075BE5A055D2088B068DCAAF819E69B92B9BE17FB28649BF2446307FF1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "LocalVariableHidesMember", + "ruleIndex": 32, + "message": { + "text": "Local variable 'parse_table' hides field 'IDictionary> LitJson.JsonReader.parse_table'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 158, + "startColumn": 55, + "endLine": 158, + "endColumn": 66, + "charOffset": 3785, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7EF9F55CC135FFD2331D997536C3E650AA5CDE782C99E2F6FAD09617EA5B76BA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "LocalVariableHidesMember", + "ruleIndex": 32, + "message": { + "text": "Local variable 'textFiles' hides field 'Lazy> Cake.Issues.GitRepository.GitRepositoryIssuesProvider.textFiles'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 210, + "startColumn": 17, + "endLine": 210, + "endColumn": 26, + "charOffset": 8743, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3D731ED1372367666912DF0D90AC6334594A507A14E92796A00FCF8EE408C997" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 253, + "startColumn": 27, + "endLine": 253, + "endColumn": 29, + "charOffset": 5937, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2136CAEAA2FFA7A22B03DD10C98D85918928321499B26F40D6EE54E36017E632" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 412, + "startColumn": 21, + "endLine": 412, + "endColumn": 23, + "charOffset": 9927, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C3F12A3942EAF6F7AD36B46AC7B4307C5236768962D102E09BF9F0AA23CA851D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 419, + "startColumn": 21, + "endLine": 419, + "endColumn": 23, + "charOffset": 10102, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "05951E862E64915F82EDE4BED53E4219522BF2D62E4441DC084C8F14F62F7D8B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 426, + "startColumn": 21, + "endLine": 426, + "endColumn": 23, + "charOffset": 10276, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C95C135A5C9249CB70FA949AE4A02E7CE685CA6A523A38A9EAB820F475DE09C8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 433, + "startColumn": 21, + "endLine": 433, + "endColumn": 23, + "charOffset": 10440, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B6DC59B6728AC6B76778101A3E1187A4E35678366B92416CC44F7DD80F5D9F4A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 440, + "startColumn": 21, + "endLine": 440, + "endColumn": 23, + "charOffset": 10607, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1451352DC409F4DE3028A615BF167DD508F739C9ED6FA5FA9896EBDACD4B7891" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 821, + "startColumn": 21, + "endLine": 821, + "endColumn": 23, + "charOffset": 20855, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4BB10A8BB9BE5C49FE4176E5D944D0662FD21489CC51FA5F1B4B0CC47DBE11AB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 807, + "startColumn": 21, + "endLine": 807, + "endColumn": 23, + "charOffset": 26669, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DD48B6CE4A84E8C227C691A8C9C65DCCF4D648DC9B1C7B21F2B3D3475E8C713E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 817, + "startColumn": 21, + "endLine": 817, + "endColumn": 23, + "charOffset": 26961, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1451352DC409F4DE3028A615BF167DD508F739C9ED6FA5FA9896EBDACD4B7891" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 823, + "startColumn": 21, + "endLine": 823, + "endColumn": 23, + "charOffset": 27094, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "05951E862E64915F82EDE4BED53E4219522BF2D62E4441DC084C8F14F62F7D8B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 829, + "startColumn": 21, + "endLine": 829, + "endColumn": 23, + "charOffset": 27227, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7749FF2B4B8A68DA2D7228069320C2B9172C795A52295AC3AA30857B044830CF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 835, + "startColumn": 21, + "endLine": 835, + "endColumn": 23, + "charOffset": 27359, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C95C135A5C9249CB70FA949AE4A02E7CE685CA6A523A38A9EAB820F475DE09C8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 841, + "startColumn": 21, + "endLine": 841, + "endColumn": 23, + "charOffset": 27488, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CE3AE9B8A62965A874F0BD7F2F80A820A38D360811A5A8CE5A4ED7FE6746D928" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 847, + "startColumn": 21, + "endLine": 847, + "endColumn": 23, + "charOffset": 27620, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B6DC59B6728AC6B76778101A3E1187A4E35678366B92416CC44F7DD80F5D9F4A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 853, + "startColumn": 21, + "endLine": 853, + "endColumn": 23, + "charOffset": 27750, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "17BBBE1FC4E665816754F275EE8854B0EA695205F7D5784FF6D3E7974BF495E3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeCastWithTypeCheck", + "ruleIndex": 33, + "level": "note", + "message": { + "text": "Merge cast with type check" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 865, + "startColumn": 21, + "endLine": 865, + "endColumn": 23, + "charOffset": 28058, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "777D344B31B1BA632574538095F6070F3DE9E5D87EAFBFAD641926B76BD91808" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx/DocFxIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 125 + }, + "region": { + "startLine": 95, + "startColumn": 31, + "endLine": 95, + "endColumn": 33, + "charOffset": 3846, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CE515D1AE295EF847A48196A094475594BA40F2FCE1F5E2D395DA544DA7EB080" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console/ConsoleIssueReportGenerator.cs", + "uriBaseId": "solutionDir", + "index": 126 + }, + "region": { + "startLine": 129, + "startColumn": 78, + "endLine": 129, + "endColumn": 80, + "charOffset": 4973, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9154D8A6D7039002DDF2114C4DDD19A2AA8FC2DEC7D2F4BB2BB6E07256502A91" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console/ConsoleIssueReportGenerator.cs", + "uriBaseId": "solutionDir", + "index": 126 + }, + "region": { + "startLine": 130, + "startColumn": 80, + "endLine": 130, + "endColumn": 82, + "charOffset": 5103, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A8BE151FC6434329FB14EC495FA20249D2FF9FE15F343480E34548A260AEB307" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console/ConsoleIssueReportGenerator.cs", + "uriBaseId": "solutionDir", + "index": 126 + }, + "region": { + "startLine": 131, + "startColumn": 77, + "endLine": 131, + "endColumn": 79, + "charOffset": 5232, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3B76E02BE2AAF9AAF7E5C9C55F6A16BD5C87F534A0B4CF9F9B79092F6550A6F8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console/ConsoleIssueReportGenerator.cs", + "uriBaseId": "solutionDir", + "index": 126 + }, + "region": { + "startLine": 132, + "startColumn": 83, + "endLine": 132, + "endColumn": 85, + "charOffset": 5364, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BC5FA3A663E89AE5AF744402AFDA7097251EF44D579D398C7B974E07619FA582" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 436, + "startColumn": 37, + "endLine": 436, + "endColumn": 39, + "charOffset": 13377, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A0193738137DA6066673789FA2DDB5368E6801B5E087ED5D163841D99B1742E1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 248, + "startColumn": 46, + "endLine": 248, + "endColumn": 48, + "charOffset": 6302, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7F078933F2E5562963BAC5F379D0659E2D17D5009832D4C2F662A5725ACE4194" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 251, + "startColumn": 45, + "endLine": 251, + "endColumn": 47, + "charOffset": 6409, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1DE441E43CD8F0C6A3F54318B5F8DC507A07C2A6B63896D931D3B1978AED64FE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 325, + "startColumn": 41, + "endLine": 325, + "endColumn": 43, + "charOffset": 8704, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0FCEA76BCA0258FB4F03165E005D89D821566365C3AA24F2C8163A0774F67B55" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 348, + "startColumn": 45, + "endLine": 348, + "endColumn": 47, + "charOffset": 9378, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F49A133162473B3DB0329AE5878295DE71A039CDAF8256966D4ED0D45EC72ADE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 355, + "startColumn": 46, + "endLine": 355, + "endColumn": 48, + "charOffset": 9644, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1318D52AAC30EE1BDECAB44EB2B75AF9B6638711A4F781932E35676EBFF3306B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 395, + "startColumn": 42, + "endLine": 395, + "endColumn": 44, + "charOffset": 10892, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "82EE98CA8206925363281D3C31CD5F43968D4A8AFE33643799DB5C5931A525D0" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 432, + "startColumn": 41, + "endLine": 432, + "endColumn": 43, + "charOffset": 11950, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "50ED87A0DC2B817868123DB81ECAF6DFDF41621CD81FE7D89694BC153B42B554" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 446, + "startColumn": 45, + "endLine": 446, + "endColumn": 47, + "charOffset": 12345, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F49A133162473B3DB0329AE5878295DE71A039CDAF8256966D4ED0D45EC72ADE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 453, + "startColumn": 46, + "endLine": 453, + "endColumn": 48, + "charOffset": 12611, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1318D52AAC30EE1BDECAB44EB2B75AF9B6638711A4F781932E35676EBFF3306B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 488, + "startColumn": 41, + "endLine": 488, + "endColumn": 43, + "charOffset": 13624, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "50ED87A0DC2B817868123DB81ECAF6DFDF41621CD81FE7D89694BC153B42B554" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 512, + "startColumn": 45, + "endLine": 512, + "endColumn": 47, + "charOffset": 14325, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F49A133162473B3DB0329AE5878295DE71A039CDAF8256966D4ED0D45EC72ADE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 519, + "startColumn": 46, + "endLine": 519, + "endColumn": 48, + "charOffset": 14591, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1318D52AAC30EE1BDECAB44EB2B75AF9B6638711A4F781932E35676EBFF3306B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 778, + "startColumn": 45, + "endLine": 778, + "endColumn": 47, + "charOffset": 20980, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "46C3C47D8A58A0FE829C6BD8119ACBC1BE21F455DCA06E94043F12BBD3FE3881" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 779, + "startColumn": 45, + "endLine": 779, + "endColumn": 47, + "charOffset": 21055, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1E5DFA64525DC8D77E86FF302E870CD42099A91F55C1FFE17B682959BBA5CB8F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 780, + "startColumn": 45, + "endLine": 780, + "endColumn": 47, + "charOffset": 21130, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AB78D4DC079AD9574BBBF7AE85879F0D772E6C1C45C8495141B42CA25C9BDA2C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "MergeIntoPattern", + "ruleIndex": 34, + "level": "note", + "message": { + "text": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Sarif/SarifIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 107 + }, + "region": { + "startLine": 176, + "startColumn": 34, + "endLine": 176, + "endColumn": 36, + "charOffset": 6769, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D3951EB67497E88D4E72C62ABD456448935A92A9982E777B8A0788706BAA33B2" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "NotAccessedField.Local", + "ruleIndex": 35, + "message": { + "text": "Field 'sarifIssueReportFormatSettings' is assigned but its value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif/SarifIssueReportGenerator.cs", + "uriBaseId": "solutionDir", + "index": 15 + }, + "region": { + "startLine": 28, + "startColumn": 57, + "endLine": 28, + "endColumn": 87, + "charOffset": 985, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8F799BB417C70877232BE896E91F06FC76DFFD1D5A4EC7CD8D537308D90520C1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "NotDisposedResourceIsReturned", + "ruleIndex": 36, + "message": { + "text": "Return value must be disposed but method 'GetEnumerator' is not annotated with [MustDisposeResource]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 576, + "startColumn": 47, + "endLine": 576, + "endColumn": 60, + "charOffset": 14525, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A925619277C88FC71F2FB64A705C7C9C41C6524554D9C3C6770D77A154CF9A88" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "NotDisposedResourceIsReturned", + "ruleIndex": 36, + "message": { + "text": "Return value must be disposed but method 'GetEnumerator' is not annotated with [MustDisposeResource]" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 600, + "startColumn": 39, + "endLine": 600, + "endColumn": 52, + "charOffset": 15112, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5599501971893B391D6E57E2967059DD7C392CBEE3B37209B689F1C3E774DB4D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "NotResolvedInText", + "ruleIndex": 37, + "message": { + "text": "Cannot resolve symbol 'Foo'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Testing/ExceptionAssertExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 59 + }, + "region": { + "startLine": 39, + "startColumn": 67, + "endLine": 39, + "endColumn": 70, + "charOffset": 1446, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0D2CAF3943C8490A41688DFF396FD4731E20744ED86D342964D0B6295F29A3C5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "NotResolvedInText", + "ruleIndex": 37, + "message": { + "text": "Cannot resolve symbol 'Foo'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Testing/ExceptionAssertExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 59 + }, + "region": { + "startLine": 114, + "startColumn": 60, + "endLine": 114, + "endColumn": 63, + "charOffset": 4195, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B399444CFBBC0353DED23879E13393352B2DF174C4B09E50AF3D76FF672D7E27" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "NotResolvedInText", + "ruleIndex": 37, + "message": { + "text": "Cannot resolve symbol 'Foo'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Testing/ExceptionAssertExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 59 + }, + "region": { + "startLine": 189, + "startColumn": 66, + "endLine": 189, + "endColumn": 69, + "charOffset": 6998, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8CBE2FF1B0DAED30DAEBE246CCF13850D03DA838E081026E8EA9AC2CBE1A09A1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ParameterOnlyUsedForPreconditionCheck.Local", + "ruleIndex": 38, + "message": { + "text": "Parameter 'depth' is only passed to itself and used for precondition check(s)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 793, + "startColumn": 45, + "endLine": 793, + "endColumn": 50, + "charOffset": 26216, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0E2D627BA112C835B546C66549FFE660D4B3100DF8883361CECA067C7BEA013A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleInterfaceMemberAmbiguity", + "ruleIndex": 39, + "message": { + "text": "Possible ambiguity while accessing by this interface:\r\n void System.Collections.IDictionary.Clear()\r\n bool System.Collections.IDictionary.Contains(object)\r\n bool System.Collections.IDictionary.IsFixedSize\r\n bool System.Collections.IDictionary.IsFixedSize.get\r\n bool System.Collections.IDictionary.IsReadOnly\r\n bool System.Collections.IDictionary.IsReadOnly.get\r\n void System.Collections.IDictionary.Remove(object)\r\n void System.Collections.IList.Clear()\r\n bool System.Collections.IList.Contains(object?)\r\n bool System.Collections.IList.IsFixedSize\r\n bool System.Collections.IList.IsFixedSize.get\r\n bool System.Collections.IList.IsReadOnly\r\n bool System.Collections.IList.IsReadOnly.get\r\n void System.Collections.IList.Remove(object?)\r\n void System.Collections.IList.RemoveAt(int)\r\n object? System.Collections.IList.this[int]\r\n object? System.Collections.IList.this[int].get\r\n object? System.Collections.IList.this[int].set\r\n void System.Collections.Specialized.IOrderedDictionary.RemoveAt(int)\r\n object? System.Collections.Specialized.IOrderedDictionary.this[int]\r\n object? System.Collections.Specialized.IOrderedDictionary.this[int].get\r\n object? System.Collections.Specialized.IOrderedDictionary.this[int].set" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/IJsonWrapper.cs", + "uriBaseId": "solutionDir", + "index": 29 + }, + "region": { + "startLine": 39, + "startColumn": 24, + "endLine": 39, + "endColumn": 36, + "charOffset": 872, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "39FCC3145EEC20C828A489F8FBC18148E6D06F4D43B3DB27E02D7E698902FE67" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleInvalidCastException", + "ruleIndex": 40, + "message": { + "text": "Possible 'System.InvalidCastException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 918, + "startColumn": 34, + "endLine": 918, + "endColumn": 43, + "charOffset": 29874, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "638A8E5DC7EF2B5C3183EDCBDA23EAF0977B1EBDA23CC0DB81162E9BDEA363DC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleInvalidCastException", + "ruleIndex": 40, + "message": { + "text": "Possible 'System.InvalidCastException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 920, + "startColumn": 34, + "endLine": 920, + "endColumn": 43, + "charOffset": 29970, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8CB01FD4A858B55F886F8B61B68FE0BBD434007766EEDDFEEB0D6F214CD0DFE0" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleInvalidCastException", + "ruleIndex": 40, + "message": { + "text": "Possible 'System.InvalidCastException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 922, + "startColumn": 34, + "endLine": 922, + "endColumn": 44, + "charOffset": 30067, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BCC74E3B8B6A73E12AF8245B6886BBDAAFF7A232C7B7FCF1E80B425B50FF04D6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleInvalidCastException", + "ruleIndex": 40, + "message": { + "text": "Possible 'System.InvalidCastException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 924, + "startColumn": 34, + "endLine": 924, + "endColumn": 45, + "charOffset": 30166, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DA02CBF652BE2B02479572E7802E837800538B2BAFF60BC63FD6C8B389A4C86D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleInvalidCastException", + "ruleIndex": 40, + "message": { + "text": "Possible 'System.InvalidCastException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 926, + "startColumn": 34, + "endLine": 926, + "endColumn": 44, + "charOffset": 30265, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CAD43DE5503FC154B0A426DE9BCE1467CE7F7910E8112CB90E508584E465E442" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleInvalidCastException", + "ruleIndex": 40, + "message": { + "text": "Possible 'System.InvalidCastException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 928, + "startColumn": 34, + "endLine": 928, + "endColumn": 43, + "charOffset": 30362, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "314541F9460BF08C2C923E33A5F1CD2CB171A36468F023FD7E2C5E8F5091793F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleInvalidCastException", + "ruleIndex": 40, + "message": { + "text": "Possible 'System.InvalidCastException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 930, + "startColumn": 34, + "endLine": 930, + "endColumn": 44, + "charOffset": 30459, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "135BE3CAE32867344F15B2627227A18B5C7DBFA3C3E861D702E96A0549C9AAEC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleInvalidCastException", + "ruleIndex": 40, + "message": { + "text": "Possible 'System.InvalidCastException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 932, + "startColumn": 34, + "endLine": 932, + "endColumn": 42, + "charOffset": 30528, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "27B9C619042D555B062B92D967CC99FD716CB363EB06CECEB8DC69BA54ADCCAD" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleMultipleEnumeration", + "ruleIndex": 41, + "message": { + "text": "Possible multiple enumeration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 216, + "startColumn": 39, + "endLine": 216, + "endColumn": 49, + "charOffset": 9085, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E86B409007FD8372E576AD13DBF99F1AAD3D3221705A467FA5107C4FB0E09D7E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleMultipleEnumeration", + "ruleIndex": 41, + "message": { + "text": "Possible multiple enumeration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 218, + "startColumn": 46, + "endLine": 218, + "endColumn": 56, + "charOffset": 9164, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "59FDA072209653AB1161354A1A5F04B33C417810172A25BB646863EFE2AC5B5A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleMultipleEnumeration", + "ruleIndex": 41, + "message": { + "text": "Possible multiple enumeration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 246, + "startColumn": 63, + "endLine": 246, + "endColumn": 78, + "charOffset": 10216, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7DBCC2C93E4444DAEFA9832C5D90652C93F8C1D59CD23C71CE2B317B2624B0F1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleMultipleEnumeration", + "ruleIndex": 41, + "message": { + "text": "Possible multiple enumeration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 248, + "startColumn": 20, + "endLine": 248, + "endColumn": 35, + "charOffset": 10264, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4DD55BA0E6F3EB56A89A88C1164763603F4F3748B1C90252D269CF742C91C9E0" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleMultipleEnumeration", + "ruleIndex": 41, + "message": { + "text": "Possible multiple enumeration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console/IssueDiagnostic.cs", + "uriBaseId": "solutionDir", + "index": 16 + }, + "region": { + "startLine": 30, + "startColumn": 16, + "endLine": 30, + "endColumn": 22, + "charOffset": 999, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0D1F29C28EFFD26B01CED3FD1A18D347DC678B7C530C80133A587EBC435D183" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleMultipleEnumeration", + "ruleIndex": 41, + "message": { + "text": "Possible multiple enumeration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console/IssueDiagnostic.cs", + "uriBaseId": "solutionDir", + "index": 16 + }, + "region": { + "startLine": 32, + "startColumn": 27, + "endLine": 32, + "endColumn": 33, + "charOffset": 1060, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A5FD0CC2EA9198EAD32A8FD10286ED4A2F7BB90C393B69E176E2A29F92ABAA82" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleMultipleEnumeration", + "ruleIndex": 41, + "message": { + "text": "Possible multiple enumeration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif/SarifIssueReportGenerator.cs", + "uriBaseId": "solutionDir", + "index": 15 + }, + "region": { + "startLine": 57, + "startColumn": 17, + "endLine": 57, + "endColumn": 23, + "charOffset": 2087, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B8D2183C035FB48E8B802EECB3D96DB297DF39C61D8D010737B27388717AA609" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleMultipleEnumeration", + "ruleIndex": 41, + "message": { + "text": "Possible multiple enumeration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif/SarifIssueReportGenerator.cs", + "uriBaseId": "solutionDir", + "index": 15 + }, + "region": { + "startLine": 60, + "startColumn": 58, + "endLine": 60, + "endColumn": 64, + "charOffset": 2219, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9D6152597C7547054A001F8E986835B6D1481FA3C6836DA5013BF98D1EF2E097" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleNullReferenceException", + "ruleIndex": 42, + "message": { + "text": "Possible 'System.NullReferenceException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 455, + "startColumn": 17, + "endLine": 455, + "endColumn": 21, + "charOffset": 14013, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9FB420D838E8C2D3ABA37593E3FB02FC56404BEEADCB2A9D8C0F54FC02E6FA94" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleNullReferenceException", + "ruleIndex": 42, + "message": { + "text": "Possible 'System.NullReferenceException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 538, + "startColumn": 26, + "endLine": 538, + "endColumn": 47, + "charOffset": 17004, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BC55999BC431ADCE63A875D8E813A9D2B846EDB33FCB7C5BBE262D761049D6D1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleNullReferenceException", + "ruleIndex": 42, + "message": { + "text": "Possible 'System.NullReferenceException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 489, + "startColumn": 21, + "endLine": 489, + "endColumn": 33, + "charOffset": 12662, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D91D6A2D61F8230239BC852F13DBCED0A98AADE55D12C041A3075326F1B2633F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleNullReferenceException", + "ruleIndex": 42, + "message": { + "text": "Possible 'System.NullReferenceException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/TerraformIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 127 + }, + "region": { + "startLine": 49, + "startColumn": 36, + "endLine": 49, + "endColumn": 48, + "charOffset": 2015, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5EDCCF37C819A776C35FC6BD2FDE803829E4ED6F3C1B96E31B72107004E78782" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleNullReferenceException", + "ruleIndex": 42, + "message": { + "text": "Possible 'System.NullReferenceException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Testing/BaseIssueProviderFixture.cs", + "uriBaseId": "solutionDir", + "index": 128 + }, + "region": { + "startLine": 75, + "startColumn": 13, + "endLine": 75, + "endColumn": 21, + "charOffset": 2642, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FFD8A262DFF725048DAF1A43CB239D38E4A2809CD5169DBEFA74A5B1D39C328E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PossibleNullReferenceException", + "ruleIndex": 42, + "message": { + "text": "Possible 'System.NullReferenceException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/IssueDeserializationExtensions.cs", + "uriBaseId": "solutionDir", + "index": 129 + }, + "region": { + "startLine": 107, + "startColumn": 41, + "endLine": 107, + "endColumn": 45, + "charOffset": 4069, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5D4B72A8802E45BF4F58F71133B12370D06FE4CFF79F9A9F3D5989965CBF9BCE" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PrivateFieldCanBeConvertedToLocalVariable", + "ruleIndex": 43, + "message": { + "text": "The field is always assigned before being used and can be converted into a local variable" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 18, + "startColumn": 52, + "endLine": 18, + "endColumn": 61, + "charOffset": 556, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1D72B8FBB85295D1178228FAFED2341D93064F5CB645616F57563AC8CF0F14A3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueFiltererFixture.cs", + "uriBaseId": "solutionDir", + "index": 130 + }, + "region": { + "startLine": 29, + "startColumn": 35, + "endLine": 29, + "endColumn": 38, + "charOffset": 1045, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD26A46A1DE75B3F79F52BBADF6AA4104CED278379FADEDA473F5408BB37F4F7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueFiltererFixture.cs", + "uriBaseId": "solutionDir", + "index": 130 + }, + "region": { + "startLine": 31, + "startColumn": 63, + "endLine": 31, + "endColumn": 66, + "charOffset": 1117, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "86E618EF31CCE047D94F1CC2B4CB061A49D264EF52AB98D213B7900BAE4C4598" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueFiltererFixture.cs", + "uriBaseId": "solutionDir", + "index": 130 + }, + "region": { + "startLine": 33, + "startColumn": 67, + "endLine": 33, + "endColumn": 70, + "charOffset": 1193, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "38338DDF5AD19FBB550B9BB28A2201CFCFBCA5EB3D9097C448A7B6ACDAD2E350" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorForIssueProvidersFixture.cs", + "uriBaseId": "solutionDir", + "index": 131 + }, + "region": { + "startLine": 31, + "startColumn": 35, + "endLine": 31, + "endColumn": 38, + "charOffset": 1194, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD26A46A1DE75B3F79F52BBADF6AA4104CED278379FADEDA473F5408BB37F4F7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorForIssueProvidersFixture.cs", + "uriBaseId": "solutionDir", + "index": 131 + }, + "region": { + "startLine": 33, + "startColumn": 63, + "endLine": 33, + "endColumn": 66, + "charOffset": 1266, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AC29AE65A7E6A38DD3DEED67A248CEE9025CC36F0B6655E9A9B0B5A7FF1BF2BA" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorForIssueProvidersFixture.cs", + "uriBaseId": "solutionDir", + "index": 131 + }, + "region": { + "startLine": 35, + "startColumn": 63, + "endLine": 35, + "endColumn": 66, + "charOffset": 1338, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "86E618EF31CCE047D94F1CC2B4CB061A49D264EF52AB98D213B7900BAE4C4598" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorForIssueProvidersFixture.cs", + "uriBaseId": "solutionDir", + "index": 131 + }, + "region": { + "startLine": 37, + "startColumn": 84, + "endLine": 37, + "endColumn": 87, + "charOffset": 1431, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "18704920A232EC7E2FB6A36BBB4F8F3A3E089E0ED301A3A009BD4A3A1AE2A782" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorForIssuesFixture.cs", + "uriBaseId": "solutionDir", + "index": 132 + }, + "region": { + "startLine": 29, + "startColumn": 35, + "endLine": 29, + "endColumn": 38, + "charOffset": 1069, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD26A46A1DE75B3F79F52BBADF6AA4104CED278379FADEDA473F5408BB37F4F7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorForIssuesFixture.cs", + "uriBaseId": "solutionDir", + "index": 132 + }, + "region": { + "startLine": 31, + "startColumn": 63, + "endLine": 31, + "endColumn": 66, + "charOffset": 1141, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "86E618EF31CCE047D94F1CC2B4CB061A49D264EF52AB98D213B7900BAE4C4598" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorForIssuesFixture.cs", + "uriBaseId": "solutionDir", + "index": 132 + }, + "region": { + "startLine": 33, + "startColumn": 67, + "endLine": 33, + "endColumn": 70, + "charOffset": 1217, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "38338DDF5AD19FBB550B9BB28A2201CFCFBCA5EB3D9097C448A7B6ACDAD2E350" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Tests/IssueReportFormatFixture.cs", + "uriBaseId": "solutionDir", + "index": 25 + }, + "region": { + "startLine": 22, + "startColumn": 35, + "endLine": 22, + "endColumn": 38, + "charOffset": 809, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD26A46A1DE75B3F79F52BBADF6AA4104CED278379FADEDA473F5408BB37F4F7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Tests/IssueReportFormatFixture.cs", + "uriBaseId": "solutionDir", + "index": 25 + }, + "region": { + "startLine": 26, + "startColumn": 75, + "endLine": 26, + "endColumn": 78, + "charOffset": 965, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "083B1E063BFC2F905C5E2BD6FCD82BA89026FC81D1FD34D3E5C48CFA21F2344A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Testing/BaseIssueProviderFixture.cs", + "uriBaseId": "solutionDir", + "index": 128 + }, + "region": { + "startLine": 33, + "startColumn": 61, + "endLine": 33, + "endColumn": 64, + "charOffset": 1154, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "767699D16EE127E21B1CF81535BB2B7F443D36F5B3F09FF8678E8C1D70F92525" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 9, + "startColumn": 54, + "endLine": 9, + "endColumn": 57, + "charOffset": 326, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "53931293D6E9C62D89A1B149C39B351749231B9EFCB035BC686C932D3B38E28C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 12, + "startColumn": 42, + "endLine": 12, + "endColumn": 45, + "charOffset": 431, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EE24A619E26769F2D41747F3B25B4F24B85FB9584CADD65AD6589537F6A28B06" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 15, + "startColumn": 55, + "endLine": 15, + "endColumn": 58, + "charOffset": 562, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C8F40DE2874B666EE02BAF7E7617ABAAE8F22D7BFFFFFD519D8F71645DC17B3C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 18, + "startColumn": 33, + "endLine": 18, + "endColumn": 36, + "charOffset": 651, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "219BB2A50F5D08FF30C3F47A09D9CD546A58AED271A6663C58518A7590025076" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 21, + "startColumn": 38, + "endLine": 21, + "endColumn": 41, + "charOffset": 752, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AD3A8AF59E1CF2209093B751F7851679E22C33974E03ED5AF623530AAC507845" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 24, + "startColumn": 37, + "endLine": 24, + "endColumn": 40, + "charOffset": 849, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E44E2BF8A8FF1B59BAE349094A1EF8182952D6CD80696196394C6E97F4FAE255" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 27, + "startColumn": 43, + "endLine": 27, + "endColumn": 46, + "charOffset": 956, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1DECF734E2810EAACB006F1274B63B7000B69A457F18107DF82C9519CB0516CA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 30, + "startColumn": 35, + "endLine": 30, + "endColumn": 38, + "charOffset": 1049, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A31EAE4367887D6A6CAACE5C5A1695800796136F72DEB5C0668B50936736CAC4" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 33, + "startColumn": 38, + "endLine": 33, + "endColumn": 41, + "charOffset": 1146, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "99E8820D0BB847EE421E0927B1F60C027C0E6D8592A182FCC30462FF4C722A99" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 36, + "startColumn": 43, + "endLine": 36, + "endColumn": 46, + "charOffset": 1253, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2095A5EC18183D6AC922180886D72B5E42AD1775158F52776BED529E2F74C510" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "ruleIndex": 44, + "level": "note", + "message": { + "text": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir", + "index": 133 + }, + "region": { + "startLine": 39, + "startColumn": 43, + "endLine": 39, + "endColumn": 46, + "charOffset": 1360, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FECBB8B03810DB264E737BB6F9684BE09CF934FDEF0D7A5C66D28577A5055D7F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantAssignment", + "ruleIndex": 45, + "message": { + "text": "Value assigned is not used in any execution path" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx/DocFxIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 125 + }, + "region": { + "startLine": 40, + "startColumn": 62, + "endLine": 40, + "endColumn": 68, + "charOffset": 1554, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6D35D2378D555A5AF9662D474DB0D20F1D04F3B2D743AA0E30E0E5EF53E17668" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantAssignment", + "ruleIndex": 45, + "message": { + "text": "Value assigned is not used in any execution path" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/LogFileFormat/JsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 134 + }, + "region": { + "startLine": 27, + "startColumn": 49, + "endLine": 27, + "endColumn": 55, + "charOffset": 970, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "65D11DD6C494BEFAA612BE97BB255E48316D0FC07997565E9293C428C6629831" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantAssignment", + "ruleIndex": 45, + "message": { + "text": "Value assigned is not used in any execution path" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliJsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 111 + }, + "region": { + "startLine": 34, + "startColumn": 54, + "endLine": 34, + "endColumn": 60, + "charOffset": 1295, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1CD6929CF0C87A11F20AF59861104AEF1EDD264F90338BF47C1636E76D6C424A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantAssignment", + "ruleIndex": 45, + "message": { + "text": "Value assigned is not used in any execution path" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 906, + "startColumn": 32, + "endLine": 906, + "endColumn": 38, + "charOffset": 22910, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DD192D72C9BEC714D2C84417223C3B575ECAF163842EEA1B082B70D51C0769A9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantAssignment", + "ruleIndex": 45, + "message": { + "text": "Value assigned is not used in any execution path" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform/TerraformIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 127 + }, + "region": { + "startLine": 38, + "startColumn": 39, + "endLine": 38, + "endColumn": 45, + "charOffset": 1552, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6550DA83486843E8FBB5827B3AAFFECEC3C0B5ECDF3435D395B1FEDFDE826C11" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantBaseConstructorCall", + "ruleIndex": 46, + "message": { + "text": "Redundant base constructor call" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonException.cs", + "uriBaseId": "solutionDir", + "index": 30 + }, + "region": { + "startLine": 30, + "startColumn": 32, + "endLine": 30, + "endColumn": 40, + "charOffset": 658, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1A1D4188F55A2066DF95A8558A0EB82B7794CCF38A3CD3ECC6D13761D5D1750B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantCast", + "ruleIndex": 47, + "message": { + "text": "Type cast is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 601, + "startColumn": 22, + "endLine": 601, + "endColumn": 29, + "charOffset": 18859, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7067AC0E09EA19CA81D7071BC3C3EE2AF7FB337B461080FB1E406085BC065770" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantCast", + "ruleIndex": 47, + "message": { + "text": "Type cast is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 617, + "startColumn": 22, + "endLine": 617, + "endColumn": 35, + "charOffset": 19323, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "633CF4609A1361C965DA50FC68C72D3A235D4D7FF3225B341CA9A1EC178B8AA0" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantCast", + "ruleIndex": 47, + "message": { + "text": "Type cast is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 281, + "startColumn": 21, + "endLine": 281, + "endColumn": 26, + "charOffset": 7455, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F950D310C023033D2E01961F48151A3A09BA258A233300A61FE5014457CA0CFA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantCast", + "ruleIndex": 47, + "message": { + "text": "Type cast is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 281, + "startColumn": 42, + "endLine": 281, + "endColumn": 47, + "charOffset": 7476, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F950D310C023033D2E01961F48151A3A09BA258A233300A61FE5014457CA0CFA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantCast", + "ruleIndex": 47, + "message": { + "text": "Type cast is redundant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 288, + "startColumn": 26, + "endLine": 288, + "endColumn": 31, + "charOffset": 7693, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D32831C52FCE8CD24B252DE3C76F1D1C4EE9FC75EEC1B7712562567D08C51E15" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantDelegateCreation", + "ruleIndex": 48, + "message": { + "text": "Redundant explicit delegate creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 50, + "startColumn": 21, + "endLine": 50, + "endColumn": 50, + "charOffset": 2087, + "charLength": 29 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4DEFA3C2C972DD8467D9A1C946436EFC47347A453B79FB370D7FD8EF421A44FA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantDelegateCreation", + "ruleIndex": 48, + "message": { + "text": "Redundant explicit delegate creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 54, + "startColumn": 21, + "endLine": 54, + "endColumn": 50, + "charOffset": 2284, + "charLength": 29 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B314554B241AC5E9862C97BB51A94413CABC14E0A0A2DCDD56B1DB57FBA33132" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantDelegateCreation", + "ruleIndex": 48, + "message": { + "text": "Redundant explicit delegate creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 27 + }, + "region": { + "startLine": 58, + "startColumn": 21, + "endLine": 58, + "endColumn": 50, + "charOffset": 2484, + "charLength": 29 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BFC9BBBE3BA96495A4403C61A527CE836107F10C9E177D6CD6DACEAA852F8601" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantExplicitArrayCreation", + "ruleIndex": 49, + "message": { + "text": "Redundant explicit array type specification" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 326, + "startColumn": 36, + "endLine": 326, + "endColumn": 40, + "charOffset": 9687, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7D449E4063CB51761DEC188C7D5CE91EE1532882A545FC74419F21867CAE9289" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantExplicitArrayCreation", + "ruleIndex": 49, + "message": { + "text": "Redundant explicit array type specification" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 420, + "startColumn": 48, + "endLine": 420, + "endColumn": 54, + "charOffset": 12844, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E5D0979DE629A16D77FCA88644A39A88D5056CBAE95E43DD5274BD0396AF63EF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantExplicitArraySize", + "ruleIndex": 50, + "message": { + "text": "Redundant explicit array size specification" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 149, + "startColumn": 50, + "endLine": 149, + "endColumn": 52, + "charOffset": 3731, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "08B7158229440808ED248A647C736961FEA958A96E3B1CF94455DDBC2D759D6D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantExplicitArraySize", + "ruleIndex": 50, + "message": { + "text": "Redundant explicit array size specification" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 180, + "startColumn": 40, + "endLine": 180, + "endColumn": 42, + "charOffset": 4513, + "charLength": 2 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A84189CF6364DA285A6E80FAA8E270C20E6C15B0A534345D70BC20DE74F580E9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantJumpStatement", + "ruleIndex": 51, + "message": { + "text": "Redundant control flow jump statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 886, + "startColumn": 17, + "endLine": 886, + "endColumn": 24, + "charOffset": 22517, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DAECDB6E9EBC50A95D212E77303C9B54F9A2A6863C46B50858B5B5AFD1AA97A9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantJumpStatement", + "ruleIndex": 51, + "message": { + "text": "Redundant control flow jump statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 931, + "startColumn": 17, + "endLine": 931, + "endColumn": 24, + "charOffset": 23797, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1D08B4B3EC837A574209B6988D2AE030F926E8D9BA5956155FC7E64D56433C9E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantJumpStatement", + "ruleIndex": 51, + "message": { + "text": "Redundant control flow jump statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 212, + "startColumn": 21, + "endLine": 212, + "endColumn": 28, + "charOffset": 6230, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8053FD88EC449DDEB5EDB3098A77F002270190E03679141508BE0E545B1E9350" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantJumpStatement", + "ruleIndex": 51, + "message": { + "text": "Redundant control flow jump statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 269, + "startColumn": 21, + "endLine": 269, + "endColumn": 28, + "charOffset": 8031, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8053FD88EC449DDEB5EDB3098A77F002270190E03679141508BE0E545B1E9350" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantJumpStatement", + "ruleIndex": 51, + "message": { + "text": "Redundant control flow jump statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 309, + "startColumn": 21, + "endLine": 309, + "endColumn": 28, + "charOffset": 9199, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8053FD88EC449DDEB5EDB3098A77F002270190E03679141508BE0E545B1E9350" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/BaseEsLintLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 135 + }, + "region": { + "startLine": 11, + "startColumn": 5, + "endLine": 12, + "endColumn": 6, + "charOffset": 381, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8E23815ACE8218647B30B49240961B101CA18B9733A535F3F4103D50FF000628" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/EsLintIssuesAliases.cs", + "uriBaseId": "solutionDir", + "index": 136 + }, + "region": { + "startLine": 10, + "startColumn": 5, + "endLine": 11, + "endColumn": 6, + "charOffset": 305, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0773ED38F5C94DF32284332AD7ED758ED4641E4279D849F4D492855993A489C2" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/BaseMarkdownlintLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 137 + }, + "region": { + "startLine": 11, + "startColumn": 5, + "endLine": 12, + "endColumn": 6, + "charOffset": 428, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A2CA886C96D6BB9833CAAEF7D0176F839ABECAE331C64F34860E3ADCEF94959F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Markdownlint/MarkdownlintIssuesAliases.cs", + "uriBaseId": "solutionDir", + "index": 138 + }, + "region": { + "startLine": 10, + "startColumn": 5, + "endLine": 11, + "endColumn": 6, + "charOffset": 326, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C8B26B6E6AC942F827E33D9C2FAED1D5BEA10750FB4AD587DEEAECF0047B00A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild/MsBuildIssuesAliases.cs", + "uriBaseId": "solutionDir", + "index": 139 + }, + "region": { + "startLine": 13, + "startColumn": 5, + "endLine": 14, + "endColumn": 6, + "charOffset": 496, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6FF5039762B265AFE6FED7F31582C3CEAAA7077B5ACB83161DDFB04A72AC56BA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.GitHubActions.Tests/GitHubActionsBuildSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 140 + }, + "region": { + "startLine": 6, + "startColumn": 9, + "endLine": 7, + "endColumn": 10, + "charOffset": 168, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "93D5BE8248504DE461718A318AD6E903719478E4D5F225AEE4FE02FC1C027F68" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif/SarifIssueReportFormatSettings.cs", + "uriBaseId": "solutionDir", + "index": 141 + }, + "region": { + "startLine": 7, + "startColumn": 5, + "endLine": 8, + "endColumn": 6, + "charOffset": 201, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E0916BB1F99B4F53ADAF8A496F5818C68C55B8257184C0E72001DFE55942C934" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Testing/AssertionMethodAttribute.cs", + "uriBaseId": "solutionDir", + "index": 142 + }, + "region": { + "startLine": 9, + "startColumn": 5, + "endLine": 10, + "endColumn": 6, + "charOffset": 210, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FAB8CBAD5E26C0C8DC4A52D66E0E492B8AF88D6F823A29858F538E954176C098" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Testing/FakeRuleDescription.cs", + "uriBaseId": "solutionDir", + "index": 143 + }, + "region": { + "startLine": 7, + "startColumn": 5, + "endLine": 8, + "endColumn": 6, + "charOffset": 223, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DA7D0DFF800B95FAA2EB7FCEA22A688F1EAD1960A19765F69169AAA227329483" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/Aliases.cs", + "uriBaseId": "solutionDir", + "index": 144 + }, + "region": { + "startLine": 10, + "startColumn": 5, + "endLine": 11, + "endColumn": 6, + "charOffset": 287, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9EDAC7DA223D436C8EE9EFC591B411C52DCD9F0AF4ED4C6914800F5E02A6E774" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty class declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/ValidatedNotNullAttribute.cs", + "uriBaseId": "solutionDir", + "index": 145 + }, + "region": { + "startLine": 10, + "startColumn": 5, + "endLine": 11, + "endColumn": 6, + "charOffset": 289, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "036D6E4FD6D761950C8B1729FF82D2B21128626310F5CB7A22C6BAC33A3A97EA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty interface declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IPullRequestSystemCapability.cs", + "uriBaseId": "solutionDir", + "index": 146 + }, + "region": { + "startLine": 7, + "startColumn": 5, + "endLine": 8, + "endColumn": 6, + "charOffset": 203, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F4F514908DD2BF5D212B8FA51DDAB84E6DC8B82D381BE1EF56885A43DEE4E304" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty interface declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IReportIssuesToPullRequestFromIssueProviderSettings.cs", + "uriBaseId": "solutionDir", + "index": 147 + }, + "region": { + "startLine": 7, + "startColumn": 5, + "endLine": 8, + "endColumn": 6, + "charOffset": 324, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B1BEE362632BED27A23572DD081DE539D6F625766F0950AA08644E2B43EE0D4E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantTypeDeclarationBody", + "ruleIndex": 52, + "level": "note", + "message": { + "text": "Redundant empty interface declaration body" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting/ICreateIssueReportFromIssueProviderSettings.cs", + "uriBaseId": "solutionDir", + "index": 148 + }, + "region": { + "startLine": 7, + "startColumn": 5, + "endLine": 8, + "endColumn": 6, + "charOffset": 287, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4AA5EF9C265E6FC68AB8AA6B432EBE15274F045F7211CA616ABDAF0A19C597F2" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx/DocFxIssuesProvider.cs", + "uriBaseId": "solutionDir", + "index": 125 + }, + "region": { + "startLine": 3, + "startColumn": 5, + "endLine": 3, + "endColumn": 18, + "charOffset": 36, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2F419EC55975954C8E93392964056FAF7A066FAB8EDE96704FB3A772E37A2F41" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint.Tests/Properties/ProjectInfo.cs", + "uriBaseId": "solutionDir", + "index": 149 + }, + "region": { + "startLine": 1, + "startColumn": 1, + "endLine": 1, + "endColumn": 25, + "charOffset": 0, + "charLength": 24 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4CAA04C8200A7BACF0980AAAD7F3105858E8501153D8884655BDD243DBB233E3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/LogFileFormat/JsonLogFileFormat.cs", + "uriBaseId": "solutionDir", + "index": 134 + }, + "region": { + "startLine": 6, + "startColumn": 5, + "endLine": 6, + "endColumn": 43, + "charOffset": 136, + "charLength": 38 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C6C415352A54AF1B765FF98045FE0DFA47DB4514938827450550EA823E57FFC1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.EsLint/Properties/ProjectInfo.cs", + "uriBaseId": "solutionDir", + "index": 150 + }, + "region": { + "startLine": 2, + "startColumn": 1, + "endLine": 2, + "endColumn": 25, + "charOffset": 15, + "charLength": 24 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4029A836F69A2D9F4A987455EA8D6B1C1258A76D9BC22AA631CD0E9945D98BFD" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/PullRequestIssuesException.cs", + "uriBaseId": "solutionDir", + "index": 151 + }, + "region": { + "startLine": 4, + "startColumn": 5, + "endLine": 4, + "endColumn": 40, + "charOffset": 62, + "charLength": 35 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5497A12D2A0E0252D527337190C55F0B3EB5BEEA069C83E2381F52196351882E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 22, + "startColumn": 1, + "endLine": 22, + "endColumn": 19, + "charOffset": 527, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "371365285C6A86D4644F291BFC86D2E348316B59DAA3F735BE91F6AC69639F6A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 19, + "startColumn": 1, + "endLine": 19, + "endColumn": 34, + "charOffset": 466, + "charLength": 33 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D2AB74473F18C4D4DC5F310BED899AD60FADCD3C4B6EABBE60ED992D63AF4244" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml", + "uriBaseId": "solutionDir", + "index": 2 + }, + "region": { + "startLine": 4, + "startColumn": 2, + "endLine": 4, + "endColumn": 19, + "charOffset": 81, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BF72F6569429F1FE11F18042C17D87F00576687EE5BC685A15FDBD89B98F7AAD" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml", + "uriBaseId": "solutionDir", + "index": 2 + }, + "region": { + "startLine": 5, + "startColumn": 2, + "endLine": 5, + "endColumn": 19, + "charOffset": 101, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7403D13738799DB0AFF37F8F5719988905D06F33A3CF37008770AAB509AAA91F" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml", + "uriBaseId": "solutionDir", + "index": 2 + }, + "region": { + "startLine": 6, + "startColumn": 2, + "endLine": 6, + "endColumn": 37, + "charOffset": 121, + "charLength": 35 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "28B9545935923738D41750F2D18E11C2E4CDF28FAADEBB0DB815EB83CB314C4C" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/Diagnostic.cshtml", + "uriBaseId": "solutionDir", + "index": 3 + }, + "region": { + "startLine": 4, + "startColumn": 2, + "endLine": 4, + "endColumn": 19, + "charOffset": 81, + "charLength": 17 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B4742AB7B95F8707B9533C9BF7CABAEEFF2962BA46C2AB708AB9CD96DE45D55" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir", + "index": 0 + }, + "region": { + "startLine": 6, + "startColumn": 2, + "endLine": 6, + "endColumn": 33, + "charOffset": 121, + "charLength": 31 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "965BE75B8C4C38C5CB5C0EFDADF64362D3059FFB3A1A1E0CD53B47669BEA89A0" + }, + "properties": { + "tags": ["C# HTML",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Sarif/IIssueExtensions.cs", + "uriBaseId": "solutionDir", + "index": 118 + }, + "region": { + "startLine": 4, + "startColumn": 5, + "endLine": 4, + "endColumn": 24, + "charOffset": 65, + "charLength": 19 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2EDBF16FA5E6BCAD1B3E0435A4C608F08AFF5070D0471CC90D3AA8B8C2FECF1A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Testing/BaseConfigurableIssueProviderFixture.cs", + "uriBaseId": "solutionDir", + "index": 26 + }, + "region": { + "startLine": 6, + "startColumn": 5, + "endLine": 6, + "endColumn": 23, + "charOffset": 118, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AC4D4A1C42CB4D661395AF61AE0A9160363BF1363EC263885A050907BC3729A5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Testing/BaseIssueProviderFixture.cs", + "uriBaseId": "solutionDir", + "index": 128 + }, + "region": { + "startLine": 5, + "startColumn": 5, + "endLine": 5, + "endColumn": 23, + "charOffset": 96, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5B07B80C21AF05CFCFED9A1C512F49C4498A04F0F810A4167EF5021411A7BF53" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantUsingDirective", + "ruleIndex": 53, + "message": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/StringPathExtensions.cs", + "uriBaseId": "solutionDir", + "index": 152 + }, + "region": { + "startLine": 5, + "startColumn": 5, + "endLine": 5, + "endColumn": 23, + "charOffset": 71, + "charLength": 18 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AC4D4A1C42CB4D661395AF61AE0A9160363BF1363EC263885A050907BC3729A5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 39, + "startColumn": 25, + "endLine": 39, + "endColumn": 26, + "charOffset": 1225, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4F98908BB236646E5E55F348FA0A4ED4FE4102A132132A056332014074F0E55F" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 43, + "startColumn": 25, + "endLine": 43, + "endColumn": 26, + "charOffset": 1451, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "40B93BBE273D82F3E746B181DF36D79371496C727477D8DF78E4AEFDAACCF598" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 63, + "startColumn": 51, + "endLine": 63, + "endColumn": 52, + "charOffset": 2311, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7E742C0AABA5C32EDD6C4DB9A701041B48E0584EFA4D5C04961155AB48377A91" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 75, + "startColumn": 80, + "endLine": 75, + "endColumn": 81, + "charOffset": 2824, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7F2061F256BBDBA4D27CDF3E28908569ABF6C7D36F4860594185F989C0F42F89" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 88, + "startColumn": 33, + "endLine": 88, + "endColumn": 34, + "charOffset": 3294, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0A01B206F5A3E5BC65F76465D14CD043E3280B8CD987DC79E2AC8F096D684806" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 100, + "startColumn": 82, + "endLine": 100, + "endColumn": 83, + "charOffset": 3833, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9794D1F7606E5594D326F6908FCAEB84165135D4FFB5094DD1047A65CA970DB6" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 113, + "startColumn": 33, + "endLine": 113, + "endColumn": 34, + "charOffset": 4303, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CEB85CD3EC2FC3CC40E0CE0EC9DFAD787F3470F71B46C4D51134FDA949D596FF" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 125, + "startColumn": 90, + "endLine": 125, + "endColumn": 91, + "charOffset": 4869, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "95AE442809D83B7ED768C714E82D1078B6BFC0FCAB9D6D1C52F4F5F23175C52B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 56 + }, + "region": { + "startLine": 138, + "startColumn": 33, + "endLine": 138, + "endColumn": 34, + "charOffset": 5339, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0A01B206F5A3E5BC65F76465D14CD043E3280B8CD987DC79E2AC8F096D684806" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 103, + "startColumn": 35, + "endLine": 103, + "endColumn": 36, + "charOffset": 3414, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "40CDE473A14FC29359F83C1902DAAB9CF774C5122DA9699F5AFC8F6A91DA79CE" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.DocFx.Tests/DocFxSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 4 + }, + "region": { + "startLine": 131, + "startColumn": 35, + "endLine": 131, + "endColumn": 36, + "charOffset": 4424, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "41953B0CAD228EE9D602576B426B60BDD9301F5A47AAFC475A263C3F98D9724A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.InspectCode.Tests/InspectCodeIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 153 + }, + "region": { + "startLine": 81, + "startColumn": 25, + "endLine": 81, + "endColumn": 26, + "charOffset": 2989, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AAEB6C11B80276DC4AA57C6AD62220CCA14396B22EA788928602A6CFC5BC98D2" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.InspectCode.Tests/InspectCodeIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 153 + }, + "region": { + "startLine": 112, + "startColumn": 25, + "endLine": 112, + "endColumn": 26, + "charOffset": 4352, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AAEB6C11B80276DC4AA57C6AD62220CCA14396B22EA788928602A6CFC5BC98D2" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/BaseMsBuildLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 44 + }, + "region": { + "startLine": 88, + "startColumn": 55, + "endLine": 88, + "endColumn": 56, + "charOffset": 3200, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "763607CE0BF082D0D9B1E06EDA986BB0D83FF8981885B04D6EE72AD5D453C78D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/BaseMsBuildLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 44 + }, + "region": { + "startLine": 89, + "startColumn": 54, + "endLine": 89, + "endColumn": 55, + "charOffset": 3266, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D256AE5CEE0D51268F548DAEE757B9E7C2B2AC762B9349B8A66BB884C9ACB849" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/BaseMsBuildLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 44 + }, + "region": { + "startLine": 90, + "startColumn": 54, + "endLine": 90, + "endColumn": 55, + "charOffset": 3332, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "537A47017CF64CC518B4146C5D30ECDE63312219BB2AC05550704E3FA5DCD0E0" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/LogFileFormat/XmlFileLoggerLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 104 + }, + "region": { + "startLine": 248, + "startColumn": 25, + "endLine": 248, + "endColumn": 26, + "charOffset": 14943, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C4B0EB02EEA47D97216CA7CB091E826B61895D3CD98C04E5A42FE654F4EAA9D9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/LogFileFormat/XmlFileLoggerLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 104 + }, + "region": { + "startLine": 427, + "startColumn": 29, + "endLine": 427, + "endColumn": 30, + "charOffset": 22772, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "03D78422CA19416CFB9BB14F39FB0E5F29DF866E6974676893610CA32AB2E261" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/LogFileFormat/XmlFileLoggerLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 104 + }, + "region": { + "startLine": 450, + "startColumn": 29, + "endLine": 450, + "endColumn": 30, + "charOffset": 23813, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "824308DB10915BB7B72F5A2574689AC5622D5BA9C1D97C9D124A0EA749A7E92D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.MsBuild.Tests/LogFileFormat/XmlFileLoggerLogFileFormatTests.cs", + "uriBaseId": "solutionDir", + "index": 104 + }, + "region": { + "startLine": 460, + "startColumn": 29, + "endLine": 460, + "endColumn": 30, + "charOffset": 24712, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "03D78422CA19416CFB9BB14F39FB0E5F29DF866E6974676893610CA32AB2E261" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/BaseFilteringByModifiedFilesCapabilityTests.cs", + "uriBaseId": "solutionDir", + "index": 39 + }, + "region": { + "startLine": 102, + "startColumn": 58, + "endLine": 102, + "endColumn": 59, + "charOffset": 3736, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FF5E7372309BD156FA5D18DE4EB6B03468FFC71A93CA7466E9C12CD55F823D66" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueFiltererTests.cs", + "uriBaseId": "solutionDir", + "index": 71 + }, + "region": { + "startLine": 160, + "startColumn": 25, + "endLine": 160, + "endColumn": 26, + "charOffset": 5725, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F9F314457AEBC88A39B30AA38B750739AEB2C0811795CA04572175F707AFF15D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/IssueFiltererTests.cs", + "uriBaseId": "solutionDir", + "index": 71 + }, + "region": { + "startLine": 161, + "startColumn": 25, + "endLine": 161, + "endColumn": 26, + "charOffset": 5835, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C8766161FBD6E4D3666A3C9EDEDB04E875270E06EA47E746BF91B256B03294BD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 10, + "startColumn": 25, + "endLine": 10, + "endColumn": 26, + "charOffset": 249, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "97687D494F6606DD8CEA43FCFF5A0160F98CBE4ECB9F7866B356C90DBFA178BA" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 49, + "startColumn": 124, + "endLine": 49, + "endColumn": 125, + "charOffset": 1847, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D1AF9D5F0F495A013602EBFB0581AD239FC65E9CBD3E459C4E2805AC8D0F24E4" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 137, + "startColumn": 25, + "endLine": 137, + "endColumn": 26, + "charOffset": 4820, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EC77EC42690D20B82CA55CD5D5C7C675B1CBDC61A6730931A8380EB0BD53C94" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 137, + "startColumn": 33, + "endLine": 137, + "endColumn": 34, + "charOffset": 4828, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EC77EC42690D20B82CA55CD5D5C7C675B1CBDC61A6730931A8380EB0BD53C94" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 138, + "startColumn": 37, + "endLine": 138, + "endColumn": 38, + "charOffset": 4874, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0F5AA87B534616363AB83D881E7D666BBBF97023452CFF54BAE5B3AA377BEF5D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 139, + "startColumn": 25, + "endLine": 139, + "endColumn": 26, + "charOffset": 4912, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "750C61D38DBA6F2B8613FCEC2271DA7250E3BEB494CA3185EAB7562BD9CD40E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 139, + "startColumn": 37, + "endLine": 139, + "endColumn": 38, + "charOffset": 4924, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "750C61D38DBA6F2B8613FCEC2271DA7250E3BEB494CA3185EAB7562BD9CD40E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 140, + "startColumn": 38, + "endLine": 140, + "endColumn": 39, + "charOffset": 4975, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "209056D1B57735D2E65ADF0E511917F1E8F521C06E2A54DC5147B126952DF1AD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 141, + "startColumn": 25, + "endLine": 141, + "endColumn": 26, + "charOffset": 5013, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0120424E01EC3430C32C53051EA4C0854229FEFAA681CEAE8DA92FA7286E951" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 141, + "startColumn": 38, + "endLine": 141, + "endColumn": 39, + "charOffset": 5026, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0120424E01EC3430C32C53051EA4C0854229FEFAA681CEAE8DA92FA7286E951" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 142, + "startColumn": 35, + "endLine": 142, + "endColumn": 36, + "charOffset": 5074, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "67139B1490AAD402E4D9ED1CA3F4C4177C48299BD5F616CD01E885D14C698A01" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 143, + "startColumn": 25, + "endLine": 143, + "endColumn": 26, + "charOffset": 5108, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B0BDE81CC3325ED105940AF16784CEE4D094D9CF274DB56412F43AED0E0F559" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 143, + "startColumn": 35, + "endLine": 143, + "endColumn": 36, + "charOffset": 5118, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B0BDE81CC3325ED105940AF16784CEE4D094D9CF274DB56412F43AED0E0F559" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 144, + "startColumn": 40, + "endLine": 144, + "endColumn": 41, + "charOffset": 5167, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C2DF504E25A585D7778353D645E5E1CC7CE333B7DAF3D1EDEFA9F9CD552ABFC8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 145, + "startColumn": 25, + "endLine": 145, + "endColumn": 26, + "charOffset": 5208, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1EA9A701B091748F0A4252C2054175367EB3643EF428002F1E4AE220A7613867" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir", + "index": 88 + }, + "region": { + "startLine": 145, + "startColumn": 40, + "endLine": 145, + "endColumn": 41, + "charOffset": 5223, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1EA9A701B091748F0A4252C2054175367EB3643EF428002F1E4AE220A7613867" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic.Tests/GenericIssueReportGeneratorTests.cs", + "uriBaseId": "solutionDir", + "index": 154 + }, + "region": { + "startLine": 96, + "startColumn": 21, + "endLine": 96, + "endColumn": 22, + "charOffset": 4239, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "23060FBEA47B54EAED9C26244FA3A5B133DB71280C35300A54B54BDA0BCA7126" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 155 + }, + "region": { + "startLine": 178, + "startColumn": 55, + "endLine": 178, + "endColumn": 56, + "charOffset": 6778, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "04E334AB253CE0096F338D059E7B43F5EEEC16B70F3A94A37A400AE760CA2A35" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Sarif.Tests/SarifIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 95 + }, + "region": { + "startLine": 140, + "startColumn": 33, + "endLine": 140, + "endColumn": 34, + "charOffset": 5310, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "ADDCAEC552438453616383782C6C029B336FE52A8C10104F2CE80494A7ABE6C6" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Sarif.Tests/SarifIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 95 + }, + "region": { + "startLine": 153, + "startColumn": 33, + "endLine": 153, + "endColumn": 34, + "charOffset": 5957, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D9032FF883222796EDF9B31583D87661EBD1C239981DE138280737B3000C9BFC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Sarif.Tests/SarifIssuesProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 95 + }, + "region": { + "startLine": 165, + "startColumn": 33, + "endLine": 165, + "endColumn": 34, + "charOffset": 6567, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "28E269BF8C91D1CA84AC56F7CA851686D5D11B0DB314C47F273E69B3573DE9EB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 102 + }, + "region": { + "startLine": 45, + "startColumn": 74, + "endLine": 45, + "endColumn": 75, + "charOffset": 1565, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7056A9C3C4BAEA123762C48E7BC4EA52A05828E44E591FB5DAAAC7FE724692DC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 102 + }, + "region": { + "startLine": 77, + "startColumn": 74, + "endLine": 77, + "endColumn": 75, + "charOffset": 2992, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1A47064947855F87BF324D72EDE135F0DEA14A8BF7D3684600E70CC9B6511E50" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformProviderTests.cs", + "uriBaseId": "solutionDir", + "index": 102 + }, + "region": { + "startLine": 101, + "startColumn": 98, + "endLine": 101, + "endColumn": 99, + "charOffset": 3964, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6BB218E4BB8259C0791A362C9AD5923D2CC66424E7CFA6303B22446562F455EF" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 103, + "startColumn": 41, + "endLine": 103, + "endColumn": 42, + "charOffset": 3602, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C8F2524B16A8228BA35A3F7750D70A663CB861622F8C25D6BCC8DE64A3E0534B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Terraform.Tests/TerraformSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 8 + }, + "region": { + "startLine": 131, + "startColumn": 41, + "endLine": 131, + "endColumn": 42, + "charOffset": 4688, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "28959D53CDB1E2F890E796F84CEC59D64F9A6B70C1F6FABC3B894B7F2F695CDB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 121 + }, + "region": { + "startLine": 127, + "startColumn": 33, + "endLine": 127, + "endColumn": 34, + "charOffset": 4419, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "28F957A848D51E511574BD581C5216EA10A08E88C8B3CBCBD9F3AD6850AAB7B5" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 121 + }, + "region": { + "startLine": 177, + "startColumn": 33, + "endLine": 177, + "endColumn": 34, + "charOffset": 5969, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D4BA3FD262337E3AA576DE06509255E73D17ACE27C0048193180188FD974FE12" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 121 + }, + "region": { + "startLine": 227, + "startColumn": 33, + "endLine": 227, + "endColumn": 34, + "charOffset": 7471, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C365975D0C35C44171799950259BD3DE51CB127B7686541B9822654B6F30F518" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 121 + }, + "region": { + "startLine": 277, + "startColumn": 33, + "endLine": 277, + "endColumn": 34, + "charOffset": 8987, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D4BA3FD262337E3AA576DE06509255E73D17ACE27C0048193180188FD974FE12" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 121 + }, + "region": { + "startLine": 474, + "startColumn": 33, + "endLine": 474, + "endColumn": 34, + "charOffset": 16406, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9572EE71C25DFCCA0891787796E3E7D662D663C498A4631E29D6673BCAC5AD18" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 121 + }, + "region": { + "startLine": 475, + "startColumn": 36, + "endLine": 475, + "endColumn": 37, + "charOffset": 16487, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4A7DC92918D4DA7D6C3C591827D6E7F10356A7A316C4D45C4EE113BB4D4CAF73" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 870, + "startColumn": 25, + "endLine": 870, + "endColumn": 26, + "charOffset": 30003, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5BE3A3C44AF98E96951204F939574698C800C3720D2967E604AB08D0B7F2A80B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1036, + "startColumn": 25, + "endLine": 1036, + "endColumn": 26, + "charOffset": 35573, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5BE3A3C44AF98E96951204F939574698C800C3720D2967E604AB08D0B7F2A80B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1108, + "startColumn": 25, + "endLine": 1108, + "endColumn": 26, + "charOffset": 37887, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EC77EC42690D20B82CA55CD5D5C7C675B1CBDC61A6730931A8380EB0BD53C94" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1108, + "startColumn": 33, + "endLine": 1108, + "endColumn": 34, + "charOffset": 37895, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EC77EC42690D20B82CA55CD5D5C7C675B1CBDC61A6730931A8380EB0BD53C94" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1109, + "startColumn": 37, + "endLine": 1109, + "endColumn": 38, + "charOffset": 37941, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0F5AA87B534616363AB83D881E7D666BBBF97023452CFF54BAE5B3AA377BEF5D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1110, + "startColumn": 25, + "endLine": 1110, + "endColumn": 26, + "charOffset": 37979, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "750C61D38DBA6F2B8613FCEC2271DA7250E3BEB494CA3185EAB7562BD9CD40E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1110, + "startColumn": 37, + "endLine": 1110, + "endColumn": 38, + "charOffset": 37991, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "750C61D38DBA6F2B8613FCEC2271DA7250E3BEB494CA3185EAB7562BD9CD40E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1111, + "startColumn": 38, + "endLine": 1111, + "endColumn": 39, + "charOffset": 38042, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "209056D1B57735D2E65ADF0E511917F1E8F521C06E2A54DC5147B126952DF1AD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1112, + "startColumn": 25, + "endLine": 1112, + "endColumn": 26, + "charOffset": 38080, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0120424E01EC3430C32C53051EA4C0854229FEFAA681CEAE8DA92FA7286E951" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1112, + "startColumn": 38, + "endLine": 1112, + "endColumn": 39, + "charOffset": 38093, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0120424E01EC3430C32C53051EA4C0854229FEFAA681CEAE8DA92FA7286E951" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1113, + "startColumn": 35, + "endLine": 1113, + "endColumn": 36, + "charOffset": 38141, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "67139B1490AAD402E4D9ED1CA3F4C4177C48299BD5F616CD01E885D14C698A01" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1114, + "startColumn": 25, + "endLine": 1114, + "endColumn": 26, + "charOffset": 38175, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B0BDE81CC3325ED105940AF16784CEE4D094D9CF274DB56412F43AED0E0F559" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1114, + "startColumn": 35, + "endLine": 1114, + "endColumn": 36, + "charOffset": 38185, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B0BDE81CC3325ED105940AF16784CEE4D094D9CF274DB56412F43AED0E0F559" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1115, + "startColumn": 40, + "endLine": 1115, + "endColumn": 41, + "charOffset": 38234, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C2DF504E25A585D7778353D645E5E1CC7CE333B7DAF3D1EDEFA9F9CD552ABFC8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1116, + "startColumn": 25, + "endLine": 1116, + "endColumn": 26, + "charOffset": 38275, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AEE0618E5EDEEDCE7BE3B4B5CC9DD0EE108CD8B15EB7290BCCF43CB46D0C6F96" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1116, + "startColumn": 40, + "endLine": 1116, + "endColumn": 41, + "charOffset": 38290, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AEE0618E5EDEEDCE7BE3B4B5CC9DD0EE108CD8B15EB7290BCCF43CB46D0C6F96" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1175, + "startColumn": 25, + "endLine": 1175, + "endColumn": 26, + "charOffset": 40183, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EC77EC42690D20B82CA55CD5D5C7C675B1CBDC61A6730931A8380EB0BD53C94" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1175, + "startColumn": 33, + "endLine": 1175, + "endColumn": 34, + "charOffset": 40191, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EC77EC42690D20B82CA55CD5D5C7C675B1CBDC61A6730931A8380EB0BD53C94" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1176, + "startColumn": 37, + "endLine": 1176, + "endColumn": 38, + "charOffset": 40237, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0F5AA87B534616363AB83D881E7D666BBBF97023452CFF54BAE5B3AA377BEF5D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1177, + "startColumn": 25, + "endLine": 1177, + "endColumn": 26, + "charOffset": 40275, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "750C61D38DBA6F2B8613FCEC2271DA7250E3BEB494CA3185EAB7562BD9CD40E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1177, + "startColumn": 37, + "endLine": 1177, + "endColumn": 38, + "charOffset": 40287, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "750C61D38DBA6F2B8613FCEC2271DA7250E3BEB494CA3185EAB7562BD9CD40E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1178, + "startColumn": 38, + "endLine": 1178, + "endColumn": 39, + "charOffset": 40338, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "209056D1B57735D2E65ADF0E511917F1E8F521C06E2A54DC5147B126952DF1AD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1179, + "startColumn": 25, + "endLine": 1179, + "endColumn": 26, + "charOffset": 40376, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0120424E01EC3430C32C53051EA4C0854229FEFAA681CEAE8DA92FA7286E951" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1179, + "startColumn": 38, + "endLine": 1179, + "endColumn": 39, + "charOffset": 40389, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0120424E01EC3430C32C53051EA4C0854229FEFAA681CEAE8DA92FA7286E951" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1180, + "startColumn": 35, + "endLine": 1180, + "endColumn": 36, + "charOffset": 40437, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "67139B1490AAD402E4D9ED1CA3F4C4177C48299BD5F616CD01E885D14C698A01" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1181, + "startColumn": 25, + "endLine": 1181, + "endColumn": 26, + "charOffset": 40471, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B0BDE81CC3325ED105940AF16784CEE4D094D9CF274DB56412F43AED0E0F559" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1181, + "startColumn": 35, + "endLine": 1181, + "endColumn": 36, + "charOffset": 40481, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B0BDE81CC3325ED105940AF16784CEE4D094D9CF274DB56412F43AED0E0F559" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1182, + "startColumn": 40, + "endLine": 1182, + "endColumn": 41, + "charOffset": 40530, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C2DF504E25A585D7778353D645E5E1CC7CE333B7DAF3D1EDEFA9F9CD552ABFC8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1183, + "startColumn": 25, + "endLine": 1183, + "endColumn": 26, + "charOffset": 40571, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AEE0618E5EDEEDCE7BE3B4B5CC9DD0EE108CD8B15EB7290BCCF43CB46D0C6F96" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1183, + "startColumn": 40, + "endLine": 1183, + "endColumn": 41, + "charOffset": 40586, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AEE0618E5EDEEDCE7BE3B4B5CC9DD0EE108CD8B15EB7290BCCF43CB46D0C6F96" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1298, + "startColumn": 25, + "endLine": 1298, + "endColumn": 26, + "charOffset": 44191, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EC77EC42690D20B82CA55CD5D5C7C675B1CBDC61A6730931A8380EB0BD53C94" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1298, + "startColumn": 33, + "endLine": 1298, + "endColumn": 34, + "charOffset": 44199, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EC77EC42690D20B82CA55CD5D5C7C675B1CBDC61A6730931A8380EB0BD53C94" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1299, + "startColumn": 37, + "endLine": 1299, + "endColumn": 38, + "charOffset": 44245, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0F5AA87B534616363AB83D881E7D666BBBF97023452CFF54BAE5B3AA377BEF5D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1300, + "startColumn": 25, + "endLine": 1300, + "endColumn": 26, + "charOffset": 44283, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "750C61D38DBA6F2B8613FCEC2271DA7250E3BEB494CA3185EAB7562BD9CD40E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1300, + "startColumn": 37, + "endLine": 1300, + "endColumn": 38, + "charOffset": 44295, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "750C61D38DBA6F2B8613FCEC2271DA7250E3BEB494CA3185EAB7562BD9CD40E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1301, + "startColumn": 38, + "endLine": 1301, + "endColumn": 39, + "charOffset": 44346, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "209056D1B57735D2E65ADF0E511917F1E8F521C06E2A54DC5147B126952DF1AD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1302, + "startColumn": 25, + "endLine": 1302, + "endColumn": 26, + "charOffset": 44384, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0120424E01EC3430C32C53051EA4C0854229FEFAA681CEAE8DA92FA7286E951" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1302, + "startColumn": 38, + "endLine": 1302, + "endColumn": 39, + "charOffset": 44397, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0120424E01EC3430C32C53051EA4C0854229FEFAA681CEAE8DA92FA7286E951" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1303, + "startColumn": 35, + "endLine": 1303, + "endColumn": 36, + "charOffset": 44445, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "67139B1490AAD402E4D9ED1CA3F4C4177C48299BD5F616CD01E885D14C698A01" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1304, + "startColumn": 25, + "endLine": 1304, + "endColumn": 26, + "charOffset": 44479, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B0BDE81CC3325ED105940AF16784CEE4D094D9CF274DB56412F43AED0E0F559" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1304, + "startColumn": 35, + "endLine": 1304, + "endColumn": 36, + "charOffset": 44489, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B0BDE81CC3325ED105940AF16784CEE4D094D9CF274DB56412F43AED0E0F559" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1305, + "startColumn": 40, + "endLine": 1305, + "endColumn": 41, + "charOffset": 44538, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C2DF504E25A585D7778353D645E5E1CC7CE333B7DAF3D1EDEFA9F9CD552ABFC8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1306, + "startColumn": 25, + "endLine": 1306, + "endColumn": 26, + "charOffset": 44579, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AEE0618E5EDEEDCE7BE3B4B5CC9DD0EE108CD8B15EB7290BCCF43CB46D0C6F96" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1306, + "startColumn": 40, + "endLine": 1306, + "endColumn": 41, + "charOffset": 44594, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AEE0618E5EDEEDCE7BE3B4B5CC9DD0EE108CD8B15EB7290BCCF43CB46D0C6F96" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1518, + "startColumn": 25, + "endLine": 1518, + "endColumn": 26, + "charOffset": 51327, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EC77EC42690D20B82CA55CD5D5C7C675B1CBDC61A6730931A8380EB0BD53C94" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1518, + "startColumn": 33, + "endLine": 1518, + "endColumn": 34, + "charOffset": 51335, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0EC77EC42690D20B82CA55CD5D5C7C675B1CBDC61A6730931A8380EB0BD53C94" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1519, + "startColumn": 37, + "endLine": 1519, + "endColumn": 38, + "charOffset": 51381, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0F5AA87B534616363AB83D881E7D666BBBF97023452CFF54BAE5B3AA377BEF5D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1520, + "startColumn": 25, + "endLine": 1520, + "endColumn": 26, + "charOffset": 51419, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "750C61D38DBA6F2B8613FCEC2271DA7250E3BEB494CA3185EAB7562BD9CD40E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1520, + "startColumn": 37, + "endLine": 1520, + "endColumn": 38, + "charOffset": 51431, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "750C61D38DBA6F2B8613FCEC2271DA7250E3BEB494CA3185EAB7562BD9CD40E1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1521, + "startColumn": 38, + "endLine": 1521, + "endColumn": 39, + "charOffset": 51482, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "209056D1B57735D2E65ADF0E511917F1E8F521C06E2A54DC5147B126952DF1AD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1522, + "startColumn": 25, + "endLine": 1522, + "endColumn": 26, + "charOffset": 51520, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0120424E01EC3430C32C53051EA4C0854229FEFAA681CEAE8DA92FA7286E951" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1522, + "startColumn": 38, + "endLine": 1522, + "endColumn": 39, + "charOffset": 51533, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D0120424E01EC3430C32C53051EA4C0854229FEFAA681CEAE8DA92FA7286E951" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1523, + "startColumn": 35, + "endLine": 1523, + "endColumn": 36, + "charOffset": 51581, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "67139B1490AAD402E4D9ED1CA3F4C4177C48299BD5F616CD01E885D14C698A01" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1524, + "startColumn": 25, + "endLine": 1524, + "endColumn": 26, + "charOffset": 51615, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B0BDE81CC3325ED105940AF16784CEE4D094D9CF274DB56412F43AED0E0F559" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1524, + "startColumn": 35, + "endLine": 1524, + "endColumn": 36, + "charOffset": 51625, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8B0BDE81CC3325ED105940AF16784CEE4D094D9CF274DB56412F43AED0E0F559" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1525, + "startColumn": 40, + "endLine": 1525, + "endColumn": 41, + "charOffset": 51674, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C2DF504E25A585D7778353D645E5E1CC7CE333B7DAF3D1EDEFA9F9CD552ABFC8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1526, + "startColumn": 25, + "endLine": 1526, + "endColumn": 26, + "charOffset": 51715, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AEE0618E5EDEEDCE7BE3B4B5CC9DD0EE108CD8B15EB7290BCCF43CB46D0C6F96" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir", + "index": 67 + }, + "region": { + "startLine": 1526, + "startColumn": 40, + "endLine": 1526, + "endColumn": 41, + "charOffset": 51730, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AEE0618E5EDEEDCE7BE3B4B5CC9DD0EE108CD8B15EB7290BCCF43CB46D0C6F96" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 290, + "startColumn": 29, + "endLine": 290, + "endColumn": 30, + "charOffset": 12854, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B3B6C827A0BD134AA241C18C1AECE1F6B654AA00F74B015DB6E306E4BE6B40F2" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 905, + "startColumn": 29, + "endLine": 905, + "endColumn": 30, + "charOffset": 40587, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B3B6C827A0BD134AA241C18C1AECE1F6B654AA00F74B015DB6E306E4BE6B40F2" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1184, + "startColumn": 29, + "endLine": 1184, + "endColumn": 30, + "charOffset": 53034, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D137CA10820D706D9FBDDA38F4C9FB9B97415EFC971F309D7B4461E65497FF1C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1184, + "startColumn": 37, + "endLine": 1184, + "endColumn": 38, + "charOffset": 53042, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D137CA10820D706D9FBDDA38F4C9FB9B97415EFC971F309D7B4461E65497FF1C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1185, + "startColumn": 41, + "endLine": 1185, + "endColumn": 42, + "charOffset": 53092, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "912976200BF2FDBE5ABBEA7F446CEB1B0BA7F3FCD3CF36B4399C8DB8D9086659" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1186, + "startColumn": 29, + "endLine": 1186, + "endColumn": 30, + "charOffset": 53134, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "03486CA3342B57A22BB12633993E09349015144ADF2CF719E60D8E5B0E3CCC72" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1186, + "startColumn": 41, + "endLine": 1186, + "endColumn": 42, + "charOffset": 53146, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "03486CA3342B57A22BB12633993E09349015144ADF2CF719E60D8E5B0E3CCC72" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1187, + "startColumn": 42, + "endLine": 1187, + "endColumn": 43, + "charOffset": 53201, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5DEC3655B24D3BAFE0AC76A513E208C3252DFFFCFD1079D92865AC97343C9354" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1188, + "startColumn": 29, + "endLine": 1188, + "endColumn": 30, + "charOffset": 53243, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F3602C737D8D93428D3C0C208C5AC39C2BE52966D86F2539A9344C8DEAA55F78" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1188, + "startColumn": 42, + "endLine": 1188, + "endColumn": 43, + "charOffset": 53256, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F3602C737D8D93428D3C0C208C5AC39C2BE52966D86F2539A9344C8DEAA55F78" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1189, + "startColumn": 39, + "endLine": 1189, + "endColumn": 40, + "charOffset": 53308, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0F1EC93053225E2738CC7C08911F3A71B45ABB895CDF0D945EA26850DC51E266" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1190, + "startColumn": 29, + "endLine": 1190, + "endColumn": 30, + "charOffset": 53346, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A2559494C7B45BEB612A9DFEAE31B3101FAE73713A58A047CD91F2D3F2C2D0C2" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1190, + "startColumn": 39, + "endLine": 1190, + "endColumn": 40, + "charOffset": 53356, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A2559494C7B45BEB612A9DFEAE31B3101FAE73713A58A047CD91F2D3F2C2D0C2" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1191, + "startColumn": 44, + "endLine": 1191, + "endColumn": 45, + "charOffset": 53409, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1683E5E9C96F5113448076E184A596E3DD061A818BAD8A6D5F2CDDA2D00C99CD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1192, + "startColumn": 29, + "endLine": 1192, + "endColumn": 30, + "charOffset": 53454, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B74266975F5F51F23082F86955E8FF25C7A783D7BD5ED3425E589DFFB730CB41" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir", + "index": 78 + }, + "region": { + "startLine": 1192, + "startColumn": 44, + "endLine": 1192, + "endColumn": 45, + "charOffset": 53469, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B74266975F5F51F23082F86955E8FF25C7A783D7BD5ED3425E589DFFB730CB41" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 149, + "startColumn": 56, + "endLine": 149, + "endColumn": 57, + "charOffset": 5172, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F3BD6FC8BFD562A5DD0922B6EB5A18446004D7286C6259E3C25709A9BC03C99A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 185, + "startColumn": 57, + "endLine": 185, + "endColumn": 58, + "charOffset": 6546, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "42F1080D7482014E903436168674CD8D53780EE1FC01ED65E2EE1F6A160326C7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 207, + "startColumn": 33, + "endLine": 207, + "endColumn": 34, + "charOffset": 7397, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "13BFE6B648129572BF4BC3FE2D127D36829B0E07760C5266FDD40235112736AD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 225, + "startColumn": 33, + "endLine": 225, + "endColumn": 34, + "charOffset": 8012, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B1003BCE8347DC5044AE8033F1FB1BD6CF1C5C48D6F022ACBD962D12FF4FD120" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 243, + "startColumn": 33, + "endLine": 243, + "endColumn": 34, + "charOffset": 8649, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8FE836A170BF2700E86D666AAAC9FC45B2E4DCEC8C9404F8AC46435E4EC9D7A7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 261, + "startColumn": 33, + "endLine": 261, + "endColumn": 34, + "charOffset": 9278, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5C470849B257C9A86D873BEFD16FEFD1B03E8AD5BF507DC5EB511F4CB94DD213" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 587, + "startColumn": 57, + "endLine": 587, + "endColumn": 58, + "charOffset": 21913, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CF5DF65EBB2A0C93E8F1464DA1A4517BAFA7DB86508991FD4FE9B7C7CD367AAC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 588, + "startColumn": 57, + "endLine": 588, + "endColumn": 58, + "charOffset": 21991, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3D0F9FC023DE75287B67C3E7A30A5D5B842F1D081F5114A58387F1F618170C6C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 643, + "startColumn": 58, + "endLine": 643, + "endColumn": 59, + "charOffset": 24387, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7BBDD64C83CB7C45E00DF5201EFA481312F7855EF52FF342D0787936F2129FFC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 644, + "startColumn": 58, + "endLine": 644, + "endColumn": 59, + "charOffset": 24462, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B855EEBDA39F89A33E150313F9AEC543FF8C008FCCB874FC81301BB703EF2057" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 678, + "startColumn": 37, + "endLine": 678, + "endColumn": 38, + "charOffset": 25925, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "10F92178052AD6730527CFC7A03B124F2D7D70AD6E0BA08BFCE2BA65FCB359BE" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 682, + "startColumn": 37, + "endLine": 682, + "endColumn": 38, + "charOffset": 26148, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0A2485587FC10334AB356A9D825C2AFD6A0ADEE90EC8FF353259A6ECEA651737" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 706, + "startColumn": 37, + "endLine": 706, + "endColumn": 38, + "charOffset": 27027, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "90570CE80836617D3B015F0A4C948C284E548BC9909951F3B2C64106BFA84A6C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 710, + "startColumn": 37, + "endLine": 710, + "endColumn": 38, + "charOffset": 27269, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2094D966468BFBA63810BCB28392EE5BEB9CE7E832D5B0BD45DCC87580A8C768" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 734, + "startColumn": 37, + "endLine": 734, + "endColumn": 38, + "charOffset": 28174, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B32D9FA4800A5FC1D88EA7189544EF24F9381269A3C8F7236DAFB23D38C77B8C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 738, + "startColumn": 37, + "endLine": 738, + "endColumn": 38, + "charOffset": 28404, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A61AC493BBABC829377D7BB55B27BC5D7671691D23D5F0DDF9B06082647EDA4D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 762, + "startColumn": 37, + "endLine": 762, + "endColumn": 38, + "charOffset": 29304, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "17EBF67230ACDAE75B2C8055512074A3D803D124622AB8243129CE8D572B4E92" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 766, + "startColumn": 37, + "endLine": 766, + "endColumn": 38, + "charOffset": 29543, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CFF3EC624AC15FA5EE4B944462E6D5DFB7CB26A673D7255AAF5993826ED5383A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1221, + "startColumn": 56, + "endLine": 1221, + "endColumn": 57, + "charOffset": 46995, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F3BD6FC8BFD562A5DD0922B6EB5A18446004D7286C6259E3C25709A9BC03C99A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1281, + "startColumn": 57, + "endLine": 1281, + "endColumn": 58, + "charOffset": 49285, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "42F1080D7482014E903436168674CD8D53780EE1FC01ED65E2EE1F6A160326C7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1315, + "startColumn": 33, + "endLine": 1315, + "endColumn": 34, + "charOffset": 50594, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "13BFE6B648129572BF4BC3FE2D127D36829B0E07760C5266FDD40235112736AD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1345, + "startColumn": 33, + "endLine": 1345, + "endColumn": 34, + "charOffset": 51667, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B1003BCE8347DC5044AE8033F1FB1BD6CF1C5C48D6F022ACBD962D12FF4FD120" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1375, + "startColumn": 33, + "endLine": 1375, + "endColumn": 34, + "charOffset": 52762, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8FE836A170BF2700E86D666AAAC9FC45B2E4DCEC8C9404F8AC46435E4EC9D7A7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1405, + "startColumn": 33, + "endLine": 1405, + "endColumn": 34, + "charOffset": 53849, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FB28524B338989C49396F00F31FE5833DF187B2266DCB10E410A90C859C36427" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1914, + "startColumn": 57, + "endLine": 1914, + "endColumn": 58, + "charOffset": 73452, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CF5DF65EBB2A0C93E8F1464DA1A4517BAFA7DB86508991FD4FE9B7C7CD367AAC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1915, + "startColumn": 57, + "endLine": 1915, + "endColumn": 58, + "charOffset": 73530, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3D0F9FC023DE75287B67C3E7A30A5D5B842F1D081F5114A58387F1F618170C6C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1994, + "startColumn": 58, + "endLine": 1994, + "endColumn": 59, + "charOffset": 76858, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7BBDD64C83CB7C45E00DF5201EFA481312F7855EF52FF342D0787936F2129FFC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 1995, + "startColumn": 58, + "endLine": 1995, + "endColumn": 59, + "charOffset": 76933, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B855EEBDA39F89A33E150313F9AEC543FF8C008FCCB874FC81301BB703EF2057" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 2041, + "startColumn": 37, + "endLine": 2041, + "endColumn": 38, + "charOffset": 78862, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "10F92178052AD6730527CFC7A03B124F2D7D70AD6E0BA08BFCE2BA65FCB359BE" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 2045, + "startColumn": 37, + "endLine": 2045, + "endColumn": 38, + "charOffset": 79085, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0A2485587FC10334AB356A9D825C2AFD6A0ADEE90EC8FF353259A6ECEA651737" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 2081, + "startColumn": 37, + "endLine": 2081, + "endColumn": 38, + "charOffset": 80430, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "90570CE80836617D3B015F0A4C948C284E548BC9909951F3B2C64106BFA84A6C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 2085, + "startColumn": 37, + "endLine": 2085, + "endColumn": 38, + "charOffset": 80672, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2094D966468BFBA63810BCB28392EE5BEB9CE7E832D5B0BD45DCC87580A8C768" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 2121, + "startColumn": 37, + "endLine": 2121, + "endColumn": 38, + "charOffset": 82043, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B32D9FA4800A5FC1D88EA7189544EF24F9381269A3C8F7236DAFB23D38C77B8C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 2125, + "startColumn": 37, + "endLine": 2125, + "endColumn": 38, + "charOffset": 82273, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A61AC493BBABC829377D7BB55B27BC5D7671691D23D5F0DDF9B06082647EDA4D" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 2161, + "startColumn": 37, + "endLine": 2161, + "endColumn": 38, + "charOffset": 83637, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2F3532E18665F65A5D94124E9265C51EB3A19855812302492835AB883634C4C3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 77 + }, + "region": { + "startLine": 2165, + "startColumn": 37, + "endLine": 2165, + "endColumn": 38, + "charOffset": 83875, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2D17FB91EF42E63372B3059C928C3E3D397E955918C5F3FD717097974886496C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 40, + "startColumn": 25, + "endLine": 40, + "endColumn": 26, + "charOffset": 1178, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "47B4FBAF0551FB5D4F316B83A20F4B94DED992FBD9374BA647B3290D1BE31474" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 49, + "startColumn": 25, + "endLine": 49, + "endColumn": 26, + "charOffset": 1511, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "58E429061C8783D97528301BC60192EF9671F4CE608EE6E6AF82CD5CC1119776" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 50, + "startColumn": 25, + "endLine": 50, + "endColumn": 26, + "charOffset": 1546, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5B189306E3D69B888A864DA182C0878CDD9C7332B2423209ED9F2C81B533C63B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 51, + "startColumn": 25, + "endLine": 51, + "endColumn": 26, + "charOffset": 1582, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "944FC9816B0856A2626847E08DC24AA3BF6988055270FC517771C451ECED42A1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 132, + "startColumn": 25, + "endLine": 132, + "endColumn": 26, + "charOffset": 4057, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "47B4FBAF0551FB5D4F316B83A20F4B94DED992FBD9374BA647B3290D1BE31474" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 138, + "startColumn": 25, + "endLine": 138, + "endColumn": 26, + "charOffset": 4274, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1512E945ACB149C662F5D29AD62DE21E8E7425D75A90B60177D02FCDF6605CD7" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 139, + "startColumn": 25, + "endLine": 139, + "endColumn": 26, + "charOffset": 4309, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5B189306E3D69B888A864DA182C0878CDD9C7332B2423209ED9F2C81B533C63B" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 140, + "startColumn": 25, + "endLine": 140, + "endColumn": 26, + "charOffset": 4345, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C312020250303CDE8C647EA1C12885E75B0868BB5B25997C90C71E5E2F3CAA63" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 234, + "startColumn": 36, + "endLine": 234, + "endColumn": 37, + "charOffset": 7331, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "27E963FEABFD78948CAA0176FFE8A7718AD9717AF310E1DC3899C046367FDED9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 290, + "startColumn": 25, + "endLine": 290, + "endColumn": 26, + "charOffset": 9421, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5CACC12F2D5C54F84D00DAF1F6A70D2B840E05520999E87F509D59A4DB913AFB" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 291, + "startColumn": 42, + "endLine": 291, + "endColumn": 43, + "charOffset": 9498, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BD4AF4FA8682CE29CA8009916FF0A6DD2EEE14EBF2D2DEDC21C389C13F725F71" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 292, + "startColumn": 25, + "endLine": 292, + "endColumn": 26, + "charOffset": 9541, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "00329CFB44E54D83EC1CAD500E69FF555AAB677423518A9FBDDF5CE67FE1A716" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 292, + "startColumn": 42, + "endLine": 292, + "endColumn": 43, + "charOffset": 9558, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "00329CFB44E54D83EC1CAD500E69FF555AAB677423518A9FBDDF5CE67FE1A716" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 319, + "startColumn": 37, + "endLine": 319, + "endColumn": 38, + "charOffset": 10602, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B5F5E7A59236CBD6FD33048355B8233D02CC5019C0B8C7FBC1B9DBF8D59552C1" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 375, + "startColumn": 25, + "endLine": 375, + "endColumn": 26, + "charOffset": 12407, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E772D718BC460FDBFE298DB3D189889EA6781DE4EDDCF46220F45A7240D1B5BE" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 376, + "startColumn": 25, + "endLine": 376, + "endColumn": 26, + "charOffset": 12455, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "85F2E8722AB8A29EE60451D96E0845F883CC5BEFD66FDE70D06A04D78F914C8A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 504, + "startColumn": 53, + "endLine": 504, + "endColumn": 54, + "charOffset": 17057, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E9C07C056BD16F63CFC70C1C04DAEE05AE910B3D0338B11B2CDF22C0D7DB0BD9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 672, + "startColumn": 53, + "endLine": 672, + "endColumn": 54, + "charOffset": 23132, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E9C07C056BD16F63CFC70C1C04DAEE05AE910B3D0338B11B2CDF22C0D7DB0BD9" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "RedundantVerbatimStringPrefix", + "ruleIndex": 54, + "level": "note", + "message": { + "text": "Redundant verbatim string prefix" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 101 + }, + "region": { + "startLine": 736, + "startColumn": 34, + "endLine": 736, + "endColumn": 35, + "charOffset": 25446, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E186023F6562287F637AD8A31FE8EAD4DA3609B92F0E6DBD53387495A8D9E4FC" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "ReplaceConditionalExpressionWithNullCoalescing", + "ruleIndex": 55, + "level": "note", + "message": { + "text": "Conditional expression can be rewritten as null-coalescing" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 880, + "startColumn": 60, + "endLine": 880, + "endColumn": 63, + "charOffset": 28590, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "90BD225ADB1FC22F7C77746EEB08B6D0A711B6DA3DB39808C92885BC83B72280" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ReplaceWithPrimaryConstructorParameter", + "ruleIndex": 56, + "level": "note", + "message": { + "text": "Replace with primary constructor parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console/FileSystemRepository.cs", + "uriBaseId": "solutionDir", + "index": 156 + }, + "region": { + "startLine": 14, + "startColumn": 9, + "endLine": 14, + "endColumn": 73, + "charOffset": 441, + "charLength": 64 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "81F4F71007231F015E2353FB9EFC251921D4CD14F30666517265349761AAFC14" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "ReplaceWithPrimaryConstructorParameter", + "ruleIndex": 56, + "level": "note", + "message": { + "text": "Replace with primary constructor parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues/IIssueComparer.cs", + "uriBaseId": "solutionDir", + "index": 105 + }, + "region": { + "startLine": 42, + "startColumn": 9, + "endLine": 42, + "endColumn": 97, + "charOffset": 1618, + "charLength": 88 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "42C2CFD23DD4429693C5AD64137AD803C3B6121E23B2BDD46B63B7520EBB9F8C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SpecifyACultureInStringConversionExplicitly", + "ruleIndex": 57, + "message": { + "text": "Specify string culture explicitly" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1081, + "startColumn": 40, + "endLine": 1081, + "endColumn": 48, + "charOffset": 28257, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "000883915309854C9107A90FF4AA0C743EA6CE365C5193B9DBA45756B67F2069" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 329, + "startColumn": 26, + "endLine": 329, + "endColumn": 29, + "charOffset": 7838, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D7DD3835BF0899CD380394369E835E34B32BF347BE9F1101AB095664BB1E3BD6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 583, + "startColumn": 18, + "endLine": 583, + "endColumn": 21, + "charOffset": 14676, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "117FFF3EDDBFC9FE13D072A4E403CC34DC48335F9F130AA6F962183292FC3120" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 751, + "startColumn": 13, + "endLine": 751, + "endColumn": 19, + "charOffset": 18799, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AB0D27E5ACDD28C310F83124D62DB07F63A8F401C0DEE921D802C9000F112657" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 868, + "startColumn": 26, + "endLine": 868, + "endColumn": 32, + "charOffset": 21958, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FCFF000F68EB87A3ED0B5FC4E5E2F3B862B009520D586F8019F34E55F206FF01" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1061, + "startColumn": 13, + "endLine": 1061, + "endColumn": 17, + "charOffset": 27724, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "119714D940B57D06F809B25E63487929D41B13FA9E6D8B8F72D47CDCA71D9EEC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 459, + "startColumn": 21, + "endLine": 459, + "endColumn": 27, + "charOffset": 14099, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "633A96F666C3D430BDD131D36D7D529C7ACF3C3B429A69306D5A4016A55DEC8D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 468, + "startColumn": 21, + "endLine": 468, + "endColumn": 24, + "charOffset": 14389, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B78198A85F05A531D12BB0066E62C3DE23568E20C5DC0EE2E137D2B308E3E5C7" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 471, + "startColumn": 26, + "endLine": 471, + "endColumn": 29, + "charOffset": 14505, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "25EDBF46369FF8E083F3D896168EC1C1D16B0625C7BC5444AAD0EEABC9B43C0D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 492, + "startColumn": 21, + "endLine": 492, + "endColumn": 27, + "charOffset": 15157, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "80C11446CCD58F42A7E61761F3E4CBCD2DA443809FBDBDC1EA594C7E8BC89D90" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 615, + "startColumn": 21, + "endLine": 615, + "endColumn": 27, + "charOffset": 19259, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "80C11446CCD58F42A7E61761F3E4CBCD2DA443809FBDBDC1EA594C7E8BC89D90" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 857, + "startColumn": 26, + "endLine": 857, + "endColumn": 32, + "charOffset": 27846, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "75807AE855E2FB5A8C7522416BE8E5E554C258C9176672366AEE66706FE1726F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 868, + "startColumn": 26, + "endLine": 868, + "endColumn": 32, + "charOffset": 28152, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D3D3D00A54B35C032A2BE5E8A97E44F1C66AFA59A667EE7824675ED76CFF7D9B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 523, + "startColumn": 22, + "endLine": 523, + "endColumn": 25, + "charOffset": 16041, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E2044A3136515CAAF7E576E5F22E7BCF597A2B5134C7F34D65B4C498135451DA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 199, + "startColumn": 18, + "endLine": 199, + "endColumn": 21, + "charOffset": 5304, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5CF3257A97138850478AD66FB9A7CD4FD8FE36759DA0C1D833EFF3278E94D72D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 222, + "startColumn": 22, + "endLine": 222, + "endColumn": 25, + "charOffset": 5860, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4DFD5129584927723690DF3560AB7833B2AF817FC322FF6F0D56DD6F9BB179FF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 249, + "startColumn": 13, + "endLine": 249, + "endColumn": 16, + "charOffset": 6520, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E1C9847876398C44DFC85D9FA0586C2BC18E9B0E3D7142E9A41869E47EF9E5B3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 250, + "startColumn": 18, + "endLine": 250, + "endColumn": 21, + "charOffset": 6558, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5FE47A59CE24EEC1A1F13078BFB21D71FE0ECB834C8258A8FB7D80CAC85FCF1E" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 349, + "startColumn": 13, + "endLine": 349, + "endColumn": 19, + "charOffset": 9164, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D681A2580E67EE64B46633B1BE10803C6B036061642CCEA84BE4C64653D1B917" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 364, + "startColumn": 13, + "endLine": 364, + "endColumn": 19, + "charOffset": 9562, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D681A2580E67EE64B46633B1BE10803C6B036061642CCEA84BE4C64653D1B917" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 481, + "startColumn": 13, + "endLine": 481, + "endColumn": 19, + "charOffset": 12395, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6DDB52AD87C3078270FE9DCDF4C8892B4AB014D158BFFBC75E35F184085CAA4A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 492, + "startColumn": 22, + "endLine": 492, + "endColumn": 25, + "charOffset": 12785, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "082B06C295A6418386DA8C7452809F0A4E6169C2E67D7BAD7485988729C19850" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 770, + "startColumn": 13, + "endLine": 770, + "endColumn": 16, + "charOffset": 20798, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F199D4E06FF58EFE96532B5ED4D5D15307C1100F4444A6ADFA6D93AFF6222128" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 771, + "startColumn": 13, + "endLine": 771, + "endColumn": 16, + "charOffset": 20828, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "55137D9E491EEE05E07EA61E4D1A73D26439A85144AC5078FD75721349C9286B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_BuiltInTypes", + "ruleIndex": 58, + "level": "note", + "message": { + "text": "Use 'var' (built-in types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 930, + "startColumn": 17, + "endLine": 930, + "endColumn": 20, + "charOffset": 24866, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AD723ABC6E9F226351E996BC45EE3A9226E16058DDF5C223B24989D94C703560" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 156, + "startColumn": 26, + "endLine": 156, + "endColumn": 56, + "charOffset": 3882, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C8A041E599A0C80C81AE1837AD58F9479EFADFB913FBC32294B74DA5615CBCF8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 173, + "startColumn": 26, + "endLine": 173, + "endColumn": 56, + "charOffset": 4326, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C8A041E599A0C80C81AE1837AD58F9479EFADFB913FBC32294B74DA5615CBCF8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 279, + "startColumn": 17, + "endLine": 279, + "endColumn": 47, + "charOffset": 6582, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "11D8E21F874A035BE029CA2BDD6662E305DCB2E6B7B8E7AC0DCEE495784107E1" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 283, + "startColumn": 17, + "endLine": 283, + "endColumn": 47, + "charOffset": 6716, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0A4F29EDDD577412227D03B82FF0AAF8CF8296CE964B942C63C0EC9296656C6A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 324, + "startColumn": 17, + "endLine": 324, + "endColumn": 47, + "charOffset": 7620, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BE775B028450C9D20CCB3994AE3B3B1F0D015025DE6C898DF5BBA6D69FDB5C60" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 367, + "startColumn": 21, + "endLine": 367, + "endColumn": 51, + "charOffset": 8835, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B525E97A521ECFE96A5B83671C084678BC6E0BA8C37A17A46146731FFA4D7903" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 368, + "startColumn": 21, + "endLine": 368, + "endColumn": 51, + "charOffset": 8915, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EAE0151291327592BD57ABB1553E721064203493E4F394BA0F8BDB24EDCDACD6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 555, + "startColumn": 13, + "endLine": 555, + "endColumn": 43, + "charOffset": 13935, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "87FA76D294FFD73F87AAE176363949CF3B2E79614A505FC2B5A6B405D7721204" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 756, + "startColumn": 13, + "endLine": 756, + "endColumn": 43, + "charOffset": 18931, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F75135A334B47E770B298059110792666B97763D766E0323B9C58DA8B8DC08E2" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1115, + "startColumn": 17, + "endLine": 1115, + "endColumn": 47, + "charOffset": 29041, + "charLength": 30 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "295F42F2D236D987389EEE4844D73FD0B8A2D6847E5032CAB7AEE374AA8C0177" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 195, + "startColumn": 17, + "endLine": 195, + "endColumn": 32, + "charOffset": 5699, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0B4C89DBBA39547364D1272884B2FE1B634FD7644CA36DE9D829D6B6184A2740" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 233, + "startColumn": 21, + "endLine": 233, + "endColumn": 36, + "charOffset": 6858, + "charLength": 15 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B486B0858688E0A221B080FD65C195CF0B2D3E99785F85A843325A309E43652D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_Elsewhere", + "ruleIndex": 59, + "level": "note", + "message": { + "text": "Use 'var' (elsewhere)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 940, + "startColumn": 13, + "endLine": 940, + "endColumn": 36, + "charOffset": 30735, + "charLength": 23 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AB97B014922DC04609E21C44F66D274F0F49100EB0DA69F7E212E22F0DF569A3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 257, + "startColumn": 17, + "endLine": 257, + "endColumn": 25, + "charOffset": 6074, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E02380D0A90A1714D959972524DFE1E4438EA8C27FC6EF2B7C4B011AC28688AB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 277, + "startColumn": 17, + "endLine": 277, + "endColumn": 25, + "charOffset": 6528, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DC167F3E66EE5627CBA2558DED5EE45AAD3BFE0BC6D56A7AB3931A54119134FA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 303, + "startColumn": 17, + "endLine": 303, + "endColumn": 25, + "charOffset": 7182, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "56D97AD555D06CC29F8FF28313BC9B452517BD27559AB4FFB6426F51563631B8" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 551, + "startColumn": 13, + "endLine": 551, + "endColumn": 21, + "charOffset": 13835, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EDE2F4E2065BD47816AD861DCA63061BE6EC84888FF6A3F5F3165712034DE5FF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 752, + "startColumn": 13, + "endLine": 752, + "endColumn": 21, + "charOffset": 18843, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "586892DFE0C1E3EBD84EDBB79414D49671CC5B14DAA5E0D255CB8957CC09A7CB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 894, + "startColumn": 13, + "endLine": 894, + "endColumn": 21, + "charOffset": 22637, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "EDE2F4E2065BD47816AD861DCA63061BE6EC84888FF6A3F5F3165712034DE5FF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1049, + "startColumn": 13, + "endLine": 1049, + "endColumn": 25, + "charOffset": 27408, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "40C665BB25815164D2158BE23C00DFC22CB9EFE0167235B656438ECC3F739991" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1050, + "startColumn": 13, + "endLine": 1050, + "endColumn": 23, + "charOffset": 27459, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C554A2F58D1DE66557A29748D2786625F54FC00958D66443FC159B542785768A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 183, + "startColumn": 13, + "endLine": 183, + "endColumn": 26, + "charOffset": 5324, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2ED32999F866E4F8F14F4FEFDCFD08EC8CE4B2192E9964CD6C35395F5FC79311" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 190, + "startColumn": 22, + "endLine": 190, + "endColumn": 34, + "charOffset": 5545, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "35AFBCA5292F8648E7AD7FE9D147CBA4EAC71B2313BDB9EC7966A1A6E658A55B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 222, + "startColumn": 13, + "endLine": 222, + "endColumn": 27, + "charOffset": 6446, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2856FFAA0AE067D28708850D78A997C3D8372A59DAB52132D0930161E108F4B6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 229, + "startColumn": 22, + "endLine": 229, + "endColumn": 34, + "charOffset": 6714, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "35AFBCA5292F8648E7AD7FE9D147CBA4EAC71B2313BDB9EC7966A1A6E658A55B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 244, + "startColumn": 17, + "endLine": 244, + "endColumn": 33, + "charOffset": 7212, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "62645936EA094CA7B79DDD41787736C6DE73E319AB5A430C40EEECE167D0F430" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 251, + "startColumn": 22, + "endLine": 251, + "endColumn": 31, + "charOffset": 7453, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD74D3747A8DA0DDD0294B43396A0E2EA915C44F1F3C4D70A1388F12E3AC1977" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 253, + "startColumn": 17, + "endLine": 253, + "endColumn": 33, + "charOffset": 7523, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E921238BF8DB48C03D41B6B2DC6999EA72E3D068B1ABD57FDB039840A44BDE64" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 281, + "startColumn": 22, + "endLine": 281, + "endColumn": 34, + "charOffset": 8333, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "35AFBCA5292F8648E7AD7FE9D147CBA4EAC71B2313BDB9EC7966A1A6E658A55B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 286, + "startColumn": 17, + "endLine": 286, + "endColumn": 33, + "charOffset": 8487, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "62645936EA094CA7B79DDD41787736C6DE73E319AB5A430C40EEECE167D0F430" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 292, + "startColumn": 22, + "endLine": 292, + "endColumn": 31, + "charOffset": 8692, + "charLength": 9 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "FD74D3747A8DA0DDD0294B43396A0E2EA915C44F1F3C4D70A1388F12E3AC1977" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 294, + "startColumn": 17, + "endLine": 294, + "endColumn": 33, + "charOffset": 8762, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E921238BF8DB48C03D41B6B2DC6999EA72E3D068B1ABD57FDB039840A44BDE64" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 325, + "startColumn": 13, + "endLine": 325, + "endColumn": 23, + "charOffset": 9621, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "06A8B9E60369DEF1ECF691E0229EA5D88AB3CAD33A4D59DAA812B0F4A79CFA22" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 350, + "startColumn": 13, + "endLine": 350, + "endColumn": 17, + "charOffset": 10256, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5A3DEA670C9D2F18EACD7449CB055492C3E3F9C18A55D54E139AF4645A1042FC" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 351, + "startColumn": 13, + "endLine": 351, + "endColumn": 17, + "charOffset": 10331, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7330EC18E3A07E904096FF9DCC3FB51D146F39AEBE27E733E6D11E441A3CED1F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 378, + "startColumn": 17, + "endLine": 378, + "endColumn": 21, + "charOffset": 11230, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BAE91AA603C95A0EA330A71D1D57CA8BEF5309D5B0D196B10E2DF27EA5C0D00C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 389, + "startColumn": 21, + "endLine": 389, + "endColumn": 33, + "charOffset": 11663, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9DBA2A00B8832738141CA3DA2C9F4BBA3FCEEEBF03B661E7BD3FC33D216E891C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 401, + "startColumn": 21, + "endLine": 401, + "endColumn": 33, + "charOffset": 12109, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A3E22DCEAFBF7A9B8BCEC88831522D15D03B98DE79488D4039B426C34DF030B5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 416, + "startColumn": 17, + "endLine": 416, + "endColumn": 27, + "charOffset": 12652, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C7E602B9537A3494581DD902A73FD3F9FAF19C906A3FC6BACDE3C3462FEC19CB" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 434, + "startColumn": 17, + "endLine": 434, + "endColumn": 30, + "charOffset": 13288, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BA40665B497349AD3D74A69EB017118C20DB7D571B5D6D97498388070A9F40AF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 481, + "startColumn": 17, + "endLine": 481, + "endColumn": 31, + "charOffset": 14830, + "charLength": 14 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DF7AF07DCF8A5F67DBC9B9C33D65B0588DF9EF80A122C94306B8AC8E8D3AC507" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 496, + "startColumn": 25, + "endLine": 496, + "endColumn": 41, + "charOffset": 15313, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1CC00124E08D05FE369A89595344D98569A001049EF7A7A4C03D164F84566AA6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 506, + "startColumn": 29, + "endLine": 506, + "endColumn": 41, + "charOffset": 15736, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C813B2FA0E7B7BC5B6878D97CC70A00C1CD19F02103B602ED48BEC25C97E5DFA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 559, + "startColumn": 13, + "endLine": 559, + "endColumn": 25, + "charOffset": 17579, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "80CC6BF9A2BBD16A1BD450671194993688F47A0C6D1460C8F9C48CB6E9EC6695" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 597, + "startColumn": 21, + "endLine": 597, + "endColumn": 33, + "charOffset": 18678, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "07FF7AB25A40DC1A548E7E55615EC746C77312224A670DE46BEB0EFCE2731B83" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 892, + "startColumn": 13, + "endLine": 892, + "endColumn": 17, + "charOffset": 29007, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A5FC8403F9CDCC87F8D93DD179977C292FBBABADD3B1E6E5B1FF94E3D55FE3B3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 897, + "startColumn": 17, + "endLine": 897, + "endColumn": 29, + "charOffset": 29199, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "4C933DDB8DD6C323FE40D6245E63CDB8FA4F1C676B0D227916DF8CC95A989519" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 906, + "startColumn": 17, + "endLine": 906, + "endColumn": 29, + "charOffset": 29488, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8E3ACCDC2B79AA00186F6C8AFEF1ABBFC974F29477340FCE117399EBABC71417" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 915, + "startColumn": 17, + "endLine": 915, + "endColumn": 21, + "charOffset": 29745, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B449BB70432E90E8EAB04A0C2715E5648A69BC105FC4C1E0C1FA7B46C4F99E28" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 943, + "startColumn": 22, + "endLine": 943, + "endColumn": 38, + "charOffset": 30858, + "charLength": 16 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B5C6D918851120FC9071F9B3AB02BF3D4D77CDC61EFA13B7CC33C34822E70265" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 953, + "startColumn": 21, + "endLine": 953, + "endColumn": 33, + "charOffset": 31253, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "0F867CD280D16156127CC06D82A10C6B6D305D3E7B99A8DCE30981A5A5045330" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 993, + "startColumn": 13, + "endLine": 993, + "endColumn": 23, + "charOffset": 32411, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "091F3DF8898A82EB5D6719414C7C54D20C6216663D13D1F153AE24C5BB1C5F19" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1012, + "startColumn": 13, + "endLine": 1012, + "endColumn": 23, + "charOffset": 32977, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "091F3DF8898A82EB5D6719414C7C54D20C6216663D13D1F153AE24C5BB1C5F19" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1019, + "startColumn": 13, + "endLine": 1019, + "endColumn": 23, + "charOffset": 33173, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B82EFB523512CCC6894BF7D61DAB571B595D79046C0B43577AA031279F372577" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1026, + "startColumn": 13, + "endLine": 1026, + "endColumn": 23, + "charOffset": 33377, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B82EFB523512CCC6894BF7D61DAB571B595D79046C0B43577AA031279F372577" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "SuggestVarOrType_SimpleTypes", + "ruleIndex": 60, + "level": "note", + "message": { + "text": "Use 'var' (simple types)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 1040, + "startColumn": 13, + "endLine": 1040, + "endColumn": 23, + "charOffset": 33848, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B82EFB523512CCC6894BF7D61DAB571B595D79046C0B43577AA031279F372577" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "TooWideLocalVariableScope", + "ruleIndex": 61, + "level": "note", + "message": { + "text": "Local variable 'entry_symbols' can be declared in inner scope" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 475, + "startColumn": 19, + "endLine": 475, + "endColumn": 32, + "charOffset": 14650, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "DA99B28C31671AB321495718935B247D23A20DD335ACDDDE8CA21B97EF4858F5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "TooWideLocalVariableScope", + "ruleIndex": 61, + "level": "note", + "message": { + "text": "Local variable 'handler' can be declared in inner scope" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 941, + "startColumn": 26, + "endLine": 941, + "endColumn": 33, + "charOffset": 25091, + "charLength": 7 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "8A1B71A73104B455FDBB91AC704212D89CCC20B71A4E9F81215540284BDF5B37" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "TooWideLocalVariableScope", + "ruleIndex": 61, + "level": "note", + "message": { + "text": "Local variable 'num' can be declared in inner scope" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 197, + "startColumn": 17, + "endLine": 197, + "endColumn": 20, + "charOffset": 5279, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "BB175056F33682CFBEA68F4D48295BC4C29049906417B663295A5808BAB03877" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "TypeParameterCanBeVariant", + "ruleIndex": 62, + "level": "note", + "message": { + "text": "The type parameter 'T' could be declared as contravariant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 106, + "startColumn": 41, + "endLine": 106, + "endColumn": 42, + "charOffset": 2364, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1687F366DE1F9C88D35666FA8315143284FDF8375A58CAA05C0E000B2583186F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "TypeParameterCanBeVariant", + "ruleIndex": 62, + "level": "note", + "message": { + "text": "The type parameter 'TJson' could be declared as contravariant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 109, + "startColumn": 43, + "endLine": 109, + "endColumn": 48, + "charOffset": 2497, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "07784AD70E3D051ED8B5AA2FE601C15A540CF3A250051B9943B8AF508D028AD7" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "TypeParameterCanBeVariant", + "ruleIndex": 62, + "level": "note", + "message": { + "text": "The type parameter 'TValue' could be declared as covariant" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 109, + "startColumn": 50, + "endLine": 109, + "endColumn": 56, + "charOffset": 2504, + "charLength": 6 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "07784AD70E3D051ED8B5AA2FE601C15A540CF3A250051B9943B8AF508D028AD7" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 63, + "message": { + "text": "Auto-property accessor 'CheckBinaryFilesTrackedByLfs.set' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesSettings.cs", + "uriBaseId": "solutionDir", + "index": 64 + }, + "region": { + "startLine": 13, + "startColumn": 57, + "endLine": 13, + "endColumn": 61, + "charOffset": 523, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "91935DD9402FECAA76735F6665CD027FEC3F4F64C0FA9B4A6CCF812225649156" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 63, + "message": { + "text": "Auto-property accessor 'CheckFilesPathLength.set' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesSettings.cs", + "uriBaseId": "solutionDir", + "index": 64 + }, + "region": { + "startLine": 19, + "startColumn": 49, + "endLine": 19, + "endColumn": 53, + "charOffset": 787, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "27C76E0DC6BC01B4C7BA18032909E3F8FF5720A506EF86559150D42949354B7B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 63, + "message": { + "text": "Auto-property accessor 'JavaScript.set' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/IdeIntegrationSettings.cs", + "uriBaseId": "solutionDir", + "index": 23 + }, + "region": { + "startLine": 11, + "startColumn": 41, + "endLine": 11, + "endColumn": 45, + "charOffset": 348, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9C63BD798853344C81C295319401A29E5C7FADCBD1EDCF6C72AC3B1A1995A883" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 63, + "message": { + "text": "Auto-property accessor 'MaxFilePathLength.set' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesSettings.cs", + "uriBaseId": "solutionDir", + "index": 64 + }, + "region": { + "startLine": 25, + "startColumn": 45, + "endLine": 25, + "endColumn": 49, + "charOffset": 1037, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1207F6CA8C391E9261304DD9D631EC7C81F435C12F4AFE1E6D6EC38E6A75B320" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "ruleIndex": 63, + "message": { + "text": "Auto-property accessor 'VisibleIndex.set' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/HtmlDxDataGridColumnDescription.cs", + "uriBaseId": "solutionDir", + "index": 22 + }, + "region": { + "startLine": 44, + "startColumn": 40, + "endLine": 44, + "endColumn": 44, + "charOffset": 1674, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B2E48EC8BC95496A2224E1714F56D736F6B0C4F5A6F859DE6F3AA6B57873A25C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Local", + "ruleIndex": 64, + "message": { + "text": "Auto-property accessor 'Format.set' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Testing/FakeMultiFormatIssueProvider.cs", + "uriBaseId": "solutionDir", + "index": 157 + }, + "region": { + "startLine": 31, + "startColumn": 49, + "endLine": 31, + "endColumn": 61, + "charOffset": 1272, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "3DCA2E37016FF540158377F5E144262D95DC6E3835E213B9276DC079433BAA42" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 65, + "level": "note", + "message": { + "text": "Only implementations of accessor 'AffectedFileRelativePath.set' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IPullRequestDiscussionThread.cs", + "uriBaseId": "solutionDir", + "index": 158 + }, + "region": { + "startLine": 31, + "startColumn": 50, + "endLine": 31, + "endColumn": 53, + "charOffset": 1180, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2ABC359EB2A5EF4CC219024E70D82777E7816A6F20F819D9AFD4747FFACA6E40" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 65, + "level": "note", + "message": { + "text": "Only implementations of accessor 'CommentSource.set' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IPullRequestDiscussionThread.cs", + "uriBaseId": "solutionDir", + "index": 158 + }, + "region": { + "startLine": 36, + "startColumn": 37, + "endLine": 36, + "endColumn": 40, + "charOffset": 1357, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "6B15DF5BA312DDD25346D60E98C682E6B8557BB1B47036B90CA03C4157C4AFEF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 65, + "level": "note", + "message": { + "text": "Only implementations of accessor 'Id.set' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IPullRequestDiscussionThread.cs", + "uriBaseId": "solutionDir", + "index": 158 + }, + "region": { + "startLine": 14, + "startColumn": 23, + "endLine": 14, + "endColumn": 26, + "charOffset": 416, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1233C66CFE6937065E1CD0A2F43D59986B63018B36C009EAEE17E7F5B33CB789" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 65, + "level": "note", + "message": { + "text": "Only implementations of accessor 'IsDeleted.set' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IPullRequestDiscussionComment.cs", + "uriBaseId": "solutionDir", + "index": 159 + }, + "region": { + "startLine": 16, + "startColumn": 31, + "endLine": 16, + "endColumn": 34, + "charOffset": 492, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "826DE7257BDC1EA3DB95B69F18F1326D81670EF01BC4D2A94B6AADCE5515D3A7" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 65, + "level": "note", + "message": { + "text": "Only implementations of accessor 'ProviderType.set' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IPullRequestDiscussionThread.cs", + "uriBaseId": "solutionDir", + "index": 158 + }, + "region": { + "startLine": 42, + "startColumn": 36, + "endLine": 42, + "endColumn": 39, + "charOffset": 1597, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5FF258A0CCEA1D5370BD248E591D8F13832A8024EA482E3D2E32574BE5063FB2" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 65, + "level": "note", + "message": { + "text": "Only implementations of accessor 'Resolution.set' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IPullRequestDiscussionThread.cs", + "uriBaseId": "solutionDir", + "index": 158 + }, + "region": { + "startLine": 24, + "startColumn": 59, + "endLine": 24, + "endColumn": 62, + "charOffset": 840, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "CE4B2F471C5F4F1DE42E90002C2ECAAE68220AC5F9A8BEA8EA60ADF542FF58E6" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 65, + "level": "note", + "message": { + "text": "Only implementations of accessor 'Status.set' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IPullRequestDiscussionThread.cs", + "uriBaseId": "solutionDir", + "index": 158 + }, + "region": { + "startLine": 19, + "startColumn": 51, + "endLine": 19, + "endColumn": 54, + "charOffset": 591, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "98F4A58782716AE511AC9A3D740DFDD508216DBD5EA62ABED6686C891DC7820C" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedMemberInSuper.Global", + "ruleIndex": 65, + "level": "note", + "message": { + "text": "Only implementations of method 'AddCapability' are used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests/IPullRequestSystem.cs", + "uriBaseId": "solutionDir", + "index": 160 + }, + "region": { + "startLine": 14, + "startColumn": 14, + "endLine": 14, + "endColumn": 27, + "charOffset": 435, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E0C8E08B2EAD325419303C563131377408762B977AB3743B5C08FD9BCDC175E0" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "ruleIndex": 66, + "level": "note", + "message": { + "text": "Method 'NextToken' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 939, + "startColumn": 16, + "endLine": 939, + "endColumn": 20, + "charOffset": 25037, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "D345BCCD66A4093082A7C6BA777A0C9DDBBF2DE6C150FC79B66DA217674BB241" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "ruleIndex": 66, + "level": "note", + "message": { + "text": "Method 'Read' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 447, + "startColumn": 16, + "endLine": 447, + "endColumn": 20, + "charOffset": 13954, + "charLength": 4 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "94DAAFEFFBCB0B03A518AD1C6E9BD79C1202531744F65DFDAAD16342C9BAFA25" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UnusedParameter.Local", + "ruleIndex": 67, + "message": { + "text": "Parameter 'x' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic.Tests/HtmlDxDataGridTemplateTests.cs", + "uriBaseId": "solutionDir", + "index": 161 + }, + "region": { + "startLine": 809, + "startColumn": 55, + "endLine": 809, + "endColumn": 56, + "charOffset": 30383, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "459DC31AF36C3F036CC52190479EAEBC71BA6B7C4A145EE35B73B17C915D34F3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UnusedParameter.Local", + "ruleIndex": 67, + "message": { + "text": "Parameter 'x' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir", + "index": 50 + }, + "region": { + "startLine": 68, + "startColumn": 44, + "endLine": 68, + "endColumn": 45, + "charOffset": 2257, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A3F6CFDDCBE46CA75E4C2C1FE970CA7D5EE63795B869E112BE1FF7ECA471252C" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UnusedParameter.Local", + "ruleIndex": 67, + "message": { + "text": "Parameter 'x' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir", + "index": 50 + }, + "region": { + "startLine": 124, + "startColumn": 44, + "endLine": 124, + "endColumn": 45, + "charOffset": 4449, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "66BBD1F6BD7BD907CF1170521CE6CACA1B062CF139E7ADE79146A649377A5C5A" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UnusedParameter.Local", + "ruleIndex": 67, + "message": { + "text": "Parameter 'x' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir", + "index": 50 + }, + "region": { + "startLine": 125, + "startColumn": 44, + "endLine": 125, + "endColumn": 45, + "charOffset": 4519, + "charLength": 1 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "90CDDF29080FC2810A06D8642A85BE0B400101A137C0960350FD6E80C000FBBD" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UnusedType.Local", + "ruleIndex": 68, + "message": { + "text": "Class 'FakeRuleUrlResolverForBaseRuleDescription' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Tests/BaseRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir", + "index": 50 + }, + "region": { + "startLine": 7, + "startColumn": 27, + "endLine": 7, + "endColumn": 68, + "charOffset": 157, + "charLength": 41 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "56001EEBA8B7586792C5992A1E2DA0EBD518C803B745E5822A2AB0895628A885" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UnusedVariable", + "ruleIndex": 69, + "message": { + "text": "Local variable 'logContents' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportGeneratorTests.cs", + "uriBaseId": "solutionDir", + "index": 53 + }, + "region": { + "startLine": 62, + "startColumn": 21, + "endLine": 62, + "endColumn": 32, + "charOffset": 2423, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AE91E71384FAD90862BFB11B8C1C721A8FF5483E82102600EEB03A4B8254EAF3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UnusedVariable", + "ruleIndex": 69, + "message": { + "text": "Local variable 'logContents' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportGeneratorTests.cs", + "uriBaseId": "solutionDir", + "index": 53 + }, + "region": { + "startLine": 88, + "startColumn": 21, + "endLine": 88, + "endColumn": 32, + "charOffset": 3599, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AE91E71384FAD90862BFB11B8C1C721A8FF5483E82102600EEB03A4B8254EAF3" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 70, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic.Tests/DevExtremeThemeExtensionsTests.cs", + "uriBaseId": "solutionDir", + "index": 162 + }, + "region": { + "startLine": 15, + "startColumn": 34, + "endLine": 15, + "endColumn": 39, + "charOffset": 661, + "charLength": 5 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "793E907AAEF7F474A1738B9AF3A5DEBD5BF71C9AAEA1CF18B384486EE0402761" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 70, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 326, + "startColumn": 32, + "endLine": 326, + "endColumn": 42, + "charOffset": 9683, + "charLength": 10 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7D449E4063CB51761DEC188C7D5CE91EE1532882A545FC74419F21867CAE9289" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 70, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 420, + "startColumn": 44, + "endLine": 420, + "endColumn": 56, + "charOffset": 12840, + "charLength": 12 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E5D0979DE629A16D77FCA88644A39A88D5056CBAE95E43DD5274BD0396AF63EF" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 70, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 149, + "startColumn": 33, + "endLine": 149, + "endColumn": 53, + "charOffset": 3714, + "charLength": 20 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "08B7158229440808ED248A647C736961FEA958A96E3B1CF94455DDBC2D759D6D" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseCollectionExpression", + "ruleIndex": 70, + "level": "note", + "message": { + "text": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 180, + "startColumn": 32, + "endLine": 180, + "endColumn": 43, + "charOffset": 4505, + "charLength": 11 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "A84189CF6364DA285A6E80FAA8E270C20E6C15B0A534345D70BC20DE74F580E9" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseNameofExpression", + "ruleIndex": 71, + "level": "note", + "message": { + "text": "Use 'nameof' expression to reference parameter 'reader' name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir", + "index": 12 + }, + "region": { + "startLine": 131, + "startColumn": 49, + "endLine": 131, + "endColumn": 57, + "charOffset": 2989, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "B7266B68F51D11CFD1A07BEF7B0B070270F04F52B86FA495D14E1C2D9B6A4C09" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseNameofExpression", + "ruleIndex": 71, + "level": "note", + "message": { + "text": "Use 'nameof' expression to reference parameter 'writer' name" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 122, + "startColumn": 49, + "endLine": 122, + "endColumn": 57, + "charOffset": 2937, + "charLength": 8 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "445C556F43C9CFBE3CBDC84705785F26B30F0DA487465E4DF59C2D3B99ADA12B" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/AppVeyorBuildSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 32 + }, + "region": { + "startLine": 42, + "startColumn": 32, + "endLine": 42, + "endColumn": 35, + "charOffset": 1343, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9592EBE6BB3AD976984CE5F8EE93A8FB24DAA057609C5AAA489FE6B82C943D92" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/AppVeyorBuildSettingsTests.cs", + "uriBaseId": "solutionDir", + "index": 32 + }, + "region": { + "startLine": 58, + "startColumn": 32, + "endLine": 58, + "endColumn": 35, + "charOffset": 1832, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9592EBE6BB3AD976984CE5F8EE93A8FB24DAA057609C5AAA489FE6B82C943D92" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportGeneratorTests.cs", + "uriBaseId": "solutionDir", + "index": 53 + }, + "region": { + "startLine": 54, + "startColumn": 31, + "endLine": 54, + "endColumn": 34, + "charOffset": 1885, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AE7BB45BB11B36CE6EDC6E380ECB5ED54D5A511E2705AAAB5BC73332AF569AD8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportGeneratorTests.cs", + "uriBaseId": "solutionDir", + "index": 53 + }, + "region": { + "startLine": 80, + "startColumn": 31, + "endLine": 80, + "endColumn": 34, + "charOffset": 3061, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "AE7BB45BB11B36CE6EDC6E380ECB5ED54D5A511E2705AAAB5BC73332AF569AD8" + }, + "properties": { + "tags": ["C#",".NET 6.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir", + "index": 9 + }, + "region": { + "startLine": 1050, + "startColumn": 33, + "endLine": 1050, + "endColumn": 36, + "charOffset": 27479, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C554A2F58D1DE66557A29748D2786625F54FC00958D66443FC159B542785768A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 183, + "startColumn": 34, + "endLine": 183, + "endColumn": 37, + "charOffset": 5345, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2ED32999F866E4F8F14F4FEFDCFD08EC8CE4B2192E9964CD6C35395F5FC79311" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 244, + "startColumn": 43, + "endLine": 244, + "endColumn": 46, + "charOffset": 7238, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "62645936EA094CA7B79DDD41787736C6DE73E319AB5A430C40EEECE167D0F430" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 253, + "startColumn": 43, + "endLine": 253, + "endColumn": 46, + "charOffset": 7549, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E921238BF8DB48C03D41B6B2DC6999EA72E3D068B1ABD57FDB039840A44BDE64" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 286, + "startColumn": 43, + "endLine": 286, + "endColumn": 46, + "charOffset": 8513, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "62645936EA094CA7B79DDD41787736C6DE73E319AB5A430C40EEECE167D0F430" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 294, + "startColumn": 43, + "endLine": 294, + "endColumn": 46, + "charOffset": 8788, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "E921238BF8DB48C03D41B6B2DC6999EA72E3D068B1ABD57FDB039840A44BDE64" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 438, + "startColumn": 23, + "endLine": 438, + "endColumn": 26, + "charOffset": 11343, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9244588DA93E41344CC2C258D81E5730AC007D755455889A9A16F4AFF51AE6B4" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir", + "index": 13 + }, + "region": { + "startLine": 470, + "startColumn": 23, + "endLine": 470, + "endColumn": 26, + "charOffset": 12101, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "9B145958C9C5271733660540C6E00D540F71B2398D3BE34F98403BE86740E962" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseObjectOrCollectionInitializer", + "ruleIndex": 72, + "level": "note", + "message": { + "text": "Use object initializer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir", + "index": 14 + }, + "region": { + "startLine": 105, + "startColumn": 27, + "endLine": 105, + "endColumn": 30, + "charOffset": 2608, + "charLength": 3 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "80010B40403EECBD50D54FDC098E97B0AE0704E155A0E54B508CA33750DE5E4F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseStringInterpolation", + "ruleIndex": 73, + "level": "note", + "message": { + "text": "Use string interpolation expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonException.cs", + "uriBaseId": "solutionDir", + "index": 30 + }, + "region": { + "startLine": 35, + "startColumn": 18, + "endLine": 35, + "endColumn": 31, + "charOffset": 762, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "1EFFE2C02F73FA95AF9D5002068D529100530389E3EF9B7907F1D53E32433363" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseStringInterpolation", + "ruleIndex": 73, + "level": "note", + "message": { + "text": "Use string interpolation expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonException.cs", + "uriBaseId": "solutionDir", + "index": 30 + }, + "region": { + "startLine": 42, + "startColumn": 18, + "endLine": 42, + "endColumn": 31, + "charOffset": 1000, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "C9A3372AFBD8C6A2A67FC2E40E15E1173F0505FE56F3EDEFC2F7499C7826F27F" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseStringInterpolation", + "ruleIndex": 73, + "level": "note", + "message": { + "text": "Use string interpolation expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonException.cs", + "uriBaseId": "solutionDir", + "index": 30 + }, + "region": { + "startLine": 49, + "startColumn": 18, + "endLine": 49, + "endColumn": 31, + "charOffset": 1200, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "7A001EB98290F35F0046D642F3E426622B87F7ADD1F619037F753C8389D09F4A" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseStringInterpolation", + "ruleIndex": 73, + "level": "note", + "message": { + "text": "Use string interpolation expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonException.cs", + "uriBaseId": "solutionDir", + "index": 30 + }, + "region": { + "startLine": 55, + "startColumn": 18, + "endLine": 55, + "endColumn": 31, + "charOffset": 1399, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "16A3D04F3188B303722D17D3DB5B7D8CB977F27831305D7B005CDA0A982F91D3" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseStringInterpolation", + "ruleIndex": 73, + "level": "note", + "message": { + "text": "Use string interpolation expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 366, + "startColumn": 41, + "endLine": 366, + "endColumn": 54, + "charOffset": 10786, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "5E07898379EC47D9AE2C9D5C43772CC7DD865A0EEC22CE222F3C1231143EC6A5" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseStringInterpolation", + "ruleIndex": 73, + "level": "note", + "message": { + "text": "Use string interpolation expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 437, + "startColumn": 45, + "endLine": 437, + "endColumn": 58, + "charOffset": 13441, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2F439B5BBD481E04C25F2FDA10C7E5EFD9B8BFD7E9E935334ACCCD54B7796ACA" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "UseStringInterpolation", + "ruleIndex": 73, + "level": "note", + "message": { + "text": "Use string interpolation expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir", + "index": 10 + }, + "region": { + "startLine": 797, + "startColumn": 21, + "endLine": 797, + "endColumn": 34, + "charOffset": 26341, + "charLength": 13 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "F17391C068F5B9E093E3B52326DAAE217F97AD4FE4AB73FB9C326865CDADF847" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + }, + { + "ruleId": "VirtualMemberCallInConstructor", + "ruleIndex": 74, + "message": { + "text": "Virtual member call in constructor" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "Cake.Issues.Testing/BaseConfigurableIssueProviderFixture.cs", + "uriBaseId": "solutionDir", + "index": 26 + }, + "region": { + "startLine": 25, + "startColumn": 37, + "endLine": 25, + "endColumn": 58, + "charOffset": 1211, + "charLength": 21 + } + } + } + ], + "partialFingerprints": { + "contextRegionHash/v1": "2E0036225EADB1A7F578E4B4EF09F1E9BBAAF454ADC8CD7A9E56B0A1AC4B5B85" + }, + "properties": { + "tags": ["C#",".NET 6.0",".NET 7.0",".NET 8.0"] + } + } + ], + "tool": { + "driver": { + "name": "InspectCode", + "organization": "JetBrains, Inc", + "fullName": "JetBrains Inspect Code 2024.1.2", + "semanticVersion": "241.0.20240506.152321", + "informationUri": "http://www.jetbrains.com/resharper/features/command-line.html", + "rules": [ + { + "id": "AccessToDisposedClosure", + "fullDescription": { + "text": "Access to captured variable from anonymous method when the variable is disposed" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=AccessToDisposedClosure" + }, + "shortDescription": { + "text": "Access to disposed captured variable" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=AccessToDisposedClosure", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeAccessorOwnerBody", + "fullDescription": { + "text": "Use expression or block body" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ArrangeAccessorOwnerBody" + }, + "shortDescription": { + "text": "Use preferred body style: Convert into property, indexer, or event with preferred body style" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ArrangeAccessorOwnerBody", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeObjectCreationWhenTypeEvident", + "fullDescription": { + "text": "Add or remove explicit type specification in 'new' expression when type is evident from the usage" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ArrangeObjectCreationWhenTypeEvident" + }, + "shortDescription": { + "text": "Use preferred style of 'new' expression when created type is evident" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ArrangeObjectCreationWhenTypeEvident", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeVarKeywordsInDeconstructingDeclaration", + "fullDescription": { + "text": "Use preferred code style to check joined/separate 'var' usages in deconstruction declarations" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ArrangeVarKeywordsInDeconstructingDeclaration" + }, + "shortDescription": { + "text": "Join or separate 'var' in deconstruction declarations" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ArrangeVarKeywordsInDeconstructingDeclaration", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignNullToNotNullAttribute", + "fullDescription": { + "text": "An expression that can have 'null' value is assigned to an entity marked with 'Value cannot be null' attribute. In particular, this can happen when passing such value to a method whose parameter is marked with 'Value cannot be null' attribute." + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=AssignNullToNotNullAttribute" + }, + "shortDescription": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=AssignNullToNotNullAttribute", + "relationships": [ + { + "target": { + "id": "CSHARP.ConstraintViolation", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AutoPropertyCanBeMadeGetOnly.Global", + "fullDescription": { + "text": "Auto-property has no write usages after initialization and can be made get-only" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=AutoPropertyCanBeMadeGetOnly.Global" + }, + "shortDescription": { + "text": "Auto-property can be made get-only: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=AutoPropertyCanBeMadeGetOnly.Global", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AutoPropertyCanBeMadeGetOnly.Local", + "fullDescription": { + "text": "Auto-property has no write usages after initialization and can be made get-only" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=AutoPropertyCanBeMadeGetOnly.Local" + }, + "shortDescription": { + "text": "Auto-property can be made get-only: Private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=AutoPropertyCanBeMadeGetOnly.Local", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanSimplifyDictionaryLookupWithTryAdd", + "fullDescription": { + "text": "Dictionary lookup can be simplified with 'TryAdd'" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=CanSimplifyDictionaryLookupWithTryAdd" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=CanSimplifyDictionaryLookupWithTryAdd", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanSimplifyDictionaryLookupWithTryGetValue", + "fullDescription": { + "text": "Dictionary lookup can be simplified with 'TryGetValue'" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckNamespace", + "fullDescription": { + "text": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page." + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=CheckNamespace" + }, + "shortDescription": { + "text": "Namespace does not correspond to file location" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=CheckNamespace", + "relationships": [ + { + "target": { + "id": "CSHARP.ConstraintViolation", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.ConstraintViolation", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClassNeverInstantiated.Global", + "fullDescription": { + "text": "Non-static class is never instantiated" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ClassNeverInstantiated.Global" + }, + "shortDescription": { + "text": "Class is never instantiated: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ClassNeverInstantiated.Global", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CollectionNeverUpdated.Local", + "fullDescription": { + "text": "New elements are never added to the collection" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=CollectionNeverUpdated.Local" + }, + "shortDescription": { + "text": "Collection is never updated: Private accessibility" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=CollectionNeverUpdated.Local", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionIsAlwaysTrueOrFalse", + "fullDescription": { + "text": "Value of a boolean expression is always the same at this point" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConditionIsAlwaysTrueOrFalse" + }, + "shortDescription": { + "text": "Expression is always 'true' or always 'false'" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConditionIsAlwaysTrueOrFalse", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstantNullCoalescingCondition", + "fullDescription": { + "text": "Operand of '??' expression condition is known to be null or not null" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConstantNullCoalescingCondition" + }, + "shortDescription": { + "text": "'??' condition is known to be null or not null" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConstantNullCoalescingCondition", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertClosureToMethodGroup", + "fullDescription": { + "text": "Convert lambda expression or anonymous method into method group" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConvertClosureToMethodGroup" + }, + "shortDescription": { + "text": "Convert lambda expression into method group" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConvertClosureToMethodGroup", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertConstructorToMemberInitializers", + "fullDescription": { + "text": "Replace constructor with members initialized inline" + }, + "shortDescription": { + "text": "Convert constructor into member initializers" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToAutoProperty", + "fullDescription": { + "text": "Converts property declaration into C# auto-property syntax" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConvertToAutoProperty" + }, + "shortDescription": { + "text": "Convert property into auto-property" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConvertToAutoProperty", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToLambdaExpression", + "fullDescription": { + "text": "Convert statement-bodied lambda into expression-bodied. Does not suggest the conversion when the expression contains nested closures or explicit side-effects." + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConvertToLambdaExpression" + }, + "shortDescription": { + "text": "Convert into lambda expression" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConvertToLambdaExpression", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToLocalFunction", + "fullDescription": { + "text": "Replace delegate variable with local function" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConvertToLocalFunction" + }, + "shortDescription": { + "text": "Convert delegate variable into local function" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ConvertToLocalFunction", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToPrimaryConstructor", + "fullDescription": { + "text": "Replace ordinary constructor with primary constructor" + }, + "shortDescription": { + "text": "Convert constructor into primary constructor" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CoVariantArrayConversion", + "fullDescription": { + "text": "Co-variant conversion of array could cause run-time exceptions" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=CoVariantArrayConversion" + }, + "shortDescription": { + "text": "Co-variant array conversion" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=CoVariantArrayConversion", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyStatement", + "fullDescription": { + "text": "Empty statement is redundant" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=EmptyStatement" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=EmptyStatement", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ExpressionIsAlwaysNull", + "fullDescription": { + "text": "The expression is always evaluated to 'null' at this point" + }, + "shortDescription": { + "text": "Expression is always 'null'" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FieldCanBeMadeReadOnly.Local", + "fullDescription": { + "text": "Field has no write usages after initialization and can be made readonly" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=FieldCanBeMadeReadOnly.Local" + }, + "shortDescription": { + "text": "Field can be made readonly: Private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=FieldCanBeMadeReadOnly.Local", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HeuristicUnreachableCode", + "fullDescription": { + "text": "Heuristically unreachable code detected" + }, + "shortDescription": { + "text": "Heuristically unreachable code" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InconsistentlySynchronizedField", + "fullDescription": { + "text": "The field is sometimes used inside synchronized block and sometimes used without synchronization" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=InconsistentlySynchronizedField" + }, + "shortDescription": { + "text": "Inconsistent synchronization on field" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=InconsistentlySynchronizedField", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InconsistentNaming", + "fullDescription": { + "text": "Name doesn't match naming style defined for this kind of symbol" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=InconsistentNaming" + }, + "shortDescription": { + "text": "Inconsistent Naming" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=InconsistentNaming", + "relationships": [ + { + "target": { + "id": "CSHARP.ConstraintViolation", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.ConstraintViolation", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.ConstraintViolation", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InlineOutVariableDeclaration", + "fullDescription": { + "text": "Replace ordinary variable declaration with inline variable declaration under 'out' argument" + }, + "shortDescription": { + "text": "Inline 'out' variable declaration" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IntroduceOptionalParameters.Local", + "fullDescription": { + "text": "Introduce optional parameters to overload method" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=IntroduceOptionalParameters.Local" + }, + "shortDescription": { + "text": "Introduce optional parameters: Private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=IntroduceOptionalParameters.Local", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InvokeAsExtensionMethod", + "fullDescription": { + "text": "When extension method is invoked as static method, convert invocation into extension method syntax" + }, + "shortDescription": { + "text": "Convert static method invocation into extension method call" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JoinDeclarationAndInitializer", + "fullDescription": { + "text": "Join local variable declaration and assignment" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=JoinDeclarationAndInitializer" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=JoinDeclarationAndInitializer", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JoinNullCheckWithUsage", + "fullDescription": { + "text": "Replaces if statement with code using ?? operator and throw expression" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=JoinNullCheckWithUsage" + }, + "shortDescription": { + "text": "Join null check with assignment" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=JoinNullCheckWithUsage", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LocalVariableHidesMember", + "fullDescription": { + "text": "Local variable has the same name as a field/property and hides it" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=LocalVariableHidesMember" + }, + "shortDescription": { + "text": "Local variable hides member" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=LocalVariableHidesMember", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MergeCastWithTypeCheck", + "fullDescription": { + "text": "Type check ('is' expression) and direct cast(s) after it can be merged" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=MergeCastWithTypeCheck" + }, + "shortDescription": { + "text": "Type check and casts can be merged" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=MergeCastWithTypeCheck", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MergeIntoPattern", + "fullDescription": { + "text": "Merge sequential null/pattern checks into single recursive/logical pattern check" + }, + "shortDescription": { + "text": "Merge null/pattern checks into complex pattern" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedField.Local", + "fullDescription": { + "text": "Field is assigned but its value is never used" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=NotAccessedField.Local" + }, + "shortDescription": { + "text": "Non-accessed field: Private accessibility" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=NotAccessedField.Local", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotDisposedResourceIsReturned", + "fullDescription": { + "text": "Return value must be disposed but the method or function is not annotated with [MustDisposeResource]" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=NotDisposedResourceIsReturned" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=NotDisposedResourceIsReturned", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotResolvedInText", + "fullDescription": { + "text": "Cannot resolve symbol in text argument" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=NotResolvedInText" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=NotResolvedInText", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ParameterOnlyUsedForPreconditionCheck.Local", + "fullDescription": { + "text": "Parameter is only used for precondition check" + }, + "shortDescription": { + "text": "Parameter is only used for precondition check: Private accessibility" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PossibleInterfaceMemberAmbiguity", + "fullDescription": { + "text": "Possible ambiguity while accessing member by interface" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PossibleInvalidCastException", + "fullDescription": { + "text": "Possible cast expression of incompatible type" + }, + "shortDescription": { + "text": "Possible 'System.InvalidCastException'" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PossibleMultipleEnumeration", + "fullDescription": { + "text": "Possible multiple enumeration of IEnumerable or IAsyncEnumerable" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=PossibleMultipleEnumeration" + }, + "shortDescription": { + "text": "Possible multiple enumeration" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=PossibleMultipleEnumeration", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PossibleNullReferenceException", + "fullDescription": { + "text": "Dereferencing an expression that can have 'null' value. This warning is detected either when there is a comparison with 'null' earlier in the code or when this value is returned by a member marked with 'Value can be null' attribute." + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=PossibleNullReferenceException" + }, + "shortDescription": { + "text": "Possible 'System.NullReferenceException'" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=PossibleNullReferenceException", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PrivateFieldCanBeConvertedToLocalVariable", + "fullDescription": { + "text": "Private field is always assigned before being used and can be converted into a local variable" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=PrivateFieldCanBeConvertedToLocalVariable" + }, + "shortDescription": { + "text": "Private field can be converted into local variable" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=PrivateFieldCanBeConvertedToLocalVariable", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PropertyCanBeMadeInitOnly.Global", + "fullDescription": { + "text": "Property setter can be replaced with 'init' accessor to enforce property immutability" + }, + "shortDescription": { + "text": "Property can be made init-only: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantAssignment", + "fullDescription": { + "text": "Value assigned to a local variable or parameter is not used in any execution path" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantAssignment" + }, + "shortDescription": { + "text": "Assignment is not used" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantAssignment", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantBaseConstructorCall", + "fullDescription": { + "text": "Explicit call to the base class constructor with no arguments. It is generated by the compiler by default and can be omitted." + }, + "shortDescription": { + "text": "Redundant base constructor call" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantCast", + "fullDescription": { + "text": "Type cast can be safely removed" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantCast" + }, + "shortDescription": { + "text": "Redundant cast" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantCast", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantDelegateCreation", + "fullDescription": { + "text": "Explicit delegate creation expression is redundant" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantDelegateCreation" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantDelegateCreation", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantExplicitArrayCreation", + "fullDescription": { + "text": "When array type can be inferred from the initializer, you can use an implicitly-typed array" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantExplicitArrayCreation" + }, + "shortDescription": { + "text": "Redundant explicit type in array creation" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantExplicitArrayCreation", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantExplicitArraySize", + "fullDescription": { + "text": "When array initializer has the same number of elements as specified in size expression, explicit size specification is redundant" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantExplicitArraySize" + }, + "shortDescription": { + "text": "Redundant explicit size specification in array creation" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantExplicitArraySize", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantJumpStatement", + "fullDescription": { + "text": "Redundant control flow jump statement" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantJumpStatement" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantJumpStatement", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantTypeDeclarationBody", + "fullDescription": { + "text": "Empty type declaration body can be replaced with semicolon" + }, + "shortDescription": { + "text": "Redundant type declaration body" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantUsingDirective", + "fullDescription": { + "text": "Using directive is not required by the code and can be safely removed" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantUsingDirective" + }, + "shortDescription": { + "text": "Redundant using directive" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantUsingDirective", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "ASPX.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantVerbatimStringPrefix", + "fullDescription": { + "text": "String can be converted into a regular string without any changes" + }, + "shortDescription": { + "text": "Redundant verbatim string prefix" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceConditionalExpressionWithNullCoalescing", + "fullDescription": { + "text": "Conditonal expression with a null check ('expr is {} x') or a type pattern ('expr is T x') can be rewritten as a null-coalescing ('??') expression" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=ReplaceConditionalExpressionWithNullCoalescing" + }, + "shortDescription": { + "text": "Conditional expression can be rewritten as null-coalescing" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=ReplaceConditionalExpressionWithNullCoalescing", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithPrimaryConstructorParameter", + "fullDescription": { + "text": "Replace explicit field declaration with a corresponding primary constructor parameter" + }, + "shortDescription": { + "text": "Replace with primary constructor parameter" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SpecifyACultureInStringConversionExplicitly", + "fullDescription": { + "text": "Specify a culture in string conversion explicitly" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=SpecifyACultureInStringConversionExplicitly" + }, + "shortDescription": { + "text": "Specify string culture explicitly" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=SpecifyACultureInStringConversionExplicitly", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuggestVarOrType_BuiltInTypes", + "fullDescription": { + "text": "Convert if declaration is of a built-in type (e.g. string)" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=SuggestVarOrType_BuiltInTypes" + }, + "shortDescription": { + "text": "Use preferred 'var' style: For built-in types" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=SuggestVarOrType_BuiltInTypes", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuggestVarOrType_Elsewhere", + "fullDescription": { + "text": "Convert if declaration is not of a built-in or simple type and is not evident from the usage" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=SuggestVarOrType_Elsewhere" + }, + "shortDescription": { + "text": "Use preferred 'var' style: Elsewhere" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=SuggestVarOrType_Elsewhere", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuggestVarOrType_SimpleTypes", + "fullDescription": { + "text": "Convert if simple type (not an array and does not have generic parameters)" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=SuggestVarOrType_SimpleTypes" + }, + "shortDescription": { + "text": "Use preferred 'var' style: When type is simple" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=SuggestVarOrType_SimpleTypes", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TooWideLocalVariableScope", + "fullDescription": { + "text": "Local variable is declared in a wider scope than the scope of its actual use" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=TooWideLocalVariableScope" + }, + "shortDescription": { + "text": "Local variable has too wide declaration scope" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=TooWideLocalVariableScope", + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeParameterCanBeVariant", + "fullDescription": { + "text": "Type parameter could be declared as covariant or contravariant" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedAutoPropertyAccessor.Global", + "fullDescription": { + "text": "Accessor in auto-property is never used" + }, + "shortDescription": { + "text": "Auto-property accessor is never used: Non-private accessibility" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedAutoPropertyAccessor.Local", + "fullDescription": { + "text": "Accessor in auto-property is never used" + }, + "shortDescription": { + "text": "Auto-property accessor is never used: Private accessibility" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedMemberInSuper.Global", + "fullDescription": { + "text": "Type member is never used with base type or interface, it is always accessed via more specific type" + }, + "shortDescription": { + "text": "Type member is never accessed via base type: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedMethodReturnValue.Global", + "fullDescription": { + "text": "Method return value is never used" + }, + "shortDescription": { + "text": "Method return value is never used: Non-private accessibility" + }, + "defaultConfiguration": { + "level": "note" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedParameter.Local", + "fullDescription": { + "text": "Parameter is never used" + }, + "shortDescription": { + "text": "Unused parameter: Private accessibility" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedType.Local", + "fullDescription": { + "text": "Type is never used" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=UnusedType.Local" + }, + "shortDescription": { + "text": "Type is never used: Private accessibility" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=UnusedType.Local", + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedVariable", + "fullDescription": { + "text": "Local variable is never used" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=UnusedVariable" + }, + "shortDescription": { + "text": "Unused local variable" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=UnusedVariable", + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseCollectionExpression", + "fullDescription": { + "text": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=UseCollectionExpression" + }, + "shortDescription": { + "text": "Use collection expression syntax" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=UseCollectionExpression", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseNameofExpression", + "fullDescription": { + "text": "Replace string literal with statically typed 'nameof' expression" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=UseNameofExpression" + }, + "shortDescription": { + "text": "Use 'nameof' expression to reference name" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=UseNameofExpression", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseObjectOrCollectionInitializer", + "fullDescription": { + "text": "Suggest to replace object sequential assignments to newly created object fields by object initializer" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=UseObjectOrCollectionInitializer" + }, + "shortDescription": { + "text": "Use object or collection initializer when possible" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=UseObjectOrCollectionInitializer", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseStringInterpolation", + "fullDescription": { + "text": "Replace string construction by 'String.Format()' method invocation with string interpolation expression" + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=UseStringInterpolation" + }, + "shortDescription": { + "text": "Use string interpolation expression" + }, + "defaultConfiguration": { + "level": "note" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=UseStringInterpolation", + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.LanguageUsage", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VirtualMemberCallInConstructor", + "fullDescription": { + "text": "When a virtual method is called, the actual type that executes the method\r\n is not selected until run time. When a constructor calls a virtual method,\r\n it is possible that the constructor for the instance that invokes the method\r\n has not executed. See http://msdn2.microsoft.com/en-us/library/ms182331.aspx." + }, + "help": { + "text": "https://www.jetbrains.com/resharperplatform/help?Keyword=VirtualMemberCallInConstructor" + }, + "shortDescription": { + "text": "Virtual member call in constructor" + }, + "helpUri": "https://www.jetbrains.com/resharperplatform/help?Keyword=VirtualMemberCallInConstructor", + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": ".CSharpErrors" + } + ], + "taxa": [ + { + "id": ".CSharpErrors", + "name": "C# Compiler Errors", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ASPX", + "name": "Aspx" + }, + { + "id": "ASPX.CodeRedundancy", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "ASPX", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP", + "name": "C#" + }, + { + "id": "CSHARP.BestPractice", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.CodeRedundancy", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.CodeSmell", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.CodeStyleIssues", + "name": "Syntax Style", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.ConstraintViolation", + "name": "Constraints Violations", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.DeclarationRedundancy", + "name": "Redundancies in Symbol Declarations", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSHARP.LanguageUsage", + "name": "Language Usage Opportunities", + "relationships": [ + { + "target": { + "id": "CSHARP", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBASIC", + "name": "VB.NET" + }, + { + "id": "VBASIC.BestPractice", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "VBASIC", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBASIC.CodeRedundancy", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "VBASIC", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBASIC.CodeSmell", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "VBASIC", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBASIC.ConstraintViolation", + "name": "Constraints Violations", + "relationships": [ + { + "target": { + "id": "VBASIC", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBASIC.DeclarationRedundancy", + "name": "Redundancies in Symbol Declarations", + "relationships": [ + { + "target": { + "id": "VBASIC", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBASIC.LanguageUsage", + "name": "Language Usage Opportunities", + "relationships": [ + { + "target": { + "id": "VBASIC", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XAML", + "name": "XAML" + }, + { + "id": "XAML.CodeSmell", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "XAML", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XAML.ConstraintViolation", + "name": "Constraints Violations", + "relationships": [ + { + "target": { + "id": "XAML", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XAML.DeclarationRedundancy", + "name": "Redundancies in Symbol Declarations", + "relationships": [ + { + "target": { + "id": "XAML", + "toolComponent": { + "name": "InspectCode" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ] + } + }, + "invocations": [ + { + "executionSuccessful": true + } + ], + "versionControlProvenance": [ + { + "repositoryUri": "https://github.com/pascalberger/Cake.Issues", + "revisionId": "51a193aac63e79268d09d84d1f3a0bf28dda507f", + "branch": "feature/update-inspectcode" + } + ], + "originalUriBaseIds": { + "solutionDir": { + "uri": "file:///C:/git/github/cake-contrib/Cake.Issues/src/", + "description": { + "text": "Solution Directory" + } + } + }, + "artifacts": [ + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "746F06873B5C086E0681DF50BBEE58BF", + "sha-1": "936A01340DA02A9481818D06854C7DAEDD14FECD", + "sha-256": "FE334BA116F4437E9210AE200F6147D5E88C090C6BAC805F8DB5FC6CA137E7B9" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic.Tests/Templates/TestTemplate.cshtml", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "972A95976DA06CDE5CC03A398622C19B", + "sha-1": "2E50DC84722A2B590C5DCA265906D9F1A3CC20E8", + "sha-256": "CD732C4354E2D2F68DD589EF15F10F8022D08C4C7FD7AB0AD8FE021052FF4B54" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5A3C21B59C5E7B9D5C6F353613BD34BE", + "sha-1": "BA8145CBB7F062890D3E911BDD5E9A7698DDA211", + "sha-256": "4AEAC7091B377C8755A657AE838241AA742D24484EFF4AA889B49C521DDC62F1" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/Templates/Diagnostic.cshtml", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "14444CF84035031C8C6BE86ED88C5426", + "sha-1": "1577805B7B9CD4397C31F950D77CDD915D5758CA", + "sha-256": "8EC224B2E2874AF1D78182D20F4B3D9823E4247883D09FF370FD5B5E067DF6A0" + } + }, + { + "location": { + "uri": "Cake.Issues.DocFx.Tests/DocFxSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "1609D5118ED369476435ADDA5B7C4BE8", + "sha-1": "DD52CC366B55B5C7BF5F598A98AB450D26EA644C", + "sha-256": "67DAB33FF5B521020734040FAF0097C14380FB0261A053E0E99224D48EECE417" + } + }, + { + "location": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "9CADDFFE18490D484792401645205D24", + "sha-1": "D34A768A5A77A00A0580CF592392282700858C98", + "sha-256": "73FF47FF0C3169E5F6E685D832178B0A433DF7E62E22E6640BAA8A2D6971166D" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "7C704D0E6D295D1813944E4915A36ABF", + "sha-1": "4C7110494C6A950638817687993B7E3EF27DFD1A", + "sha-256": "AACFACFC5DCAB264C61321E550D70876797C76421BC0A0D270CC5B2084DB1725" + } + }, + { + "location": { + "uri": "Cake.Issues.MsBuild.Tests/MsBuildIssuesSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "59A4F35885AD2E05A0FEE759DBB8F9BD", + "sha-1": "2FF641EDC835FD62F1F139FCE315ADE431788FF3", + "sha-256": "E5F32E544A14C48EF826DAAAA71B98DF57C32206C8F9916EFDB70CE763848A8A" + } + }, + { + "location": { + "uri": "Cake.Issues.Terraform.Tests/TerraformSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "ADE1DC7E1A29A9B05350767F859EE7DC", + "sha-1": "7A0D4C40701ACD54D306EEE9DDDC9879E85A060D", + "sha-256": "5A00F73736BB89EDF2273301D55462214124FC6EB299D264E33606796A94CF10" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonData.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "762B6523CEE97CD242AF3F18FF614FD1", + "sha-1": "746E5009B5C00D9BF4F95B4F76CC0F2EE69122BD", + "sha-256": "A0B7E2E74512A0A7AC3CD190B466B525B47169DF5683C5A60F5CE7F4D4185BFC" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMapper.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "634D18799D63F575271870DA802DB9C7", + "sha-1": "340729C54563E66BCC804229D27B1F791E0881F0", + "sha-256": "A865E72F35D0076C0F455CF25B035F898319F437E5C55E9DE9869DC34030272E" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonMockWrapper.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "58BEF6FD4CDFC2A828B3FCBB4EAA48EF", + "sha-1": "6AA68FE9BE3A6B9569A4E0C477DB763EFABD053F", + "sha-256": "53673E4CF4A1AF872180F0B0F67CCB0FC5CB132A9B8407BEC295BA6983AB0CBC" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonReader.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "2E7BDF1F71E49A3A908FC8FC70652103", + "sha-1": "751105A80132C518E35ACDB1452A71ECA41C8457", + "sha-256": "DF9F3E5EC6F22C8CFE945106F1BF2EFE9164AEC8152D4B227099AA9E36502292" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonWriter.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5B0BDAF0685EC48FEAC669D1A43A25BB", + "sha-1": "453E041C40EC27A46B8D31E109CCAD45A736DA04", + "sha-256": "A39E8EBB495396B49A98E3144F7EEE574252C9851FFF5D050519F15686EDBD24" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/Lexer.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "2A9FC4F41C2E29B45CF0FEF405769BBE", + "sha-1": "0A1B97179B4D0187B1F7EBE97CC88FD1B0940A67", + "sha-256": "C27DDD68772EA018FBBDAF7AA75ECC1019FC13FE63A7D2D6E88422C0555E9072" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Sarif/SarifIssueReportGenerator.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "70D326CB0330EFA28CE6D408549EBED6", + "sha-1": "744F11CD73C516E2A95B80EB52243D46F298BD2C", + "sha-256": "AA8C2AC2A1720288FED2A7BAD031EEAE4CC5E77BFD22C6FA6859074F95DF148A" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Console/IssueDiagnostic.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "888A3CF710FD19CBD940C3AF14BFEF28", + "sha-1": "FB6BEED7107AE65A6251E606C115BD5DB361CF30", + "sha-256": "84C404F18175DA2446D5C745461DAAB3F402BDA8E9210D5932B6A9ED54CDCCDA" + } + }, + { + "location": { + "uri": "Cake.Issues.MsBuild/LogFileFormat/BinaryLogFileFormat.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "DA2A1AB86199EBFFF678533ECAB935E9", + "sha-1": "51C96E374AAE4FE74F19F5CF3A41695835E0052C", + "sha-256": "B8273DE0B94F5B77FEB9D164C1C47CE98829E751E8005BF3ACF6A9F23E91BD8A" + } + }, + { + "location": { + "uri": "Cake.Issues.MsBuild/LogFileFormat/XmlFileLoggerLogFileFormat.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "0BA97437F18046611DAAC3D58083AA51", + "sha-1": "C671424AC5BB3695040926FF5963EA081982FE1F", + "sha-256": "66A27165DA43F74329ECC4008D1B77EFA55B2E87BA7ADAEC8F164E4D544DE881" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportFixture.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "C6EA4B14A0847178DF3580F1145881AA", + "sha-1": "57650CBBB08F73F200EAEB21AC62A23902B9414A", + "sha-256": "F776E6C452B0B7DE6E7B380A31DE28C49BCCA434FFDEC9996D4CBCE493A4D2EA" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/CakeContextFixture.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "006FEFC6234A485D9112656995F7D579", + "sha-1": "647A19CBB600CCEA58ADC717FB823770E9FE125A", + "sha-256": "565BFDA811D156C45AB2E30F37C19F213C03142A3393FB98CF285CEDBF8E48DF" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.GitHubActions/GitHubActionsBuildSettings.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "93B8E8DDB2B2B31A8D4E8E83BCFC7F23", + "sha-1": "719B1419A64F1412E6777DDD03EBAA0B3A393D6D", + "sha-256": "C8B881E3F5476D9F9725817D172148EB90A6EEA778B500FA604337AA7BAB0BE1" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/HtmlDxDataGridColumnDescription.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5AB274AFE07A4BC4F688C007453EEE00", + "sha-1": "8328281465FD8FDD478FDCDCA84394A30241CBA4", + "sha-256": "1EBB278EDF6BC6C52A0C0840B78EECFA18461BC98E0DA92AA031C4B8D62888FC" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/IdeIntegrationSettings.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "DCD319E6EE69D4DF82E4169D1E2FE577", + "sha-1": "7B71AF65B747E76777C9E8437685363B1DDA04F1", + "sha-256": "5C1F3A33BCD5E05124E6A731855D405A1744186B1F85C27A49389E71D52B0AA7" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Sarif.Tests/SarifIssueReportFixture.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "E766F8460F109AD4764C1FB0FD4B2931", + "sha-1": "C73BB3928F511283D39269B0E656F20CAADA678E", + "sha-256": "41C6294258C47C1515CA47AF50D22FA418ABF99EB0E9E6918094530B84338B0B" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Tests/IssueReportFormatFixture.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "ABEFB4960F43272B95C33AFF234EB4FC", + "sha-1": "E542905BD19601EC65752E7E8AB2298949921376", + "sha-256": "C9784F1F0A9A6424E80191B93BCB0B8901383EACF3B3178CB0CEE5169A4F8B1C" + } + }, + { + "location": { + "uri": "Cake.Issues.Testing/BaseConfigurableIssueProviderFixture.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "FAA926232CD91402707F7ED392FFF5A6", + "sha-1": "DFFF0AB0F8AA753ADC017525E9BD581A71C2C865", + "sha-256": "15E3C11DEF6FA930D908E70CA0F508F6598EA18F0D084ECCE68207BF3022B03C" + } + }, + { + "location": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesProvider.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "4600B6EE66D952200A1ADFA8B920D4C5", + "sha-1": "975891BAA9FB91A93F45BF7FBD9B90B0C5B16452", + "sha-256": "4A6D0A9A2A405497B0F05E37500E82CD4DBFABC285ECB6FBD0A4F0FFA8767D87" + } + }, + { + "location": { + "uri": "Cake.Issues/IssueBuilder.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "739A823C693DD6C76798BFF6A90144FB", + "sha-1": "6D85FC0327D2607BDD21807042CAE8E63888EE51", + "sha-256": "96DF373873B93761B90AA6030349F2CE02B7E49E12B32A595DC3CC490E4EAD65" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/IJsonWrapper.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "83EF36AB44AF799D8F878DDC6358653E", + "sha-1": "C4DFE6228AB009CABB2A4EFCE1A1578D0B36B2C0", + "sha-256": "44B93962FB775A47C05436C6D78FBA9F3ADB37A283917FBCC101170886E76127" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/JsonException.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "CA9801AB2987215435E69BAE8E637371", + "sha-1": "6FD2CEBC64D2F8C67D35314B54ACBD7F1B747AB4", + "sha-256": "102E5B0E05EE321416F448B2DBDD7FE105EEDD81BF74A2960F526ED8A8F408B2" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic/LitJson/ParserToken.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "568B3196A6CD9648052739BAB1FE3A3C", + "sha-1": "C813437F8FDA93BB3978F1864CCEC36131DFD445", + "sha-256": "C9FD9E5AFFAC6CBD4C229B02F00F108487CF5FDC62AF9E3C9E3B181563FDE817" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/AppVeyorBuildSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "46EEEEEAB5351E4034DC1AAEFD232A60", + "sha-1": "C288AD6EA72EA5334CDD2F4E10857E3626905877", + "sha-256": "02DDB5B15D1979EA329507DC8A6703BD8C3E2E68720F2CC5A6582FB976BAC7B2" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.AppVeyor.Tests/AppVeyorPullRequestSystemTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "63E8C8E53D802F9A27D0D5DCCFB4B26F", + "sha-1": "69F0D35AA316A506011DE2036508586FFE98C02E", + "sha-256": "4902164449BCFF9EB70FB14BD7E443FC2884605CD44E1228A1AB43ED727CA1E0" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/FileLinking/AzureDevOpsFileLinkSettingsBuilderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "9F9F6CD8113E98FC7E73CA49D68D655B", + "sha-1": "9F8FBE3C832CED0FEBBAB3F892FA54FC48952C29", + "sha-256": "ACCD5D70959C5D9837E5BA3660051012B98BBEC4770494537013AD94E57FE94C" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/BaseCheckingCommitIdCapabilityTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "070AD7606EFF7133AFDFB8C5384FFDDB", + "sha-1": "959CE768811F9E2D82FC1D75F6DB008AA6BA84CA", + "sha-256": "C9ED7020CBFE3111A7CFAEB168E07CA0A3AEC9F65BFBE3D0E069432FFD6218AC" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Testing/BaseConfigurableIssueProviderFixtureTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "0DB19F946D65368FB5702139690A2330", + "sha-1": "E297986EDED6AECB1C60F7AD2CD7DB4B97B33CCE", + "sha-256": "7C9804C9C7759B8D3F1FBC670C36161A164E8D622F9D940F729CCCE197048188" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/BaseConfigurableIssueProviderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "977545D4DC465EF4B89B5D44AC646ECE", + "sha-1": "124DAFFC18DFC017AA2BA9AC2CEE780C2D44E047", + "sha-256": "766C1960ACBB28B20339E5AAB9268B1674B77111BC27129ED00586549166144E" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/BaseDiscussionThreadsCapabilityTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "E760F5166B03CEEDEB856AB1A2AC3075", + "sha-1": "5F474E7070AF0EF4DE59AAC2F0270D11412CD439", + "sha-256": "91A611A4EB1428480E302D3DBC16ED5F77AFF19C34980108B9E52BA9CE3CF9E0" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/BaseFilteringByModifiedFilesCapabilityTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "7252D1ED9200565BDC2245B9641BA598", + "sha-1": "A32638AD3DE4E64B35021FE0FBA3A9E3A5FEF81B", + "sha-256": "32E24F1620386A6CD6019E2A7B4DB538CF2DE8F18C6311B5E69EE927C1706EE5" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/BaseIssueComponentTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "3AB3D8459F185BDC653B3B46CA3B92EE", + "sha-1": "34923ECF2915FB2DB54653323C8F77EDF9B2C757", + "sha-256": "766F99F3EBCB6B263484E660BAC440589F505D0DE7BBAEC3DBA3FABCF5BCAF6C" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Testing/BaseIssueProviderFixtureTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5857AFEC43A5FDC6FD79CF9E659FCB03", + "sha-1": "257259558759ED3F97380582DAC1D1ECD9818F95", + "sha-256": "33A7E37B5F33302D4BD4BE000E5A74DE0836F606409B6E965A6DEF74F1208632" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/BaseIssueProviderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "07D429DB88522AECE137118D3791EF12", + "sha-1": "A90B28E2BD6414D286E94452C7FE6F5B3BE300B9", + "sha-256": "A6595F6B484FBF991C53C2683F33267686458802E04C3568B007D4E0DCAC32D3" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/BaseLogFileFormatTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "70D143D7E732F3F5015FB4315D8C4945", + "sha-1": "9B8A61282AA8F73882195A50D1690CE4636EF4A4", + "sha-256": "F87CA1AAF400FA31AFE96B6209257C5AC2FFF3C4E7AE03F3B4F110D68FD375DF" + } + }, + { + "location": { + "uri": "Cake.Issues.MsBuild.Tests/BaseMsBuildLogFileFormatTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "4DFCC3BCAB6E03600AD62DB2B5492544", + "sha-1": "1BD5CA153C98A56AD124D786654C8184AAEFC30A", + "sha-256": "193A4A800305150D727305B0804B0FE0ED984A3CA0456DAED1942408CD59690A" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Testing/BaseMultiFormatIssueProviderFixtureTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "1CD6C76CBC6916BF5DE61648E28B52BF", + "sha-1": "8F8F62E59A9134B9EA3BD833FECE7F0C49D7669F", + "sha-256": "E7D173C19F9884E4C33ED8A048C8A50BD0DB6BA70BED0172F29BF0A32CE167B5" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/BaseMultiFormatIssueProviderSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "69EC85A05E35776733F270F51BCD92D6", + "sha-1": "0832038411BEBE5DDF176352301971DBFC5C0281", + "sha-256": "02D759D3849C2EC8E1032D0B34203A0968B0221FAC91AF5871D2B3FB7E97CBE3" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/BaseMultiFormatIssueProviderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "C6E8330CA8F37D9DE27594E72B3B93FA", + "sha-1": "E4367CFAA7AD1489F48ED320977BA3E90EF9ECF5", + "sha-256": "89972DD98CECB46759D410C8BA9BD0277652A46096DB64A6797566DBEB9E83BE" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/BasePullRequestSystemCapabilityTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "8AD2D8EF4B348A62DEE4CBCF4FEB84FD", + "sha-1": "79E117657D84B5A53FBE44D47B37C04E8B66DA33", + "sha-256": "357D6C6C7B67589FAE40C5927D2123955C6CC608FF8FCB2CCB4B1176D6EF129B" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/BasePullRequestSystemTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "4B78D6F0E65186F2EA3E914AE63AE628", + "sha-1": "2D0EE9C015B2ED1069B9436AC455F3AEDE75F8AF", + "sha-256": "F4CE1F67E2C439ACC42D5DB9BA470746AE8EDCEE21509EEF25AA67D825F30E90" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/BaseRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "E19B39EA3AF41B3198EFDA3FDEFA2A62", + "sha-1": "36139D201AE5B40CFEC86C124D27AA5E01FFB7FB", + "sha-256": "26DFEE1772D4C91FE4AD22205CF3BF27CCC0E9D875F81E3BD56CD1889EA2DFDC" + } + }, + { + "location": { + "uri": "Cake.Issues.MsBuild.Tests/LogFileFormat/BinaryLogFileFormatTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "1DBD40427C1397E9C04D69FBE25993FB", + "sha-1": "19ADBBC6CC08E604F1052013D27385CB82AF8182", + "sha-256": "1A82B3FD47C3865642E87A48CDD1E8C081687C5D4E710DA28EBEE29CE398ACD3" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/ByteArrayExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "287D92F42162DA55689652773608EE48", + "sha-1": "A4D8AEFACC229CA3E053D929B11935D89C94E820", + "sha-256": "55DC908EDFA33DD2A1C6F64F9A758AC276930CDEF6F8B9AB192F3621E122536D" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Console.Tests/ConsoleIssueReportGeneratorTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "CF3D236B3ECCD26B5349FB2F07E928DB", + "sha-1": "42949104592488C513691B70EA7597EF4FB0ADE0", + "sha-256": "FBE3CE8D1B519686CA243C27A91395F0502EDBA2F7C363A9FADD7ECE0143B4EB" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Tests/CreateIssueReportFromIssueProviderSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "B92E8A6098F3AADBD75A6ED282846CC9", + "sha-1": "EDE56D46B7D18789BAE3F9EF4DF0E72012F2E001", + "sha-256": "5E8A81704EF1595F6D265D6AD3E88EC95DFB3A5FCED9E501B2E611418D46AB04" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Tests/CreateIssueReportSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "0D9A10CE9696F2F4152AFFC8D1E9D2C0", + "sha-1": "D31BCFC51282F25DD56356F21F99D267607766C4", + "sha-256": "4139B8DA2D6E614BAF8FFFFBC5849C578D4B2EB6A9CFB568356D8EA0B885F005" + } + }, + { + "location": { + "uri": "Cake.Issues.DocFx.Tests/DocFxProviderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "FE20DD316F94754AC8144B1B670E14C8", + "sha-1": "97AC25D4E3FE41CB0279979B01C43358E058B52D", + "sha-256": "4D0E011C057E7018F7427AE7F0B766EF50F484FEE54F426A3413A0B7289850AE" + } + }, + { + "location": { + "uri": "Cake.Issues.EsLint.Tests/EsLintIssuesProviderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "21F489B1121DAEE9800CC6AF9E439A2C", + "sha-1": "0D371B7182B135E98832D970069EACB74BE024BD", + "sha-256": "7F219178C240F25780D60ADCA2BBFDBF1F2C2D329E4D9D5976CC52C750135B2C" + } + }, + { + "location": { + "uri": "Cake.Issues.EsLint.Tests/EsLintRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5CC3B295F780C54FD2EF155F51CCE444", + "sha-1": "47AD13D2F359586E915BC2EE4A85F971380D8375", + "sha-256": "DE3DD37651B1F5C78403FBF263AF45BABEBE129D77F7089B3DF9BCC16302F4EB" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Testing/ExceptionAssertExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "D3601A4BEA9CBF16173DA950C116F1BA", + "sha-1": "158105EE440020A767E15A862809B34698121674", + "sha-256": "CDB9F7E478C959A0A88CA4CA0F5F6B67AC10CD31C38F02D4887D716F9C72DC82" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/FileLinking/FileLinkOptionalSettingsBuilderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "D8CFE29987172BDF8FC8EA216D2F2880", + "sha-1": "9880E504E356B99E65A562F8D4F2C5EE9C2C1424", + "sha-256": "6D3DB92CC90053817B89743BEFD50AB13AF5114B8D32C567DC57A8FE3927C748" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/FileLinkSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "015B961928F7DCA708B35FC63677CD18", + "sha-1": "03B6BC721E6D153309EB941B0CD8437D556B7664", + "sha-256": "B4244AFEEC955FEB5E90B6F561063FC7757F0691A6930BA8E99F0195CC8C0BDD" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.GitHubActions.Tests/GitHubActionsPullRequestSystemTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "8911DFE3256FBA85A5221918F88B4960", + "sha-1": "D3DBD3420201E589993C455DA14CB33F551F8FA8", + "sha-256": "DC5E1D2A2E17C14D4648DF699D85223C8C8AC6F642F8E3E151FFF9CA55525BE4" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/FileLinking/GitHubFileLinkSettingsBuilderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "C7F41F499F23EF0D5F05CA52E225DFA8", + "sha-1": "A1A9658ABB12F3FCBC75F34024DD21AB2EF5381B", + "sha-256": "1AC16624607D902C9ABAF9253A5230FB58313C6A5C8F24B50268C46379B839D1" + } + }, + { + "location": { + "uri": "Cake.Issues.GitRepository/GitRepositoryIssuesSettings.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "3CA41101AA97395F8ABD8FE6426AB371", + "sha-1": "52CC89D770BA484989A8943BC361A2AA0B096F76", + "sha-256": "0C278CFE653C50741C07ACE406AED047029F3E149518C7F7E9CB443C5FC0C773" + } + }, + { + "location": { + "uri": "Cake.Issues.GitRepository.Tests/GitRunnerTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "827EA476101C5E31A2C27862C2A8E4B9", + "sha-1": "9CFEFC0AF5710C900225E0F94C9CCF36FC260F31", + "sha-256": "D8CB8997D0BD4026E97E84ACA9D57370250CF10050A0995119ED7B81535D6DF0" + } + }, + { + "location": { + "uri": "Cake.Issues.GitRepository.Tests/IssueBuilderExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "DB3F16DC25CB3A810B66022041E7565E", + "sha-1": "79E30F53034BEA4061A3DF67E058A8019F2C9763", + "sha-256": "310228868D955670E366F579B8031279BFF8A4D718B2F43DFE84FF32D79C7DFC" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/IssueBuilderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "7099EBC86747A016C236DD3FB31A7863", + "sha-1": "49899E6CE4586638B12B9407CA28DB8653393DD3", + "sha-256": "66BACD43D0DA906BEAFB97EDB308780B72501AB2FA176CD3A687CC925F392E32" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Testing/IssueCheckerTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "807B11C39D73791454B95068727BF967", + "sha-1": "7E8B56A79789971EE83628518691D2B5952D1ABC", + "sha-256": "6E2EDF83DAA4111D1180257DCA92BE0D4912212C5E6D1D85DC439B5C36F9A7B5" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/IssueCommentInfoTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "2A00A87DD8611AC1252234444E491031", + "sha-1": "AFDC31B32D65DE3331B9D132575E8927C6E78279", + "sha-256": "42C1442E294113B4F6A42125D464A064A66038BAF2BA6997EE7D5CB77DC8A1AD" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Serialization/IssueDeserializationExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "39224448FE60BBDA41FE8F77AA878258", + "sha-1": "AA8234B3E5C567B6B7C44BF986E51DE394A4C4A0", + "sha-256": "2A0D48E200FE0ADB15C4AAFC4D398C1444BAE6F55B9F4601EA130C5320475D4B" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/IssueFiltererTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "D9CDFE16A40901E786C46AB7753EAC20", + "sha-1": "9FAF334330C2D83BC20914720C5F48BA9088C886", + "sha-256": "A23553BCAD890B1BE28B360F728E8A1C99160C2545D3B3EDF55467854EEF9814" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/IssueProviderSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "F6B2763AF454255C992176B6DC15F3E4", + "sha-1": "8893D6C959FA188A4F21CBAEAE7AE61A833A49D3", + "sha-256": "8ACDC1A3B5F39F33CB3F9C2CB9962C669CA6DFE0D4EA3023172B12C8C47DA798" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/IssueReaderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "F4A88E15FE3BBD108467DDD9D897E2CA", + "sha-1": "848A4B2B728F81701D4AA05686A1D75886386A80", + "sha-256": "EFCCE57890578466D69AFC369294D9E0F48DF9CE8B3A802FEFC3A92E14D5AD5F" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Tests/IssueReportCreatorTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5CAFF75DDAE6871DBCD85D9C628B11B3", + "sha-1": "5ECFB8CCD281012997865E8AF67D810DA5C922AD", + "sha-256": "F8C9899F7C4277746EBBB804DAC8590165C07F9C69D6EF9474EA7CB692C44022" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Tests/IssueReportFormatTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "35EE61410E4A0800C96F165CC09D10D2", + "sha-1": "2A96D04E7C5BBC018FCECD50400B7D899EC01DDC", + "sha-256": "6454EC72E90188E96970C5CFE29AC3FF1070FBD185D4A76F6F627BBA2B78F2E4" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/IssuesArgumentChecksTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "939D2A0BAA862C1AB4BDDED511E75D65", + "sha-1": "883DBAA294C05DFD676D2A6362262398BA169FA8", + "sha-256": "DD57F90C8BFBEC62AB2E7993753BCDEDFEA8055E474EA93F1B7C48292F46E257" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Serialization/IssueSerializationExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5D015B9463801C580046E1F53DCF9662", + "sha-1": "DC7BDC52EE6FE0C115F0826A2DC675952DD8F011", + "sha-256": "C6D9E1C71E7CE031A40BF5CF8B7AEA2B4D20874F4B4720C84D270F58C4BDD912" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/IssueTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "54CCD273E0B020F7F94B6B23EAEA9D45", + "sha-1": "099077B84A8DF4EE93CE9905942B08FBE4534868", + "sha-256": "A15AD00D6CBF7BE4EBACD073C4C81ADF0060466F16F5C50CA3E17B6A280C560E" + } + }, + { + "location": { + "uri": "Cake.Issues.EsLint.Tests/LogFileFormat/JsonLogFileFormatTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "364F31B19D89F5B4BED5B3E7BC86BC33", + "sha-1": "E70BEB17B9A42AC2A2FA395FF11CDED59AC12A90", + "sha-256": "B9DAB12A858087B9C862A9056653885026C89A81C8859B4DEFD11CD9FBC5E9D2" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintCliJsonLogFileFormatTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "8E13B510F9503A18A1D6B8BE9697F2C7", + "sha-1": "E8440D0CE5344AF0610822EC2827A15560B3682F", + "sha-256": "EB53273A227B41F360CE31EA87AF4B8180E327BAE129140D6360F87E11B90668" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintCliLogFileFormatTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5EDD2ABB7198247A46CA5ED5A6F5D3AC", + "sha-1": "EDB4DEDE26E91264305D93B22FEC6FFB2CC3ED3A", + "sha-256": "D8576DACCF6FA154E7A9E10B022DB0C9BC35000A190F3FA44DD44055DDC2E098" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "790DEA5592ADBDABEE344D18B58CEEDD", + "sha-1": "E520A9FA1A7FA7704FB91E7A734232B37105904F", + "sha-256": "E75DC5A7044EA7E33F42BFC987FEB30F0993AB335D27F291E95AC193FB8690F8" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint.Tests/MarkdownlintRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "2A1B6DD76E6345651C93CB64FFA3F50E", + "sha-1": "B8A95AFAC30889847734C45A29CC93759C63F45B", + "sha-256": "95F7F5068BF35601266DA6A434263CE16BBDD90CC0093E073B5F645468C4A2FC" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintV1LogFileFormatTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "0F8C1F9B926BB4CA612D77A14993BF11", + "sha-1": "C21A4C49195EB3AC9EC818DB1D995AECB412E4AA", + "sha-256": "0892066AD8A9E03872DF4CD7C6BB144953BE990B0383B5FFA77B8344F3EC0D6E" + } + }, + { + "location": { + "uri": "Cake.Issues.MsBuild.Tests/MsBuildIssuesProviderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "2EFC66D4F822B22D49B7F35E150748C5", + "sha-1": "56D2442A911F91211B4A5D7C72EB76A49E385F24", + "sha-256": "81C956AE4092F1AC30916F822E4B841590BD92C9F1BA9D3F14B0D5035869A698" + } + }, + { + "location": { + "uri": "Cake.Issues.MsBuild.Tests/MsBuildRuleUrlResolverTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "1D85754490EC3A13C78BC7BE0A44511E", + "sha-1": "12ED876D65411AD376987E240876F93CF57E53A7", + "sha-256": "0AC8C75D858C335317C370FD736DE4D4CEC051CA8D8DA34BF26B1DC8512936BF" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "482F86246EFB1E58F1E8C828F95B884F", + "sha-1": "167AA6D0792E2A931C1441596D4DC635515EB8C8", + "sha-256": "D65D04475F0659B43780731189117DCF75E7B0B73F801E550A4BA7C72781C36D" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestDiscussionThreadTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "68BFF14DC1285A96EA6C9E0181B52FAC", + "sha-1": "BD5C7CDB54AA2D7C3F79ABB7BE27F48561B40E11", + "sha-256": "64429D690D4F197BAFA0145FE1B802BA76C51A21FA80629108A3DF78E6D231D8" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/PullRequestIssueResultTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "4F6B29CA67DBC9369627A1EDA1E3A938", + "sha-1": "BBF39D70631D377D016C54CFDDC78CA9C9BE887D", + "sha-256": "E8B0AA0F215350CD00B44CFF8B63F71B378F45A223B83D9F32C2390D55AC4C8F" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/ReadIssuesSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "C524BCD9E4408B0385D26B2245F8393E", + "sha-1": "DE4B2435EDE290207C2FFC8736204160BB6F4572", + "sha-256": "4DDFA2C4D98E60370ACABB3DA9B25A0C703EDF07EFA2031A01E1596FAB0D4F93" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/ReportIssuesToPullRequestSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "2F232BF0903451A38D631B4A8861313E", + "sha-1": "3E9789726F027CB7C21408550FB6858A28D77511", + "sha-256": "656B6ABBC505E3A2B4526F08E9D12E56C55F255A4677E0ADF466923E8B23A3C5" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/RepositorySettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "79C699977280C55CB142117BD2A2C2CF", + "sha-1": "88E5475CB9F131F21EAF50CB52CE7EA6B9D14898", + "sha-256": "F9C210E2DCA77ED5BB895C61AC35815F5F1973C9EBA4728F72E6B539B3CE656F" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Testing/ResourceTempFileTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "869798F5DE5DEA16E90220A18BC4AD4C", + "sha-1": "9992A0F93FBE01A42F9FD5B67B24632CD63D0DAD", + "sha-256": "F4C8F1EB93E71170087C5C3BA2466BC2EBF97A2BB3DA393E62558F4720227883" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Sarif.Tests/SarifIssueReportGeneratorTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "FA6CDB568A654EA220475B33BD5522AE", + "sha-1": "AA417483555F0B3D3C29AB6F2AFB69EA33A9B33A", + "sha-256": "28672538F560FFB7D047C633B27AE35F6D1C69C6228092DCB811B808A254759F" + } + }, + { + "location": { + "uri": "Cake.Issues.Sarif.Tests/SarifIssuesProviderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "1DF2F223E5CB19833C68822D374688CD", + "sha-1": "04783ABB88B1C636D613F0A2B9EC929B19989F28", + "sha-256": "806956B70A23ED9E99AFB739C23C03A783A122422F41E163D29A33D375DB9CB3" + } + }, + { + "location": { + "uri": "Cake.Issues.Sarif.Tests/SarifIssuesSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "075F7A10D77DBDC78A13C5557E8B006B", + "sha-1": "0B3A058EED1863305E35C734CB6190744BD7F020", + "sha-256": "465C413C9180BD7A53A3CA920660737C17C1044508410D835359231CD9A762BD" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Serialization/SerializableIssueExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "B60D4028936133696F6A910F57AA273A", + "sha-1": "4137A3352EF9082803B771E98AAE545AAC509966", + "sha-256": "785E4554F2BB2ED2970F1F3E0558D34231EE99B739EE694014B13EE2F077A395" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Serialization/SerializableIssueV2ExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "EA2BA6AE471FB3297B450382AB94F2D2", + "sha-1": "8FBD1DD35F4BA4256CDAF8CCB785045620D465DE", + "sha-256": "FB87319CD2CD8CC9AE0768F8CA316D58C1DFB1C51FEBB48A4844E69099392937" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Serialization/SerializableIssueV3ExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "DF2F29A5617A75497B91A7C950D7C215", + "sha-1": "2EA4CF84EB3D2CE57EDFD0F82C2142D0B0DB5ED7", + "sha-256": "CC8F53A4C48BA444CB474E421243EE36B67A729E0767BE50E91124D6411858D3" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/Serialization/SerializableIssueV4ExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "A8B3C1DC321E7951C60FB5668DD692D6", + "sha-1": "6CFE45709D3E5CA70808E7BBFB1AE34E489B61E2", + "sha-256": "9185A2F62C825A3D5202748C9934822D966E65A8EFD52D9584193624C33A3A0F" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/StringPathExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "D603689784EE5389C20EED640FF34B50", + "sha-1": "2B729113CE13A8DF9454B03CA503FE056BD7C995", + "sha-256": "006F6DCC13510A02FC94936568D6C240D1673CD2B4724AA377C5C1775531217C" + } + }, + { + "location": { + "uri": "Cake.Issues.Terraform.Tests/TerraformProviderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "00F82345BCB32C79CE3140526C7249F2", + "sha-1": "7ADCE24DA3154CAC728E13B535DEE3A35F7E0247", + "sha-256": "00DBA2B6872E68C1DD86D4C9800C7259B38BB618ED4386B85A2BC5355F73C461" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/UriExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "4F06DA41F12B2354500A731896E6D29B", + "sha-1": "1192B930843A5CDA607A61589514427092993A2A", + "sha-256": "FC718586C4C447C0E2764EB2C6E58B07BAAE6B5E8FF8173BC7F201C3FF85DEBF" + } + }, + { + "location": { + "uri": "Cake.Issues.MsBuild.Tests/LogFileFormat/XmlFileLoggerLogFileFormatTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "1B79972CB45F8AEEE1A3425F72419651", + "sha-1": "73A29B05323C60738E10AB9972FD1D5F52044C26", + "sha-256": "7581A68791B8F460B2F69BC98E83BBF214B08EDEC62540C61C07BD6CABEB10A3" + } + }, + { + "location": { + "uri": "Cake.Issues/IIssueComparer.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "E959AABCDABB8A24720FAD8CA07FFE71", + "sha-1": "A24F11645F075116CD163A3438862D14BD23BE81", + "sha-256": "1B38BF9C90A707B8C1B716B9D497592E683334ACA9389706F7EED394A9D784B9" + } + }, + { + "location": { + "uri": "Cake.Issues.GitRepository.Tests/GitRunnerFixture.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "36297902F6EFE90D0B7D50079E0E3768", + "sha-1": "ACC0C28ED41FA0A7D64367634682D376853F2FA2", + "sha-256": "0B16039DE50BA98D3534DE913581A6D556A74065C958F03438496F128D067FEA" + } + }, + { + "location": { + "uri": "Cake.Issues.Sarif/SarifIssuesProvider.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "CCE8C831150749DF2A2E154B04331421", + "sha-1": "69C388952139276DA84FBA2271DD2D23981C4B39", + "sha-256": "11726A5C9380D03F8A499FB504E01BE8A88057F518834A1129CFE82D5504C5BE" + } + }, + { + "location": { + "uri": "Cake.Issues.EsLint/EsLintDataContracts.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "FE93E7070F7BA2DC36C1B2D96B5E3A91", + "sha-1": "0C278D623C94E80774CF9BD914343922697F3A3C", + "sha-256": "DF838C647FF124CD559527578AE0AEBBAEDA1C3393EE940AACB5C70ED2D86B0B" + } + }, + { + "location": { + "uri": "Cake.Issues.Terraform/ValidateOutputDataContract.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "E82677867040F2420096BED895D951A6", + "sha-1": "FBE6546B3E45DFEEB24F07D653C109878C871B2C", + "sha-256": "25744BF5645398FDC57044D2A3E6F4ED5ED5217EF5754D77D2E7778BC741A6F9" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint/IssueDataContract.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "70F139DB37C8BC90AF71058DBBE64119", + "sha-1": "797F334A000C33CD16E8947602C154A3F7704ADF", + "sha-256": "B82EBE2F67DDBE81FA19FDDE00C597A1257629803C6A1E080A69628A92175AA8" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliJsonLogFileFormat.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "41AD12FA77FD380A15E5ABA2B60E4329", + "sha-1": "4C54B0B785B96B0A3D7AA82029257D528901734E", + "sha-256": "FD3E2A4BC708F772841F7E3070415779944E7584D5490790CF0E4851C945F4BF" + } + }, + { + "location": { + "uri": "Cake.Issues.DocFx/LogEntryDataContract.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "B6DCF9BA76F1F0C2B2CBEE7186B5555B", + "sha-1": "881A20399F0ADABACEC63EA868622B1F79611C5B", + "sha-256": "A56D8E85DCE6EE4191CE1E523A10D8AD66F82FBE51EC02A3161FD91C75A20337" + } + }, + { + "location": { + "uri": "Cake.Issues/FileLinking/IDictionaryExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "BDE2F4CB00FA0C9AC2636B1D3130AB63", + "sha-1": "7E7A0BABBC9B3E608980413B7F3987B33B30629D", + "sha-256": "92CB77ABEA61DAC8DA7120DCA5D1CDFEFDBEB7B7009CEEBF44BB21830F5333E8" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/FileLinking/IDictionaryExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "92D391D7FBD9611105B7553F7068EA4A", + "sha-1": "8CF4C0499CEFF298597C4935B5F9268FB8145098", + "sha-256": "D85FABA4F92A96E93D708CBE87280A1FC68226AFDA578CB5BC4820A2C59521A8" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/IIssueComparerTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "F537AB61E0793A98BCAEA858188A8EB5", + "sha-1": "28CDF489C145D3F80C5F637C12907BF7263855CD", + "sha-256": "B8EFCDBE8960991E57D4F2EC4D02D8E53DF3DBC068560B28C31E93041C8D917E" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.AppVeyor/IIssueExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "F9389F1911865D8EC64C67B9E507C794", + "sha-1": "562021B48BDDE3BCBCB35734BF8E1C4028E27200", + "sha-256": "0C3B1D5ED2B6A32497DDDA84793B047AFA8CDE6A5B90013C05E9E9F5AAED96CB" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests/IIssueExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "DEAB165BD9533E3F5BB76F76F3599B5E", + "sha-1": "512C0C0D99D4AB488BD03097836144BBF8AE524C", + "sha-256": "6BD49F46479575B036A6216B0A25E75E0285AC104F9681C468453C44BE2BB431" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Sarif/IIssueExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "9BA54FF1BA2EF7E6A45253C108EFA4E0", + "sha-1": "7CFB893DE8F36650494CFF825B738E3B4BEC1BCD", + "sha-256": "7E0F954F28A52A05B8BB6AE0C9543F71B876A13C1E61B8E3D263C69F54A89CFC" + } + }, + { + "location": { + "uri": "Cake.Issues/IIssueExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "45D2792EECC5C80224B88F8D8A4A522D", + "sha-1": "F644A15A4661D764F93AA42ADF78858C18D59D99", + "sha-256": "54B67AE914D058B1D2E44E2C0B40A258B089E43BE09D3931D7E66FB588F86DEC" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "6C00CCC52BBEDDA6C8E9FCE8ADFFC2A8", + "sha-1": "739B71F577FB98149E94509E57ED031F6C3E72CA", + "sha-256": "DE70C63A1B2DA9DA7442FA72F81717CA3E1CDBC4813C750AA5B0088FB98DA411" + } + }, + { + "location": { + "uri": "Cake.Issues.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "85831847EB71CD3A6E72DB1BD40B81E3", + "sha-1": "DE39F9AD26A10406502BDBDEDECB6905D2262F5D", + "sha-256": "F528122668BCB61596C5DB68EF17E93CB2B5F947B15CE5D6B93A3ED9BB63D654" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests/ISupportCheckingCommitIdExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "B4FEA35F0806783867D0469B2D0B5BC5", + "sha-1": "982ED57027D1C82E6E203DC4A3D7DCF371378744", + "sha-256": "39D9623184EBEBAA49736A884E638F768B9E74D567B884DA71C523CF64FBCC0B" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/ISupportCheckingCommitIdExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "B88F9E405D69017EB43B9E3C03076D09", + "sha-1": "D3FCD8C17B84CF7B3FCE9B9BD0639E2886339E68", + "sha-256": "BD7E19FE5A65CABAF663AD1F27FEBB098DF7771C46C2D3C3EEB380B96D746EE2" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliLogFileFormat.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "D408205A7262903E6C9ABEFCB66175CD", + "sha-1": "EC42976D01E9E916EF57232B61C45878F82B1716", + "sha-256": "777E37545DCA1E4A79D061A6835D194C8F829DA35789ACB051E32EB5BAFB5196" + } + }, + { + "location": { + "uri": "Cake.Issues.DocFx/DocFxIssuesProvider.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "3837C3B9979F82D3391F1231336CC39D", + "sha-1": "1ABDF530CA4A7046E5E6E3AC5EA6B0ACD1202CDC", + "sha-256": "999B10E7A30B36824C12A0A7CD31B6D2C18B57CE8EEBA76082AD0080624DFD90" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Console/ConsoleIssueReportGenerator.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "4CFFD85F7CA61859196BE1E69839DD4E", + "sha-1": "91E42BC9C7742572C69CFCDF7376D9F2677311FB", + "sha-256": "5D7375F0BD3F4B9C9110197C9A2A7525F64504BED46A332344CBCE8EED1C0A94" + } + }, + { + "location": { + "uri": "Cake.Issues.Terraform/TerraformIssuesProvider.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "B57F12D9F9BA2C78FA37086FD3C9EE1C", + "sha-1": "DABB4DC013D3B48007E0240A21BAC1814E8AE3E6", + "sha-256": "1F456FA49E647C6CE9BA15E95B8EC3AE521D0CB19969EEE76A1B584C38A425F8" + } + }, + { + "location": { + "uri": "Cake.Issues.Testing/BaseIssueProviderFixture.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "459734F4D327330670B8FD12BB7D4DCC", + "sha-1": "F17B61F4C2128AA5206A15AF7081FA5F5EC85EEB", + "sha-256": "52BA90D29EFF805120F0303AB83556374E1CAEC38770D30AF1D022985C882520" + } + }, + { + "location": { + "uri": "Cake.Issues/Serialization/IssueDeserializationExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "4246F2002CE6926076A03F7EB928C010", + "sha-1": "B9223A5302570C8F0D31ABBA50CD6D8EDBD94CAD", + "sha-256": "8A47A1B00C2A7527E97F4C8191AEBC754739DE79D25523ACA5D342DAE8470647" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/IssueFiltererFixture.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "391F97D79A76284F9FBF968618D72560", + "sha-1": "5E0172BBF7CBC296E96B5A917FC2EE2E36DC6C1D", + "sha-256": "26C031C8A988B4610778A5ED79D33A2082CB190430A122F2C77EA29BFCDF1060" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorForIssueProvidersFixture.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "BA7E7004830BFFDC9BF223200CC8319B", + "sha-1": "1DA33B96B4281451B2EDCF18B51936B73EE10103", + "sha-256": "11EBDC1FEE50D04ED92977D9CF77A1776B173912ACA2598D19B1CE586EC60465" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.Tests/OrchestratorForIssuesFixture.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "5BA33AD83F318E618386A8B3369820CF", + "sha-1": "805A25542E3505A6B5D08C7DED145F6A89AF7A24", + "sha-256": "F6CE15CE5B75A9A7E7ADD58B5446D76819389B29EF47A78995DA3E411D65AF82" + } + }, + { + "location": { + "uri": "Cake.Issues/Serialization/SerializableIssue.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "8E98589DA1639F9A942C9774770C8E53", + "sha-1": "4C38B66EF89D129EE17FAB0DD8D356E58229F1E7", + "sha-256": "735EC020ED65B9C03F16B9915ECC905B55A907AD0A1A9692776CCD38494CAE61" + } + }, + { + "location": { + "uri": "Cake.Issues.EsLint/LogFileFormat/JsonLogFileFormat.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "36B901C4AED86C37318E3EF5E684D289", + "sha-1": "9486AEABB8F35F2D95D8C9CC6566D9C49522932B", + "sha-256": "A488555B8419C1B23C56DE3D40ACF605879B30586565F10E6ADEB6AF47C2F4BF" + } + }, + { + "location": { + "uri": "Cake.Issues.EsLint/BaseEsLintLogFileFormat.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "95ACF40AEA6E8D898D0BC1CC29894D71", + "sha-1": "C5C2AF5B4D8B21D9C454561DE1BA05F7D24D7059", + "sha-256": "7A16A82263249BBCB65737364B3178DBFA6D388F6767990873916B3A95C53210" + } + }, + { + "location": { + "uri": "Cake.Issues.EsLint/EsLintIssuesAliases.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "4871EF68E37D2CD576799CF6AF69BFB5", + "sha-1": "15AEB7CA83D4FA7A66103193E6DD335FE3DBC521", + "sha-256": "88BA37FE4C67F5009D93DF49AAB54F4F0914DF26C075E9186310B9685C044715" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint/BaseMarkdownlintLogFileFormat.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "2E3B89139A31E215E356E43837D7EB51", + "sha-1": "7D383916DF5CB415E08675B9C39504B1D2421FBC", + "sha-256": "2457E9C8BA850FA6DEF9BC493D5785D4A4627AA42C72EA1E452E33CD7F2633A1" + } + }, + { + "location": { + "uri": "Cake.Issues.Markdownlint/MarkdownlintIssuesAliases.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "38203DF6C4A5CD5946ADC2CA120BA9B9", + "sha-1": "BB3FC0609A0BF5F698DFAFFE63E6E98E06A888A8", + "sha-256": "FBDF122C51920CAC46B06C1F461C4A4CD5E92BB5EF1CD26BEF0AB41E37D40D83" + } + }, + { + "location": { + "uri": "Cake.Issues.MsBuild/MsBuildIssuesAliases.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "7C92D744BA626C42E8EEE33546478388", + "sha-1": "F7F1AC6356A3085F5B905B5AF0A508B896231369", + "sha-256": "ED993EA907B4B8469F2039D5ED6CECAB8FC2D36CCB71DA1B0CDFF7A806878EE3" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests.GitHubActions.Tests/GitHubActionsBuildSettingsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "747D1E6EFF57BD851C965A71594DF2F6", + "sha-1": "50DA80F39F48707E82582B1F81CE1C8F1915C703", + "sha-256": "3F257B04E6B750BDE58FBE22A9E6D35AC080237D66581C43F035C7251D52B769" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Sarif/SarifIssueReportFormatSettings.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "2A3D0B3C7BF1109EC45AF96C21BD6EE4", + "sha-1": "AB3102CB99EB4738ACE7F9365D55CE1103D22FB0", + "sha-256": "483C1426384E07489C5C3E2D574325A137B2C65EEF1BACEA927801A574922011" + } + }, + { + "location": { + "uri": "Cake.Issues.Testing/AssertionMethodAttribute.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "9C36A53158E69915F3889C9E81EF7454", + "sha-1": "1E9BA0B75BFC529091CC1C7806800BF8E15B603A", + "sha-256": "B3EBC38CB781552A24CE31ECFF587C8272DECB5C2E83942E11BF2CEC8E3BCAB6" + } + }, + { + "location": { + "uri": "Cake.Issues.Testing/FakeRuleDescription.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "8765034520FA573D18E0A90F323E17A7", + "sha-1": "F4921CE2FE21981680D68F021C63337D6400C9CE", + "sha-256": "9B631EDA7A58F17509A0F88FDDBBBEDFE6CE65752858D2BF0A7ADD361B08EFA1" + } + }, + { + "location": { + "uri": "Cake.Issues/Aliases.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "79784252E6E2113588DDE7126D507131", + "sha-1": "971B012CB3B83FE93ACD33E9C17ABCF2D8CF87F6", + "sha-256": "39D65F449D45550907E3C36C0E042767D585E55D919E7ADD4559F47E14ADA1B0" + } + }, + { + "location": { + "uri": "Cake.Issues/ValidatedNotNullAttribute.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "3A669D3F069B596977F0623868004882", + "sha-1": "F5404406D32BD9B21619BB45959D6CEE51AF2F89", + "sha-256": "126ED68FB0A4E18125C448D5991284D67A0AE356C154454E2D9E7D132A31B847" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests/IPullRequestSystemCapability.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "12EF114D9DA5319E4C58FFEDD6672CAB", + "sha-1": "DA4318B11B39F3A6EA4765FD198FFC039EBD5BB3", + "sha-256": "1821A26E2B728728DF85BF121858FDDD7EAD574AAAE2D0C67F3EB51F5E0F1C2F" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests/IReportIssuesToPullRequestFromIssueProviderSettings.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "54CFB5EB6A4FE664F92CE0C293D6A750", + "sha-1": "C4656EAEFC73C86BAD207DC39F5ED088C1B08558", + "sha-256": "2E9B10B1E0861FD8B7531CE777D29E35E594AA43649F644666192263D336F528" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting/ICreateIssueReportFromIssueProviderSettings.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "02795155AE4BC3C040CA972B540EF12B", + "sha-1": "1BF8FCB44AA5507258D6C5F24EA00697A2AD2B9A", + "sha-256": "F26F3F88599960D39933BA0F2D742B0081A1A146D40B59014211D342483C3257" + } + }, + { + "location": { + "uri": "Cake.Issues.EsLint.Tests/Properties/ProjectInfo.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "F66F9F2E08443B98BC57825545C14D83", + "sha-1": "993A8A57479E85C1E58C6755ED9EDCD5A79DE93C", + "sha-256": "A6B1F63A1FC78C2C9D4CE2263438B2B66516844B23375344AC7748FBD07AECF5" + } + }, + { + "location": { + "uri": "Cake.Issues.EsLint/Properties/ProjectInfo.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "F9D6CA8D4501EB10C045CA6B53BC3AD6", + "sha-1": "7A8329AEDFF6DDA5A94F0894A9ED94B53526B4A0", + "sha-256": "D958026F36F9F2AB6DC18B857E25C0FCEA50B7BAAD351284DCC79E28F9AEBDD9" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests/PullRequestIssuesException.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "C41E0DCBE39D82DDD73D0B554C0CA227", + "sha-1": "885DCED8ADE2868FA913C9959A7101A95F9D7EAC", + "sha-256": "F5D6372A05A1048D28262507750BB483916128EFF6FD232A58BABEC214BD2D8A" + } + }, + { + "location": { + "uri": "Cake.Issues/StringPathExtensions.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "A24C866A059320FFBA6F9EEE808F91FF", + "sha-1": "48D43C89600A2F7B4D0BD39303C2D328630003FE", + "sha-256": "0BF47B456E0D32793A2F0C1B6BFCDEB664B9D84A65BCB39C5975812A80EAAC33" + } + }, + { + "location": { + "uri": "Cake.Issues.InspectCode.Tests/InspectCodeIssuesProviderTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "6A44BB39B9646F8035C2BE10B5B08898", + "sha-1": "C33FD9EDA0B40800EA9F318F827CC46883AD7F38", + "sha-256": "EAE5534B3BE141C2478269239B5C6429049A2CC84E3845F25A78CA777DDCD876" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic.Tests/GenericIssueReportGeneratorTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "AFE3FF72DAC4F4741AA7096738280180", + "sha-1": "DFB7F65746870F13A9E785D9343EE0EDFE7F2870", + "sha-256": "C2A28CDC3CE497971647BC0F77127F4FE5A6D686A137FAEC815D0249959C58F0" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic.Tests/IIssueExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "47441E8AECD692299E761A45F08FFDF7", + "sha-1": "B499EF6D3832B9F7E4147188019BA25CD00E38B6", + "sha-256": "559F7856864189A08B7D0427D4F3AE3B0DC7F9A32EE111CC395819C56D244EA7" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Console/FileSystemRepository.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "D3AADD612376D2F9A4C37F56BFFE9CC9", + "sha-1": "141E871703AF6A532D759871BC3AD1114799E253", + "sha-256": "2F9B3DD10976237678FE359519B27669D272A8F3B66512C3821F9DAD9115B6FD" + } + }, + { + "location": { + "uri": "Cake.Issues.Testing/FakeMultiFormatIssueProvider.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "33205AD0259C7528AD92CAA1519CE9C2", + "sha-1": "E07D6FB6D296977F87E6A5F9C1A5E0968257EC62", + "sha-256": "FB68C3EEC30DC9906D1BE5D47CC90740CABFED8777467B16DFC7023AC91F2323" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests/IPullRequestDiscussionThread.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "199327CBB45A27A015F10025BB9FCC74", + "sha-1": "C71210FFAF6DD978CC260E443DB95EF495931962", + "sha-256": "74C1277D9AFF5CA9AA4FC8BCABE13C07FFA0894179D4095EA0551FBAE5DB0ED7" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests/IPullRequestDiscussionComment.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "1B129682158FB87DBA453B3EFA2905A0", + "sha-1": "19E9379E65A8BE9D4CD683379F1DB080C9F07042", + "sha-256": "BE1B2F7609D237CA1F6F00FC76CA4154FA5DECAAC15F719DB5DB65854537EDC6" + } + }, + { + "location": { + "uri": "Cake.Issues.PullRequests/IPullRequestSystem.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "6CDB1B1FE53B811BBD7C85B4B05FD8A4", + "sha-1": "8BF17FA08B232732D5ED333391EEA99B1B968586", + "sha-256": "FECD7125AB61BBF21A5626702D621D9E797B47AAC782B2E10CC7EE55E564A478" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic.Tests/HtmlDxDataGridTemplateTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "3A491D773E161E7B15824264FCB77C55", + "sha-1": "A34A5E8472C6209E0A9564155564254CD767DF25", + "sha-256": "C2D154CD02EE903B35B6265705C354BEB8FB935A939C584CB21D1A7C8712DF67" + } + }, + { + "location": { + "uri": "Cake.Issues.Reporting.Generic.Tests/DevExtremeThemeExtensionsTests.cs", + "uriBaseId": "solutionDir" + }, + "hashes": { + "md5": "F5F46884DEB3ECC2C8D1174C0470DCEC", + "sha-1": "66841D1FFE91E8C2A99F289EAB164FEE300ED71D", + "sha-256": "1F67C4241B595F4571C5D7029CEA7CC14793E8177E9CD86E0782A9CA836BB935" + } + } + ], + "columnKind": "utf16CodeUnits" + } + ] +} \ No newline at end of file From 06907d972d5bbb0f62a668809e576e028520df6e Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 2 Jan 2025 01:17:32 +0100 Subject: [PATCH 191/201] Update links in NuGet package READMEs (#934) --- nuspec/nuget/Cake.Frosting.Issues.DocFx.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.EsLint.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.GitRepository.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.InspectCode.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.Markdownlint.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.MsBuild.md | 4 ++-- .../Cake.Frosting.Issues.PullRequests.AppVeyor.md | 4 ++-- .../Cake.Frosting.Issues.PullRequests.AzureDevOps.md | 4 ++-- .../Cake.Frosting.Issues.PullRequests.GitHubActions.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.PullRequests.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.Reporting.Console.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.Reporting.Generic.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.Reporting.Sarif.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.Reporting.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.Sarif.md | 4 ++-- nuspec/nuget/Cake.Frosting.Issues.Terraform.md | 4 ++-- nuspec/nuget/Cake.Issues.DocFx.md | 4 ++-- nuspec/nuget/Cake.Issues.EsLint.md | 4 ++-- nuspec/nuget/Cake.Issues.GitRepository.md | 4 ++-- nuspec/nuget/Cake.Issues.InspectCode.md | 4 ++-- nuspec/nuget/Cake.Issues.Markdownlint.md | 4 ++-- nuspec/nuget/Cake.Issues.MsBuild.md | 4 ++-- nuspec/nuget/Cake.Issues.PullRequests.AppVeyor.md | 4 ++-- nuspec/nuget/Cake.Issues.PullRequests.AzureDevOps.md | 4 ++-- nuspec/nuget/Cake.Issues.PullRequests.GitHubActions.md | 4 ++-- nuspec/nuget/Cake.Issues.PullRequests.md | 4 ++-- nuspec/nuget/Cake.Issues.Reporting.Console.md | 4 ++-- nuspec/nuget/Cake.Issues.Reporting.Generic.md | 4 ++-- nuspec/nuget/Cake.Issues.Reporting.Sarif.md | 4 ++-- nuspec/nuget/Cake.Issues.Reporting.md | 4 ++-- nuspec/nuget/Cake.Issues.Sarif.md | 4 ++-- nuspec/nuget/Cake.Issues.Terraform.md | 4 ++-- nuspec/nuget/Cake.Issues.Testing.md | 6 +++--- nuspec/nuget/Cake.Issues.md | 10 +++++----- 34 files changed, 72 insertions(+), 72 deletions(-) diff --git a/nuspec/nuget/Cake.Frosting.Issues.DocFx.md b/nuspec/nuget/Cake.Frosting.Issues.DocFx.md index d30f02db1..f72295d82 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.DocFx.md +++ b/nuspec/nuget/Cake.Frosting.Issues.DocFx.md @@ -64,7 +64,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.EsLint.md b/nuspec/nuget/Cake.Frosting.Issues.EsLint.md index 0ac6bb585..e037bfe48 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.EsLint.md +++ b/nuspec/nuget/Cake.Frosting.Issues.EsLint.md @@ -68,7 +68,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.GitRepository.md b/nuspec/nuget/Cake.Frosting.Issues.GitRepository.md index 1a3766656..39e2882e8 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.GitRepository.md +++ b/nuspec/nuget/Cake.Frosting.Issues.GitRepository.md @@ -61,7 +61,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.InspectCode.md b/nuspec/nuget/Cake.Frosting.Issues.InspectCode.md index fa308684e..23ca78d3c 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.InspectCode.md +++ b/nuspec/nuget/Cake.Frosting.Issues.InspectCode.md @@ -69,7 +69,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.Markdownlint.md b/nuspec/nuget/Cake.Frosting.Issues.Markdownlint.md index 2a246540e..7a0f98390 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Markdownlint.md +++ b/nuspec/nuget/Cake.Frosting.Issues.Markdownlint.md @@ -66,7 +66,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.MsBuild.md b/nuspec/nuget/Cake.Frosting.Issues.MsBuild.md index 3e68bd01c..9158041fd 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.MsBuild.md +++ b/nuspec/nuget/Cake.Frosting.Issues.MsBuild.md @@ -71,7 +71,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AppVeyor.md b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AppVeyor.md index 37e08ec6b..5d5cbe7c1 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AppVeyor.md +++ b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AppVeyor.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AzureDevOps.md b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AzureDevOps.md index d7325ccf1..fe70c736a 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AzureDevOps.md +++ b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AzureDevOps.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.GitHubActions.md b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.GitHubActions.md index c1e2dde55..318210651 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.GitHubActions.md +++ b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.GitHubActions.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.md b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.md index f9089584e..893731f81 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.md +++ b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Console.md b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Console.md index dae3a3542..b1f51f4de 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Console.md +++ b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Console.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Generic.md b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Generic.md index 8c0899d9a..1dcd6d9ff 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Generic.md +++ b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Generic.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Sarif.md b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Sarif.md index 2038f69f2..4e3cbcebf 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Sarif.md +++ b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Sarif.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.Reporting.md b/nuspec/nuget/Cake.Frosting.Issues.Reporting.md index 80f61033b..2f83fddf4 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Reporting.md +++ b/nuspec/nuget/Cake.Frosting.Issues.Reporting.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.Sarif.md b/nuspec/nuget/Cake.Frosting.Issues.Sarif.md index e089d3b0c..1fc045bd2 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Sarif.md +++ b/nuspec/nuget/Cake.Frosting.Issues.Sarif.md @@ -57,7 +57,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.Terraform.md b/nuspec/nuget/Cake.Frosting.Issues.Terraform.md index b2359c0e5..c6ff8de94 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Terraform.md +++ b/nuspec/nuget/Cake.Frosting.Issues.Terraform.md @@ -69,7 +69,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.DocFx.md b/nuspec/nuget/Cake.Issues.DocFx.md index ac5ab630f..999dea83b 100644 --- a/nuspec/nuget/Cake.Issues.DocFx.md +++ b/nuspec/nuget/Cake.Issues.DocFx.md @@ -60,7 +60,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.EsLint.md b/nuspec/nuget/Cake.Issues.EsLint.md index 6ab96566e..af814e33c 100644 --- a/nuspec/nuget/Cake.Issues.EsLint.md +++ b/nuspec/nuget/Cake.Issues.EsLint.md @@ -64,7 +64,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.GitRepository.md b/nuspec/nuget/Cake.Issues.GitRepository.md index 30a4c8674..b420956d5 100644 --- a/nuspec/nuget/Cake.Issues.GitRepository.md +++ b/nuspec/nuget/Cake.Issues.GitRepository.md @@ -57,7 +57,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.InspectCode.md b/nuspec/nuget/Cake.Issues.InspectCode.md index 2c92ce2fe..5f3c37f71 100644 --- a/nuspec/nuget/Cake.Issues.InspectCode.md +++ b/nuspec/nuget/Cake.Issues.InspectCode.md @@ -65,7 +65,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.Markdownlint.md b/nuspec/nuget/Cake.Issues.Markdownlint.md index 6f1b78c85..7eee0a36b 100644 --- a/nuspec/nuget/Cake.Issues.Markdownlint.md +++ b/nuspec/nuget/Cake.Issues.Markdownlint.md @@ -62,7 +62,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.MsBuild.md b/nuspec/nuget/Cake.Issues.MsBuild.md index 22c65020a..d20bfb494 100644 --- a/nuspec/nuget/Cake.Issues.MsBuild.md +++ b/nuspec/nuget/Cake.Issues.MsBuild.md @@ -67,7 +67,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.PullRequests.AppVeyor.md b/nuspec/nuget/Cake.Issues.PullRequests.AppVeyor.md index 401023e34..1fa95670d 100644 --- a/nuspec/nuget/Cake.Issues.PullRequests.AppVeyor.md +++ b/nuspec/nuget/Cake.Issues.PullRequests.AppVeyor.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.PullRequests.AzureDevOps.md b/nuspec/nuget/Cake.Issues.PullRequests.AzureDevOps.md index b3db5f710..1acbacf78 100644 --- a/nuspec/nuget/Cake.Issues.PullRequests.AzureDevOps.md +++ b/nuspec/nuget/Cake.Issues.PullRequests.AzureDevOps.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.PullRequests.GitHubActions.md b/nuspec/nuget/Cake.Issues.PullRequests.GitHubActions.md index 1e9308302..aac28277a 100644 --- a/nuspec/nuget/Cake.Issues.PullRequests.GitHubActions.md +++ b/nuspec/nuget/Cake.Issues.PullRequests.GitHubActions.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.PullRequests.md b/nuspec/nuget/Cake.Issues.PullRequests.md index 65607d5f0..2c9c291bf 100644 --- a/nuspec/nuget/Cake.Issues.PullRequests.md +++ b/nuspec/nuget/Cake.Issues.PullRequests.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.Reporting.Console.md b/nuspec/nuget/Cake.Issues.Reporting.Console.md index 593f0a487..b471c84c8 100644 --- a/nuspec/nuget/Cake.Issues.Reporting.Console.md +++ b/nuspec/nuget/Cake.Issues.Reporting.Console.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.Reporting.Generic.md b/nuspec/nuget/Cake.Issues.Reporting.Generic.md index 5b474d0d9..e88978176 100644 --- a/nuspec/nuget/Cake.Issues.Reporting.Generic.md +++ b/nuspec/nuget/Cake.Issues.Reporting.Generic.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.Reporting.Sarif.md b/nuspec/nuget/Cake.Issues.Reporting.Sarif.md index e26037d99..94c2b306f 100644 --- a/nuspec/nuget/Cake.Issues.Reporting.Sarif.md +++ b/nuspec/nuget/Cake.Issues.Reporting.Sarif.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.Reporting.md b/nuspec/nuget/Cake.Issues.Reporting.md index 06214d806..96b20cf08 100644 --- a/nuspec/nuget/Cake.Issues.Reporting.md +++ b/nuspec/nuget/Cake.Issues.Reporting.md @@ -30,7 +30,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.Sarif.md b/nuspec/nuget/Cake.Issues.Sarif.md index 39a5fb27d..33a38c292 100644 --- a/nuspec/nuget/Cake.Issues.Sarif.md +++ b/nuspec/nuget/Cake.Issues.Sarif.md @@ -53,7 +53,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.Terraform.md b/nuspec/nuget/Cake.Issues.Terraform.md index c6dd1fef9..157e7925a 100644 --- a/nuspec/nuget/Cake.Issues.Terraform.md +++ b/nuspec/nuget/Cake.Issues.Terraform.md @@ -65,7 +65,7 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ [Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting [Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.Testing.md b/nuspec/nuget/Cake.Issues.Testing.md index 999c63fe6..4924ba154 100644 --- a/nuspec/nuget/Cake.Issues.Testing.md +++ b/nuspec/nuget/Cake.Issues.Testing.md @@ -26,6 +26,6 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ -[Addins]: https://cakeissues.net/docs/extending/fundamentals +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ +[Addins]: https://cakeissues.net/latest/documentation/extending/ diff --git a/nuspec/nuget/Cake.Issues.md b/nuspec/nuget/Cake.Issues.md index 51126b4d6..426ca5a31 100644 --- a/nuspec/nuget/Cake.Issues.md +++ b/nuspec/nuget/Cake.Issues.md @@ -107,8 +107,8 @@ Contributions are welcome. See [Contribution Guidelines](https://github.com/cake Binary distributions for some addins contain third-party code which is licensed under its own respective license. See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. -[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture -[set of aliases]: https://cakeissues.net/dsl/ -[Issue Providers]: https://cakeissues.net/addins/issue-provider/ -[Report Format]: https://cakeissues.net/docs/report-formats/ -[Pull Request System]: https://cakeissues.net/docs/pull-request-systems/ +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ +[Issue Providers]: https://cakeissues.net/latest/documentation/issue-providers/ +[Report Format]: https://cakeissues.net/latest/documentation/report-formats/ +[Pull Request System]: https://cakeissues.net/latest/documentation/pull-request-systems/ From b2ff70ad36643f0cf8dc7988e5b76d05780c73ab Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 2 Jan 2025 23:19:04 +0100 Subject: [PATCH 192/201] Fix example for MarkdownlintIssues alias (#937) --- .../MarkdownlintIssuesAliases.IssueProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases.IssueProvider.cs b/src/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases.IssueProvider.cs index 691c63715..0a15550ad 100644 --- a/src/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases.IssueProvider.cs +++ b/src/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases.IssueProvider.cs @@ -112,7 +112,7 @@ public static IIssueProvider MarkdownlintIssuesFromContent( /// /// var issues = /// ReadIssues( - /// MarkdownlintIssuesFromFilePath(settings), + /// MarkdownlintIssues(settings), /// @"c:\repo"); /// ]]> /// From 7b48d0b6201e711fa4560a6818ebfec25f1318fe Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Thu, 2 Jan 2025 23:24:41 +0100 Subject: [PATCH 193/201] Fix link in SARIF issue provider documentation (#936) --- docs/input/documentation/issue-providers/sarif/features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/input/documentation/issue-providers/sarif/features.md b/docs/input/documentation/issue-providers/sarif/features.md index 633b539e6..7bab6199d 100644 --- a/docs/input/documentation/issue-providers/sarif/features.md +++ b/docs/input/documentation/issue-providers/sarif/features.md @@ -4,7 +4,7 @@ description: Features of the Cake.Issues.Sarif addin. icon: material/creation-outline --- -The [Cake.Issues.Sarif addin](https://cakebuild.net/extensions/cake-issues-terraform/){target="_blank"} provides the following features. +The [Cake.Issues.Sarif addin](https://cakebuild.net/extensions/cake-issues-sarif/){target="_blank"} provides the following features. ## Basic features From 0b199ed1c1770892885409a147111410bfb01239 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 3 Jan 2025 00:24:38 +0100 Subject: [PATCH 194/201] Add Clojure linter to list of supported tools (#939) --- .../documentation/assets/tables/supported-tools-clojure.csv | 2 ++ docs/input/documentation/supported-tools.md | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 docs/input/documentation/assets/tables/supported-tools-clojure.csv diff --git a/docs/input/documentation/assets/tables/supported-tools-clojure.csv b/docs/input/documentation/assets/tables/supported-tools-clojure.csv new file mode 100644 index 000000000..302b089da --- /dev/null +++ b/docs/input/documentation/assets/tables/supported-tools-clojure.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[clj-kondo](https://github.com/clj-kondo/clj-kondo){target='_blank'}",,"[sarif](https://github.com/clj-kondo/clj-kondo/blob/master/doc/config.md#print-results-in-sarif-format){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 diff --git a/docs/input/documentation/supported-tools.md b/docs/input/documentation/supported-tools.md index a33ab37f1..91ab86c54 100644 --- a/docs/input/documentation/supported-tools.md +++ b/docs/input/documentation/supported-tools.md @@ -29,6 +29,10 @@ This pages lists tools known to be working with Cake Issues (1) {{ read_csv('assets/tables/supported-tools-bicep.csv',keep_default_na=False) }} +## Clojure + +{{ read_csv('assets/tables/supported-tools-clojure.csv',keep_default_na=False) }} + ## Dockerfile {{ read_csv('assets/tables/supported-tools-docker.csv',keep_default_na=False) }} From fbe0b765b25e7d5a2807c8ccaa0a701aab3ff5f0 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 3 Jan 2025 02:05:46 +0100 Subject: [PATCH 195/201] Fix RuleId on issue provider feature pages (#941) --- docs/input/documentation/issue-providers/docfx/features.md | 2 +- docs/input/documentation/issue-providers/eslint/features.md | 2 +- .../documentation/issue-providers/gitrepository/features.md | 2 +- .../input/documentation/issue-providers/inspectcode/features.md | 2 +- .../documentation/issue-providers/markdownlint/features.md | 2 +- docs/input/documentation/issue-providers/msbuild/features.md | 2 +- docs/input/documentation/issue-providers/sarif/features.md | 2 +- docs/input/documentation/issue-providers/terraform/features.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/input/documentation/issue-providers/docfx/features.md b/docs/input/documentation/issue-providers/docfx/features.md index eb10b43de..5204f996f 100644 --- a/docs/input/documentation/issue-providers/docfx/features.md +++ b/docs/input/documentation/issue-providers/docfx/features.md @@ -36,7 +36,7 @@ provides the following features. - [ ] `IIssue.MessageMarkdown` - [x] `IIssue.Priority` - [x] `IIssue.PriorityName` -- [x] `IIssue.Rule` +- [x] `IIssue.RuleId` - [x] `IIssue.RuleUrl` diff --git a/docs/input/documentation/issue-providers/eslint/features.md b/docs/input/documentation/issue-providers/eslint/features.md index 40980939d..2d1eebb54 100644 --- a/docs/input/documentation/issue-providers/eslint/features.md +++ b/docs/input/documentation/issue-providers/eslint/features.md @@ -44,7 +44,7 @@ The [Cake.Issues.EsLint addin](https://cakebuild.net/extensions/cake-issues-esli - [ ] `IIssue.MessageMarkdown` - [x] `IIssue.Priority` - [x] `IIssue.PriorityName` -- [x] `IIssue.Rule` +- [x] `IIssue.RuleId` - [x] `IIssue.RuleUrl` (4) diff --git a/docs/input/documentation/issue-providers/gitrepository/features.md b/docs/input/documentation/issue-providers/gitrepository/features.md index b9efc9253..16200e092 100644 --- a/docs/input/documentation/issue-providers/gitrepository/features.md +++ b/docs/input/documentation/issue-providers/gitrepository/features.md @@ -33,7 +33,7 @@ provides the following features. - [x] `IIssue.MessageMarkdown` - [x] `IIssue.Priority` - [x] `IIssue.PriorityName` -- [x] `IIssue.Rule` +- [x] `IIssue.RuleId` - [x] `IIssue.RuleUrl` diff --git a/docs/input/documentation/issue-providers/inspectcode/features.md b/docs/input/documentation/issue-providers/inspectcode/features.md index 826729cc1..ed02edf38 100644 --- a/docs/input/documentation/issue-providers/inspectcode/features.md +++ b/docs/input/documentation/issue-providers/inspectcode/features.md @@ -35,7 +35,7 @@ The [Cake.Issues.InspectCode addin]{target="_blank"} provides the following feat - [ ] `IIssue.MessageMarkdown` - [x] `IIssue.Priority` - [x] `IIssue.PriorityName` -- [x] `IIssue.Rule` +- [x] `IIssue.RuleId` - [x] `IIssue.RuleUrl` diff --git a/docs/input/documentation/issue-providers/markdownlint/features.md b/docs/input/documentation/issue-providers/markdownlint/features.md index 5d268f97f..d03fc774e 100644 --- a/docs/input/documentation/issue-providers/markdownlint/features.md +++ b/docs/input/documentation/issue-providers/markdownlint/features.md @@ -51,7 +51,7 @@ provides the following features. - [ ] `IIssue.MessageMarkdown` - [x] `IIssue.Priority` (5) - [x] `IIssue.PriorityName` (6) -- [x] `IIssue.Rule` +- [x] `IIssue.RuleId` - [x] `IIssue.RuleUrl` (7) diff --git a/docs/input/documentation/issue-providers/msbuild/features.md b/docs/input/documentation/issue-providers/msbuild/features.md index d8dfededa..fd5c77029 100644 --- a/docs/input/documentation/issue-providers/msbuild/features.md +++ b/docs/input/documentation/issue-providers/msbuild/features.md @@ -42,7 +42,7 @@ provides the following features. - [ ] `IIssue.MessageMarkdown` - [x] `IIssue.Priority` - [x] `IIssue.PriorityName` -- [x] `IIssue.Rule` +- [x] `IIssue.RuleId` - [x] `IIssue.RuleUrl` (5) diff --git a/docs/input/documentation/issue-providers/sarif/features.md b/docs/input/documentation/issue-providers/sarif/features.md index 7bab6199d..4182f44be 100644 --- a/docs/input/documentation/issue-providers/sarif/features.md +++ b/docs/input/documentation/issue-providers/sarif/features.md @@ -31,7 +31,7 @@ The [Cake.Issues.Sarif addin](https://cakebuild.net/extensions/cake-issues-sarif - [x] `IIssue.MessageMarkdown` - [x] `IIssue.Priority` - [x] `IIssue.PriorityName` -- [x] `IIssue.Rule` +- [x] `IIssue.RuleId` - [x] `IIssue.RuleUrl` diff --git a/docs/input/documentation/issue-providers/terraform/features.md b/docs/input/documentation/issue-providers/terraform/features.md index fd94919b5..f558f5e87 100644 --- a/docs/input/documentation/issue-providers/terraform/features.md +++ b/docs/input/documentation/issue-providers/terraform/features.md @@ -35,7 +35,7 @@ The [Cake.Issues.Terraform addin]{target="_blank"} provides the following featur - [ ] `IIssue.MessageMarkdown` - [x] `IIssue.Priority` - [x] `IIssue.PriorityName` -- [x] `IIssue.Rule` +- [x] `IIssue.RuleId` - [x] `IIssue.RuleUrl` From 732c49304d4f28ae2dd02008b8cc9e64e8342682 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 3 Jan 2025 19:29:36 +0100 Subject: [PATCH 196/201] Add TAP issue provider (#930) --- README.md | 1 + .../assets/tables/supported-tools-css.csv | 2 + .../tables/supported-tools-kubernetes.csv | 1 + .../supported-tools-natural-language.csv | 2 + .../documentation/issue-providers/index.md | 2 + .../issue-providers/tap/features.md | 117 ++++ .../issue-providers/tap/index.md | 15 + docs/input/documentation/supported-tools.md | 8 + docs/mkdocs.yml | 4 + nuspec/nuget/Cake.Frosting.Issues.Tap.md | 63 ++ nuspec/nuget/Cake.Frosting.Issues.Tap.nuspec | 58 ++ nuspec/nuget/Cake.Frosting.Issues.Tap.targets | 5 + nuspec/nuget/Cake.Issues.Tap.md | 59 ++ nuspec/nuget/Cake.Issues.Tap.nuspec | 40 ++ .../Cake.Issues.Tap.Tests.csproj | 19 + .../GenericLogFileFormatTests.cs | 132 +++++ .../StylelintLogFileFormatTests.cs | 133 +++++ .../TextlintLogFileFormatTests.cs | 47 ++ .../Properties/ProjectInfo.cs | 13 + .../TapIssuesProviderFixture.cs | 15 + .../TapIssuesProviderTests.cs | 117 ++++ .../TapIssuesSettingsTests.cs | 115 ++++ .../kubeconform-invalid.tap | 3 + .../kubeconform-list-invalid.tap | 4 + .../kubeconform-missing-apiversion.tap | 3 + .../kubeconform-valid.tap | 3 + .../GenericLogFileFormat/specification.tap | 17 + .../StylelintLogFileFormat/no-warnings.tap | 3 + .../StylelintLogFileFormat/parse-error.tap | 15 + .../StylelintLogFileFormat/warnings.tap | 35 ++ .../TextlintLogFileFormat/textlint.tap | 11 + src/Cake.Issues.Tap.Tests/packages.lock.json | 543 ++++++++++++++++++ src/Cake.Issues.Tap/BaseTapLogFileFormat.cs | 12 + src/Cake.Issues.Tap/Cake.Issues.Tap.csproj | 17 + .../LogFileFormat/GenericLogFileFormat.cs | 42 ++ .../LogFileFormat/StylelintLogFileFormat.cs | 68 +++ .../LogFileFormat/TextlintLogFileFormat.cs | 65 +++ src/Cake.Issues.Tap/Parser/TapParser.cs | 184 ++++++ src/Cake.Issues.Tap/Parser/TapTestPoint.cs | 49 ++ src/Cake.Issues.Tap/Properties/ProjectInfo.cs | 14 + .../TapIssuesAliases.GenericLogFileFormat.cs | 26 + .../TapIssuesAliases.IssueProvider.cs | 131 +++++ ...TapIssuesAliases.StylelintLogFileFormat.cs | 26 + .../TapIssuesAliases.TextlintLogFileFormat.cs | 26 + src/Cake.Issues.Tap/TapIssuesAliases.cs | 11 + src/Cake.Issues.Tap/TapIssuesProvider.cs | 22 + src/Cake.Issues.Tap/TapIssuesSettings.cs | 31 + src/Cake.Issues.Tap/packages.lock.json | 163 ++++++ src/Cake.Issues.sln | 27 + src/Directory.Packages.props | 1 + 50 files changed, 2520 insertions(+) create mode 100644 docs/input/documentation/assets/tables/supported-tools-css.csv create mode 100644 docs/input/documentation/assets/tables/supported-tools-natural-language.csv create mode 100644 docs/input/documentation/issue-providers/tap/features.md create mode 100644 docs/input/documentation/issue-providers/tap/index.md create mode 100644 nuspec/nuget/Cake.Frosting.Issues.Tap.md create mode 100644 nuspec/nuget/Cake.Frosting.Issues.Tap.nuspec create mode 100644 nuspec/nuget/Cake.Frosting.Issues.Tap.targets create mode 100644 nuspec/nuget/Cake.Issues.Tap.md create mode 100644 nuspec/nuget/Cake.Issues.Tap.nuspec create mode 100644 src/Cake.Issues.Tap.Tests/Cake.Issues.Tap.Tests.csproj create mode 100644 src/Cake.Issues.Tap.Tests/LogFileFormat/GenericLogFileFormatTests.cs create mode 100644 src/Cake.Issues.Tap.Tests/LogFileFormat/StylelintLogFileFormatTests.cs create mode 100644 src/Cake.Issues.Tap.Tests/LogFileFormat/TextlintLogFileFormatTests.cs create mode 100644 src/Cake.Issues.Tap.Tests/Properties/ProjectInfo.cs create mode 100644 src/Cake.Issues.Tap.Tests/TapIssuesProviderFixture.cs create mode 100644 src/Cake.Issues.Tap.Tests/TapIssuesProviderTests.cs create mode 100644 src/Cake.Issues.Tap.Tests/TapIssuesSettingsTests.cs create mode 100644 src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-invalid.tap create mode 100644 src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-list-invalid.tap create mode 100644 src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-missing-apiversion.tap create mode 100644 src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-valid.tap create mode 100644 src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/specification.tap create mode 100644 src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/no-warnings.tap create mode 100644 src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/parse-error.tap create mode 100644 src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/warnings.tap create mode 100644 src/Cake.Issues.Tap.Tests/Testfiles/TextlintLogFileFormat/textlint.tap create mode 100644 src/Cake.Issues.Tap.Tests/packages.lock.json create mode 100644 src/Cake.Issues.Tap/BaseTapLogFileFormat.cs create mode 100644 src/Cake.Issues.Tap/Cake.Issues.Tap.csproj create mode 100644 src/Cake.Issues.Tap/LogFileFormat/GenericLogFileFormat.cs create mode 100644 src/Cake.Issues.Tap/LogFileFormat/StylelintLogFileFormat.cs create mode 100644 src/Cake.Issues.Tap/LogFileFormat/TextlintLogFileFormat.cs create mode 100644 src/Cake.Issues.Tap/Parser/TapParser.cs create mode 100644 src/Cake.Issues.Tap/Parser/TapTestPoint.cs create mode 100644 src/Cake.Issues.Tap/Properties/ProjectInfo.cs create mode 100644 src/Cake.Issues.Tap/TapIssuesAliases.GenericLogFileFormat.cs create mode 100644 src/Cake.Issues.Tap/TapIssuesAliases.IssueProvider.cs create mode 100644 src/Cake.Issues.Tap/TapIssuesAliases.StylelintLogFileFormat.cs create mode 100644 src/Cake.Issues.Tap/TapIssuesAliases.TextlintLogFileFormat.cs create mode 100644 src/Cake.Issues.Tap/TapIssuesAliases.cs create mode 100644 src/Cake.Issues.Tap/TapIssuesProvider.cs create mode 100644 src/Cake.Issues.Tap/TapIssuesSettings.cs create mode 100644 src/Cake.Issues.Tap/packages.lock.json diff --git a/README.md b/README.md index efacfe90c..7c76f3857 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ For questions and to discuss ideas & feature requests, use the [GitHub discussio | [Cake.Issues.InspectCode](https://www.nuget.org/packages/Cake.Issues.InspectCode) | [Cake.Frosting.Issues.InspectCode](https://www.nuget.org/packages/Cake.Frosting.Issues.InspectCode) | Issue provider for reading JetBrains Inspect Code issues. | | [Cake.Issues.Markdownlint](https://www.nuget.org/packages/Cake.Issues.Markdownlint) | [Cake.Frosting.Issues.Markdownlint](https://www.nuget.org/packages/Cake.Frosting.Issues.Markdownlint) | Issue provider for reading issues from markdownlint. | | [Cake.Issues.Sarif](https://www.nuget.org/packages/Cake.Issues.Sarif) | [Cake.Frosting.Issues.Sarif](https://www.nuget.org/packages/Cake.Frosting.Issues.Sarif) | Issue provider for reading SARIF reports. | +| [Cake.Issues.Tap](https://www.nuget.org/packages/Cake.Issues.Tap) | [Cake.Frosting.Issues.Tap](https://www.nuget.org/packages/Cake.Frosting.Issues.Tap) | Issue provider for reading files in Test Anything Protocol (TAP) format. | | [Cake.Issues.Terraform](https://www.nuget.org/packages/Cake.Issues.Terraform) | [Cake.Frosting.Issues.Terraform](https://www.nuget.org/packages/Cake.Frosting.Issues.Terraform) | Issue provider for reading Terraform validation output. | | [Cake.Issues.PullRequests](https://www.nuget.org/packages/Cake.Issues.PullRequests) | [Cake.Frosting.Issues.PullRequests](https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests) | Addin providing the aliases for writing issues to pull requests and build servers. | | [Cake.Issues.PullRequests.AppVeyor](https://www.nuget.org/packages/Cake.Issues.PullRequests.AppVeyor) | [Cake.Frosting.Issues.PullRequests.AppVeyor](https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests.AppVeyor) | Integration with AppVeyor builds. | diff --git a/docs/input/documentation/assets/tables/supported-tools-css.csv b/docs/input/documentation/assets/tables/supported-tools-css.csv new file mode 100644 index 000000000..4c36a1c11 --- /dev/null +++ b/docs/input/documentation/assets/tables/supported-tools-css.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[stylelint](https://stylelint.io/){target='_blank'} :material-alert-decagram:",,"[tap](https://stylelint.io/user-guide/options/#formatter){target='_blank'}","[Cake.Issues.Tap](issue-providers/tap/index.md)",5.1.0 diff --git a/docs/input/documentation/assets/tables/supported-tools-kubernetes.csv b/docs/input/documentation/assets/tables/supported-tools-kubernetes.csv index cb7b49a89..bcbfbbaa3 100644 --- a/docs/input/documentation/assets/tables/supported-tools-kubernetes.csv +++ b/docs/input/documentation/assets/tables/supported-tools-kubernetes.csv @@ -1,4 +1,5 @@ "Tool","Tool Version","Format","Issue Provider","Supported Since" "[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 "[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 +"[Kubeconform](https://github.com/yannh/kubeconform){target='_blank'} :material-alert-decagram:",,"[tap](https://github.com/yannh/kubeconform?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Tap](issue-providers/tap/index.md)",4.2.0 "[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0 \ No newline at end of file diff --git a/docs/input/documentation/assets/tables/supported-tools-natural-language.csv b/docs/input/documentation/assets/tables/supported-tools-natural-language.csv new file mode 100644 index 000000000..70d0155b6 --- /dev/null +++ b/docs/input/documentation/assets/tables/supported-tools-natural-language.csv @@ -0,0 +1,2 @@ +"Tool","Tool Version","Format","Issue Provider","Supported Since" +"[textlint](https://textlint.github.io/){target='_blank'} :material-alert-decagram:",,"[tap](https://textlint.github.io/docs/cli.html#options){target='_blank'}","[Cake.Issues.Tap](issue-providers/tap/index.md)",5.1.0 diff --git a/docs/input/documentation/issue-providers/index.md b/docs/input/documentation/issue-providers/index.md index 21a63aa15..90b886152 100644 --- a/docs/input/documentation/issue-providers/index.md +++ b/docs/input/documentation/issue-providers/index.md @@ -14,6 +14,7 @@ Issue provider addins are responsible for providing the output of an analyzer or - :material-layers-plus: __[Markdownlint]__ – Issue provider for reading issues from markdownlint - :material-layers-plus: __[MsBuild]__ – Issue provider for reading MsBuild errors and warnings - :material-layers-plus: __[Sarif]__ – Issue provider for reading SARIF reports +- :material-layers-plus: __[Test Anything Protocol (TAP)]__ – Issue provider for reading TAP reports - :material-layers-plus: __[Terraform]__ – Issue provider for reading Terraform validation output @@ -25,6 +26,7 @@ Issue provider addins are responsible for providing the output of an analyzer or [Markdownlint]: markdownlint/index.md [MsBuild]: msbuild/index.md [Sarif]: sarif/index.md +[Test Anything Protocol (TAP)]: tap/index.md [Terraform]: terraform/index.md !!! tip diff --git a/docs/input/documentation/issue-providers/tap/features.md b/docs/input/documentation/issue-providers/tap/features.md new file mode 100644 index 000000000..b3e3b8e5c --- /dev/null +++ b/docs/input/documentation/issue-providers/tap/features.md @@ -0,0 +1,117 @@ +--- +title: Features +description: Features of the Cake.Issues.Tap addin. +icon: material/creation-outline +--- + +The [Cake.Issues.Tap addin](https://cakebuild.net/extensions/cake-issues-tap/){target="_blank"} provides the following features. + +## Basic features + +- [x] Reads issues from files in [Test Anything Protocol (TAP)]{target="_blank"} format version 13 or 14. + +## Supported log file formats + +!!! note + Details, like file, line / column or rule information, are not standardized in [Test Anything Protocol (TAP)]{target="_blank"}. + The `GenericLogFileFormat` will therefore only return issues containing the description, which might be the file name for some tools. + To retrieve detailed information a tool specific log file format needs to be used which can parse the non-standardized + data provided by the tool for every issue. + +- [x] `GenericLogFileFormat` alias for reading issues from any [Test Anything Protocol (TAP)]{target="_blank"} compatible file +- [x] `StylelintLogFileFormat` alias for reading TAP files generated by [stylelint](https://stylelint.io/){target="_blank"}. +- [x] `TextlintLogFileFormat` alias for reading TAP files generated by [Textlint](https://textlint.github.io/){target="_blank"}. + +## Supported IIssue properties + +=== "GenericLogFileFormat" + +
    + + - [x] `IIssue.ProviderType` + - [x] `IIssue.ProviderName` + - [ ] `IIssue.Run` (1) + - [x] `IIssue.Identifier` (2) + - [ ] `IIssue.ProjectName` + - [ ] `IIssue.ProjectFileRelativePath` + - [ ] `IIssue.AffectedFileRelativePath` + - [ ] `IIssue.Line` + - [ ] `IIssue.EndLine` + - [ ] `IIssue.Column` + - [ ] `IIssue.EndColumn` + - [ ] `IIssue.FileLink` (3) + - [x] `IIssue.MessageText` + - [ ] `IIssue.MessageHtml` + - [ ] `IIssue.MessageMarkdown` + - [ ] `IIssue.Priority` + - [ ] `IIssue.PriorityName` + - [ ] `IIssue.RuleId` + - [ ] `IIssue.RuleUrl` + +
    + + 1. Can be set while reading issues + 2. Set to `IIssue.MessageText` + 3. Can be set while reading issues + +=== "StylelintLogFileFormat" + +
    + + - [x] `IIssue.ProviderType` + - [x] `IIssue.ProviderName` + - [ ] `IIssue.Run` (1) + - [x] `IIssue.Identifier` (2) + - [ ] `IIssue.ProjectName` + - [ ] `IIssue.ProjectFileRelativePath` + - [x] `IIssue.AffectedFileRelativePath` + - [x] `IIssue.Line` + - [x] `IIssue.EndLine` + - [x] `IIssue.Column` + - [x] `IIssue.EndColumn` + - [ ] `IIssue.FileLink` (3) + - [x] `IIssue.MessageText` + - [ ] `IIssue.MessageHtml` + - [ ] `IIssue.MessageMarkdown` + - [x] `IIssue.Priority` + - [x] `IIssue.PriorityName` + - [x] `IIssue.RuleId` + - [ ] `IIssue.RuleUrl` + +
    + + 1. Can be set while reading issues + 2. Set to `IIssue.MessageText` + 3. Can be set while reading issues + +=== "TextlintLogFileFormat" + +
    + + - [x] `IIssue.ProviderType` + - [x] `IIssue.ProviderName` + - [ ] `IIssue.Run` (1) + - [x] `IIssue.Identifier` (2) + - [ ] `IIssue.ProjectName` + - [ ] `IIssue.ProjectFileRelativePath` + - [x] `IIssue.AffectedFileRelativePath` + - [x] `IIssue.Line` + - [ ] `IIssue.EndLine` + - [x] `IIssue.Column` + - [ ] `IIssue.EndColumn` + - [ ] `IIssue.FileLink` (3) + - [x] `IIssue.MessageText` + - [ ] `IIssue.MessageHtml` + - [ ] `IIssue.MessageMarkdown` + - [x] `IIssue.Priority` + - [x] `IIssue.PriorityName` + - [x] `IIssue.RuleId` + - [ ] `IIssue.RuleUrl` + +
    + + 1. Can be set while reading issues + 2. Set to `IIssue.MessageText` + 3. Can be set while reading issues + +[Test Anything Protocol (TAP)]: https://testanything.org/ diff --git a/docs/input/documentation/issue-providers/tap/index.md b/docs/input/documentation/issue-providers/tap/index.md new file mode 100644 index 000000000..c1bc8c41d --- /dev/null +++ b/docs/input/documentation/issue-providers/tap/index.md @@ -0,0 +1,15 @@ +--- +title: Test Anything Protocol +description: Issue provider which allows you to read issues from Test Anything Protocol files. +status: new +--- + +Support for reading issues in [Test Anything Protocol (TAP)](https://testanything.org/){target="_blank"} format +is implemented in the [Cake.Issues.Tap addin](https://cakebuild.net/extensions/cake-issues-tap/){target="_blank"}. + +
    + +- :material-creation-outline: [Features](features.md) +- :material-api: [API](https://cakebuild.net/extensions/cake-issues-tap){target="_blank"} + +
    diff --git a/docs/input/documentation/supported-tools.md b/docs/input/documentation/supported-tools.md index 91ab86c54..d4d277758 100644 --- a/docs/input/documentation/supported-tools.md +++ b/docs/input/documentation/supported-tools.md @@ -33,6 +33,10 @@ This pages lists tools known to be working with Cake Issues (1) {{ read_csv('assets/tables/supported-tools-clojure.csv',keep_default_na=False) }} +## CSS, SCSS, Sass + +{{ read_csv('assets/tables/supported-tools-css.csv',keep_default_na=False) }} + ## Dockerfile {{ read_csv('assets/tables/supported-tools-docker.csv',keep_default_na=False) }} @@ -81,6 +85,10 @@ This pages lists tools known to be working with Cake Issues (1) {{ read_csv('assets/tables/supported-tools-markdown.csv',keep_default_na=False) }} +## Natural language + +{{ read_csv('assets/tables/supported-tools-natural-language.csv',keep_default_na=False) }} + ## OpenAPI {{ read_csv('assets/tables/supported-tools-openapi.csv',keep_default_na=False) }} diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index b3bcffed6..c6f656093 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -207,6 +207,10 @@ nav: - documentation/issue-providers/sarif/index.md - Features: documentation/issue-providers/sarif/features.md - API: https://cakebuild.net/extensions/cake-issues-sarif" target="_blank + - Test Anything Protocol (TAP): + - documentation/issue-providers/tap/index.md + - Features: documentation/issue-providers/tap/features.md + - API: https://cakebuild.net/extensions/cake-issues-tap" target="_blank - Terraform: - documentation/issue-providers/terraform/index.md - Features: documentation/issue-providers/terraform/features.md diff --git a/nuspec/nuget/Cake.Frosting.Issues.Tap.md b/nuspec/nuget/Cake.Frosting.Issues.Tap.md new file mode 100644 index 000000000..8c41a0595 --- /dev/null +++ b/nuspec/nuget/Cake.Frosting.Issues.Tap.md @@ -0,0 +1,63 @@ +# Support for reading TAP compatible files using the Cake.Issues addin for Cake Frosting + +> **NOTE**: +> This is the version of the addin compatible with [Cake Frosting]. +> For addin compatible with [Cake .NET Tool] see [Cake.Issues.Tap](https://www.nuget.org/packages/Cake.Issues.Tap). + +The TAP support for the Cake.Issues addin for Cake allows you to read Test Anything Protocol (TAP) compatible files. + +Cake.Issues redefines issue management within the Cake build system by offering a comprehensive, universal, and extensible solution. +The unique capabilities of the addins empower development teams to enforce coding standards, generate insightful reports, +seamlessly incorporate various linting tools, and streamlining the integration with pull requests. +With its [modular architecture] and extensive [set of aliases], Cake.Issues provides a future-proof infrastructure for issue management +in Cake builds, fostering a more efficient and adaptable development process. + +For more information and extensive documentation see the [Cake.Issues website](https://cakeissues.net). +For general information about the Cake build automation system see the [Cake website](http://cakebuild.net). + +## How to use + +Integrating Cake.Issues into your Cake build is straightforward. +With minimal setup, teams can enjoy the benefits of enhanced code quality management seamlessly integrated into their existing build pipeline. + +After adding the addin the TAP log file can be parsed: + +```csharp +[TaskName("Analyze")] +public sealed class AnalyzeTask : FrostingTask +{ + public override void Run(BuildContext context) + { + var logPath = @"c:\build\log.tap"; + var repoRootPath = @"c:\repo"; + + // Read issues. + var issues = + context.ReadIssues( + context.TapIssuesFromFilePath(logPath), + repoRootPath); + + context.Information("{0} issues are found.", issues.Count()); + } +} +``` + +## Support & Discussion + +For questions and to discuss ideas & feature requests, use the [GitHub discussions on the Cake GitHub repository](https://github.com/cake-build/cake/discussions), under the [Extension Q&A](https://github.com/orgs/cake-build/discussions/categories/extension-q-a) category. + +## Contributing + +Contributions are welcome. See [Contribution Guidelines](https://github.com/cake-contrib/Cake.Issues/blob/develop/CONTRIBUTING.md). + +## License + +[MIT License - Copyright © Cake Issues contributors](LICENSE) + +Binary distributions for some addins contain third-party code which is licensed under its own respective license. +See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. + +[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/ +[set of aliases]: https://cakeissues.net/latest/api/ +[Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting +[Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Frosting.Issues.Tap.nuspec b/nuspec/nuget/Cake.Frosting.Issues.Tap.nuspec new file mode 100644 index 000000000..e4e1d73e1 --- /dev/null +++ b/nuspec/nuget/Cake.Frosting.Issues.Tap.nuspec @@ -0,0 +1,58 @@ + + + + Cake.Frosting.Issues.Tap + Cake.Frosting.Issues.Tap + 0.0.0 + Cake Issues contributors + pascalberger, cake-contrib + Support for reading TAP compatible files using the Cake.Issues addin for Cake Frosting + +The TAP support for the Cake.Issues addin for Cake allows you to read Test Anything Protocol (TAP) compatible files. + +This addin provides the aliases for reading issues from TAP compatible files and providing them to the Cake.Issues addin. +It also requires the core Cake.Issues addin. + +There are also additional addins for generating reports or posting issues to pull requests. + +See the Project Site for an overview of the whole ecosystem of addins for working with issues in Cake scripts. + +NOTE: +This is the version of the addin compatible with Cake Frosting. +For addin compatible with Cake Script Runners see Cake.Issues.Tap. + + MIT + https://cakeissues.net + icon.png + false + + Copyright © Cake Issues contributors + cake cake-addin cake-issues cake-issueprovider linting tap + docs\README.md + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nuspec/nuget/Cake.Frosting.Issues.Tap.targets b/nuspec/nuget/Cake.Frosting.Issues.Tap.targets new file mode 100644 index 000000000..9d33de36b --- /dev/null +++ b/nuspec/nuget/Cake.Frosting.Issues.Tap.targets @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/nuspec/nuget/Cake.Issues.Tap.md b/nuspec/nuget/Cake.Issues.Tap.md new file mode 100644 index 000000000..e38d5096e --- /dev/null +++ b/nuspec/nuget/Cake.Issues.Tap.md @@ -0,0 +1,59 @@ +# Support for reading TAP compatible files using the Cake.Issues addin for Cake Build Automation System + +> **NOTE**: +> This is the version of the addin compatible with [Cake .NET Tool]. +> For addin compatible with [Cake Frosting] see [Cake.Frosting.Issues.Tap](https://www.nuget.org/packages/Cake.Frosting.Issues.Tap). + +The TAP support for the Cake.Issues addin for Cake allows you to read Test Anything Protocol (TAP) compatible files. + +Cake.Issues redefines issue management within the Cake build system by offering a comprehensive, universal, and extensible solution. +The unique capabilities of the addins empower development teams to enforce coding standards, generate insightful reports, +seamlessly incorporate various linting tools, and streamlining the integration with pull requests. +With its [modular architecture] and extensive [set of aliases], Cake.Issues provides a future-proof infrastructure for issue management +in Cake builds, fostering a more efficient and adaptable development process. + +For more information and extensive documentation see the [Cake.Issues website](https://cakeissues.net). +For general information about the Cake build automation system see the [Cake website](http://cakebuild.net). + +## How to use + +Integrating Cake.Issues into your Cake build is straightforward. +With minimal setup, teams can enjoy the benefits of enhanced code quality management seamlessly integrated into their existing build pipeline. + +After adding the addin the TAP log file can be parsed: + +```csharp +Task("Analyze").Does(() => +{ + var logPath = @"c:\build\log.tap"; + var repoRootPath = @"c:\repo"; + + // Read issues. + var issues = + ReadIssues( + TapIssuesFromFilePath(logPath), + repoRootPath); + + Information("{0} issues are found.", issues.Count()); +}); +``` + +## Support & Discussion + +For questions and to discuss ideas & feature requests, use the [GitHub discussions on the Cake GitHub repository](https://github.com/cake-build/cake/discussions), under the [Extension Q&A](https://github.com/orgs/cake-build/discussions/categories/extension-q-a) category. + +## Contributing + +Contributions are welcome. See [Contribution Guidelines](https://github.com/cake-contrib/Cake.Issues/blob/develop/CONTRIBUTING.md). + +## License + +[MIT License - Copyright © Cake Issues contributors](LICENSE) + +Binary distributions for some addins contain third-party code which is licensed under its own respective license. +See [LICENSE](https://github.com/cake-contrib/Cake.Issues/blob/develop/LICENSE) for details. + +[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture +[set of aliases]: https://cakeissues.net/dsl/ +[Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting +[Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool diff --git a/nuspec/nuget/Cake.Issues.Tap.nuspec b/nuspec/nuget/Cake.Issues.Tap.nuspec new file mode 100644 index 000000000..d2435fb69 --- /dev/null +++ b/nuspec/nuget/Cake.Issues.Tap.nuspec @@ -0,0 +1,40 @@ + + + + Cake.Issues.Tap + Cake.Issues.Tap + 0.0.0 + Cake Issues contributors + pascalberger, cake-contrib + Support for reading TAP compatible files using the Cake.Issues addin for Cake Build Automation System + +The TAP support for the Cake.Issues addin for Cake allows you to read Test Anything Protocol (TAP) compatible files. + +This addin provides the aliases for reading issues from TAP compatible files and providing them to the Cake.Issues addin. +It also requires the core Cake.Issues addin. + +There are also additional addins for generating reports or posting issues to pull requests. + +See the Project Site for an overview of the whole ecosystem of addins for working with issues in Cake scripts. + +NOTE: +This is the version of the addin compatible with Cake Script Runners. +For addin compatible with Cake Frosting see Cake.Frosting.Issues.Tap. + + MIT + https://cakeissues.net + icon.png + false + + Copyright © Cake Issues contributors + cake cake-addin cake-issues cake-issueprovider linting tap + docs\README.md + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + + + + + + + + diff --git a/src/Cake.Issues.Tap.Tests/Cake.Issues.Tap.Tests.csproj b/src/Cake.Issues.Tap.Tests/Cake.Issues.Tap.Tests.csproj new file mode 100644 index 000000000..7525b1639 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Cake.Issues.Tap.Tests.csproj @@ -0,0 +1,19 @@ + + + Tests for the Cake.Issues.Tap addin + + + + + + + + + + + + + + + + diff --git a/src/Cake.Issues.Tap.Tests/LogFileFormat/GenericLogFileFormatTests.cs b/src/Cake.Issues.Tap.Tests/LogFileFormat/GenericLogFileFormatTests.cs new file mode 100644 index 000000000..63a47be40 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/LogFileFormat/GenericLogFileFormatTests.cs @@ -0,0 +1,132 @@ +namespace Cake.Issues.Tap.Tests.LogFileFormat; + +using Cake.Issues.Tap.LogFileFormat; + +public sealed class GenericLogFileFormatTests +{ + public sealed class TheCtor + { + [Fact] + public void Should_Throw_If_Log_Is_Null() + { + // Given / When + var result = Record.Exception(() => new GenericLogFileFormat(null)); + + // Then + result.IsArgumentNullException("log"); + } + } + + public sealed class TheReadIssuesMethod + { + [Fact] + public void Should_Read_Issue_Correct_For_Specification_File() + { + // Given + var fixture = new TapIssuesProviderFixture("specification.tap"); + + // When + var issues = fixture.ReadIssues().ToList(); + + // Then + issues.Count.ShouldBe(2); + + var issue = issues[0]; + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + "First line of the input valid", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .Create()); + + issue = issues[1]; + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + "Summarized correctly", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .Create()); + } + + [Fact] + public void Should_Read_Issue_Correct_For_Kubeconform_File_From_Invalid_Yaml() + { + // Given + var fixture = new TapIssuesProviderFixture("kubeconform-invalid.tap"); + + // When + var issues = fixture.ReadIssues().ToList(); + + // Then + issues.Count.ShouldBe(1); + + var issue = issues.Single(); + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + ".\\invalid.yaml (v1/ReplicationController//bob): problem validating schema. Check JSON formatting: jsonschema: '/spec/replicas' does not validate with https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master-standalone/replicationcontroller-v1.json#/properties/spec/properties/replicas/type: expected integer or null, but got string", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .Create()); + } + + [Fact] + public void Should_Read_Issue_Correct_For_Kubeconform_File_From_Valid_Yaml() + { + // Given + var fixture = new TapIssuesProviderFixture("kubeconform-valid.tap"); + + // When + var issues = fixture.ReadIssues().ToList(); + + // Then + issues.ShouldBeEmpty(); + } + + [Fact] + public void Should_Read_Issue_Correct_For_Kubeconform_File_From_Yaml_With_Invalid_List() + { + // Given + var fixture = new TapIssuesProviderFixture("kubeconform-list-invalid.tap"); + + // When + var issues = fixture.ReadIssues().ToList(); + + // Then + issues.Count.ShouldBe(1); + + var issue = issues.Single(); + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + ".\\list_invalid.yaml (v1/ReplicationController//bob): problem validating schema. Check JSON formatting: jsonschema: '/spec/replicas' does not validate with https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master-standalone/replicationcontroller-v1.json#/properties/spec/properties/replicas/type: expected integer or null, but got string", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .Create()); + } + + [Fact] + public void Should_Read_Issue_Correct_For_Kubeconform_File_From_Yaml_With_Missing_Api_Version() + { + // Given + var fixture = new TapIssuesProviderFixture("kubeconform-missing-apiversion.tap"); + + // When + var issues = fixture.ReadIssues().ToList(); + + // Then + issues.Count.ShouldBe(1); + + var issue = issues.Single(); + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + ".\\missing_apiversion.yaml: error while parsing: missing 'apiVersion' key", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .Create()); + } + } +} diff --git a/src/Cake.Issues.Tap.Tests/LogFileFormat/StylelintLogFileFormatTests.cs b/src/Cake.Issues.Tap.Tests/LogFileFormat/StylelintLogFileFormatTests.cs new file mode 100644 index 000000000..12264422a --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/LogFileFormat/StylelintLogFileFormatTests.cs @@ -0,0 +1,133 @@ +namespace Cake.Issues.Tap.Tests.LogFileFormat; + +using Cake.Issues.Tap.LogFileFormat; + +public sealed class StylelintLogFileFormatTests +{ + public sealed class TheCtor + { + [Fact] + public void Should_Throw_If_Log_Is_Null() + { + // Given / When + var result = Record.Exception(() => new StylelintLogFileFormat(null)); + + // Then + result.IsArgumentNullException("log"); + } + } + + public sealed class TheReadIssuesMethod + { + [Fact] + public void Should_Read_Issue_Correct_When_No_Warnings() + { + // Given + var fixture = new TapIssuesProviderFixture("no-warnings.tap"); + + // When + var issues = fixture.ReadIssues().ToList(); + + // Then + issues.Count.ShouldBe(0); + } + + [Fact] + public void Should_Read_Issue_Correct_When_Warnings() + { + // Given + var fixture = new TapIssuesProviderFixture("warnings.tap"); + + // When + var issues = fixture.ReadIssues().ToList(); + + // Then + issues.Count.ShouldBe(4); + + var issue = issues[0]; + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + "Unexpected bar", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .InFile("path/to/file1.css", 2, 3, 1, 3) + .WithPriority(IssuePriority.Error) + .OfRule("baz") + .Create()); + + issue = issues[1]; + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + "Unexpected foo", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .InFile("path/to/file2.css", 1, 2, 1, 3) + .WithPriority(IssuePriority.Error) + .OfRule("bar") + .Create()); + + issue = issues[2]; + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + "Unexpected foo", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .InFile("path/to/file2.css", 4, 5, 1, 3) + .WithPriority(IssuePriority.Error) + .OfRule("bar") + .Create()); + + issue = issues[3]; + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + "Unexpected foo 2", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .InFile("path/to/file2.css", 10, 11, 1, 2) + .WithPriority(IssuePriority.Error) + .OfRule("bar2") + .Create()); + } + + [Fact] + public void Should_Read_Issue_Correct_When_Parse_Error() + { + // Given + var fixture = new TapIssuesProviderFixture("parse-error.tap"); + + // When + var issues = fixture.ReadIssues().ToList(); + + // Then + issues.Count.ShouldBe(2); + + var issue = issues[0]; + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + "Cannot parse selector (parseError)", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .InFile("path/to/file.css", 1, 1) + .WithPriority(IssuePriority.Error) + .OfRule("parseError") + .Create()); + + issue = issues[1]; + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + "Unexpected foo", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .InFile("path/to/file.css", 2, 1) + .WithPriority(IssuePriority.Error) + .OfRule("unknown") + .Create()); + } + } +} diff --git a/src/Cake.Issues.Tap.Tests/LogFileFormat/TextlintLogFileFormatTests.cs b/src/Cake.Issues.Tap.Tests/LogFileFormat/TextlintLogFileFormatTests.cs new file mode 100644 index 000000000..15afaea5a --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/LogFileFormat/TextlintLogFileFormatTests.cs @@ -0,0 +1,47 @@ +namespace Cake.Issues.Tap.Tests.LogFileFormat; + +using Cake.Issues.Tap.LogFileFormat; + +public sealed class TextlintLogFileFormatTests +{ + public sealed class TheCtor + { + [Fact] + public void Should_Throw_If_Log_Is_Null() + { + // Given / When + var result = Record.Exception(() => new TextlintLogFileFormat(null)); + + // Then + result.IsArgumentNullException("log"); + } + } + + public sealed class TheReadIssuesMethod + { + [Fact] + public void Should_Read_Issue_Correct() + { + // Given + var fixture = new TapIssuesProviderFixture("textlint.tap"); + + // When + var issues = fixture.ReadIssues().ToList(); + + // Then + issues.Count.ShouldBe(1); + + var issue = issues[0]; + IssueChecker.Check( + issue, + IssueBuilder.NewIssue( + "Found TODO: '- [ ] Write usage instructions'", + "Cake.Issues.Tap.TapIssuesProvider", + "TAP") + .InFile(@"file.md", 3, 3) + .WithPriority(IssuePriority.Error) + .OfRule("no-todo") + .Create()); + } + } +} diff --git a/src/Cake.Issues.Tap.Tests/Properties/ProjectInfo.cs b/src/Cake.Issues.Tap.Tests/Properties/ProjectInfo.cs new file mode 100644 index 000000000..a7600a93d --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Properties/ProjectInfo.cs @@ -0,0 +1,13 @@ +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e8b8a9c1-c71c-4136-b879-d4959fbf78f3")] diff --git a/src/Cake.Issues.Tap.Tests/TapIssuesProviderFixture.cs b/src/Cake.Issues.Tap.Tests/TapIssuesProviderFixture.cs new file mode 100644 index 000000000..7983a5d09 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/TapIssuesProviderFixture.cs @@ -0,0 +1,15 @@ +namespace Cake.Issues.Tap.Tests; + +internal class TapIssuesProviderFixture + : BaseMultiFormatIssueProviderFixture + where T : BaseTapLogFileFormat +{ + public TapIssuesProviderFixture(string fileResourceName) + : base(fileResourceName) + { + this.ReadIssuesSettings = + new ReadIssuesSettings(@"c:\Source\Cake.Issues"); + } + + protected override string FileResourceNamespace => "Cake.Issues.Tap.Tests.Testfiles." + typeof(T).Name + "."; +} diff --git a/src/Cake.Issues.Tap.Tests/TapIssuesProviderTests.cs b/src/Cake.Issues.Tap.Tests/TapIssuesProviderTests.cs new file mode 100644 index 000000000..ef1f4260f --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/TapIssuesProviderTests.cs @@ -0,0 +1,117 @@ +namespace Cake.Issues.Tap.Tests; + +using Cake.Core.Diagnostics; +using Cake.Issues.Tap.LogFileFormat; + +public sealed class TapIssuesProviderTests +{ + public sealed class TheCtor + { + [Fact] + public void Should_Throw_If_Log_Is_Null() + { + // Given + ICakeLog log = null; + + // When + var result = Record.Exception(() => + new TapIssuesProvider( + log, + new TapIssuesSettings("Foo".ToByteArray(), new GenericLogFileFormat(new FakeLog())))); + + // Then + result.IsArgumentNullException("log"); + } + + [Fact] + public void Should_Throw_If_IssueProviderSettings_Are_Null() + { + var result = Record.Exception(() => + new TapIssuesProvider( + new FakeLog(), + null)); + + // Then + result.IsArgumentNullException("issueProviderSettings"); + } + } + + //public sealed class TheReadIssuesMethod + //{ + // [Fact] + // public void Should_Read_Issue_Correct_For_Specification_File() + // { + // // Given + // var fixture = new TapIssuesProviderFixture("specification.tap"); + + // // When + // var issues = fixture.ReadIssues().ToList(); + + // // Then + // issues.Count.ShouldBe(2); + // } + + // [Fact] + // public void Should_Read_Issue_Correct_For_Stylelint_File_Without_Warnings() + // { + // // Given + // var fixture = new TapIssuesProviderFixture("stylelint-no-warnings.tap"); + + // // When + // var issues = fixture.ReadIssues().ToList(); + + // // Then + // issues.Count.ShouldBe(0); + // } + + // [Fact] + // public void Should_Read_Issue_Correct_For_Stylelint_File_With_Warnings() + // { + // // Given + // var fixture = new TapIssuesProviderFixture("stylelint-warnings.tap"); + + // // When + // var issues = fixture.ReadIssues().ToList(); + + // // Then + // issues.Count.ShouldBe(2); + + // var issue = issues[0]; + // IssueChecker.Check( + // issue, + // IssueBuilder.NewIssue( + // "Message Foo.", + // "Cake.Issues.Tap.TapIssuesProvider", + // "TAP") + // .InFile("path/to/file1.css") + // //.OfRule("Rule Foo") + // //.WithPriority(IssuePriority.Error) + // .Create()); + + // issue = issues[1]; + // IssueChecker.Check( + // issue, + // IssueBuilder.NewIssue( + // "Message Foo.", + // "Cake.Issues.Tap.TapIssuesProvider", + // "TAP") + // .InFile("path/to/file2.css") + // //.OfRule("Rule Foo") + // //.WithPriority(IssuePriority.Error) + // .Create()); + // } + + // [Fact] + // public void Should_Read_Issue_Correct_For_Stylelint_File_With_Parse_Error() + // { + // // Given + // var fixture = new TapIssuesProviderFixture("stylelint-parse-error.tap"); + + // // When + // var issues = fixture.ReadIssues().ToList(); + + // // Then + // issues.Count.ShouldBe(1); + // } + //} +} diff --git a/src/Cake.Issues.Tap.Tests/TapIssuesSettingsTests.cs b/src/Cake.Issues.Tap.Tests/TapIssuesSettingsTests.cs new file mode 100644 index 000000000..bf53e0b17 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/TapIssuesSettingsTests.cs @@ -0,0 +1,115 @@ +namespace Cake.Issues.Tap.Tests; + +using Cake.Core.IO; +using Cake.Issues.Tap.LogFileFormat; + +public sealed class TapIssuesSettingsTests +{ + public sealed class TheCtor + { + [Fact] + public void Should_Throw_If_LogFilePath_Is_Null() + { + // Given + FilePath logFilePath = null; + var format = new GenericLogFileFormat(new FakeLog()); + + // When + var result = Record.Exception(() => + new TapIssuesSettings(logFilePath, format)); + + // Then + result.IsArgumentNullException("logFilePath"); + } + + [Fact] + public void Should_Throw_If_Format_For_LogFilePath_Is_Null() + { + // Given + BaseTapLogFileFormat format = null; + + using (var tempFile = new ResourceTempFile("Cake.Issues.Tap.Tests.Testfiles.GenericLogFileFormat.specification.tap")) + { + // When + var result = Record.Exception(() => + new TapIssuesSettings(tempFile.FileName, format)); + + // Then + result.IsArgumentNullException("format"); + } + } + + [Fact] + public void Should_Throw_If_LogFileContent_Is_Null() + { + // Given + byte[] logFileContent = null; + var format = new GenericLogFileFormat(new FakeLog()); + + // When + var result = Record.Exception(() => + new TapIssuesSettings(logFileContent, format)); + + // Then + result.IsArgumentNullException("logFileContent"); + } + + [Fact] + public void Should_Throw_If_Format_For_LogFileContent_Is_Null() + { + // Given + var logFileContent = "foo".ToByteArray(); + BaseTapLogFileFormat format = null; + + // When + var result = Record.Exception(() => + new TapIssuesSettings(logFileContent, format)); + + // Then + result.IsArgumentNullException("format"); + } + + [Fact] + public void Should_Set_LogFileContent() + { + // Given + var logFileContent = "Foo".ToByteArray(); + var format = new GenericLogFileFormat(new FakeLog()); + + // When + var settings = new TapIssuesSettings(logFileContent, format); + + // Then + settings.LogFileContent.ShouldBe(logFileContent); + } + + [Fact] + public void Should_Set_LogFileContent_If_Empty() + { + // Given + byte[] logFileContent = []; + var format = new GenericLogFileFormat(new FakeLog()); + + // When + var settings = new TapIssuesSettings(logFileContent, format); + + // Then + settings.LogFileContent.ShouldBe(logFileContent); + } + + [Fact] + public void Should_Set_LogFileContent_From_LogFilePath() + { + // Given + var format = new GenericLogFileFormat(new FakeLog()); + using (var tempFile = new ResourceTempFile("Cake.Issues.Tap.Tests.Testfiles.GenericLogFileFormat.specification.tap")) + { + // When + var settings = new TapIssuesSettings(tempFile.FileName, format); + + // Then + settings.LogFileContent.ShouldBe(tempFile.Content); + } + } + } +} diff --git a/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-invalid.tap b/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-invalid.tap new file mode 100644 index 000000000..ebb8053d4 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-invalid.tap @@ -0,0 +1,3 @@ +TAP version 13 +not ok 1 - .\invalid.yaml (v1/ReplicationController//bob): problem validating schema. Check JSON formatting: jsonschema: '/spec/replicas' does not validate with https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master-standalone/replicationcontroller-v1.json#/properties/spec/properties/replicas/type: expected integer or null, but got string +1..1 diff --git a/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-list-invalid.tap b/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-list-invalid.tap new file mode 100644 index 000000000..57a1775cb --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-list-invalid.tap @@ -0,0 +1,4 @@ +TAP version 13 +ok 1 - .\list_invalid.yaml (v1/Service//redis-master) +not ok 2 - .\list_invalid.yaml (v1/ReplicationController//bob): problem validating schema. Check JSON formatting: jsonschema: '/spec/replicas' does not validate with https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master-standalone/replicationcontroller-v1.json#/properties/spec/properties/replicas/type: expected integer or null, but got string +1..2 diff --git a/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-missing-apiversion.tap b/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-missing-apiversion.tap new file mode 100644 index 000000000..f7d0ea6e0 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-missing-apiversion.tap @@ -0,0 +1,3 @@ +TAP version 13 +not ok 1 - .\missing_apiversion.yaml: error while parsing: missing 'apiVersion' key +1..1 diff --git a/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-valid.tap b/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-valid.tap new file mode 100644 index 000000000..05c7ec453 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/kubeconform-valid.tap @@ -0,0 +1,3 @@ +TAP version 13 +ok 1 - .\valid.yaml (v1/ReplicationController//bob) +1..1 diff --git a/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/specification.tap b/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/specification.tap new file mode 100644 index 000000000..75ed01047 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Testfiles/GenericLogFileFormat/specification.tap @@ -0,0 +1,17 @@ +TAP version 14 +1..4 +ok 1 - Input file opened +not ok 2 - First line of the input valid + --- + message: 'First line invalid' + severity: fail + data: + got: 'Flirble' + expect: 'Fnible' + ... +ok 3 - Read the rest of the file +not ok 4 - Summarized correctly # TODO Not written yet + --- + message: "Can't make summary yet" + severity: todo + ... \ No newline at end of file diff --git a/src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/no-warnings.tap b/src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/no-warnings.tap new file mode 100644 index 000000000..4aa86a61d --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/no-warnings.tap @@ -0,0 +1,3 @@ +TAP version 14 +1..1 +ok 1 - path/to/file.css diff --git a/src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/parse-error.tap b/src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/parse-error.tap new file mode 100644 index 000000000..3b10f831b --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/parse-error.tap @@ -0,0 +1,15 @@ +TAP version 14 +1..1 +not ok 1 - path/to/file.css + --- + parseError: + - message: "Cannot parse selector (parseError)" + severity: error + line: 1 + column: 1 + unknown: + - message: "Unexpected foo" + severity: error + line: 2 + column: 1 + ... diff --git a/src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/warnings.tap b/src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/warnings.tap new file mode 100644 index 000000000..52e8fa443 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Testfiles/StylelintLogFileFormat/warnings.tap @@ -0,0 +1,35 @@ +TAP version 14 +1..2 +not ok 1 - path/to/file1.css + --- + baz: + - message: "Unexpected bar" + severity: error + line: 2 + column: 1 + endLine: 3 + endColumn: 3 + ... +not ok 2 - path/to/file2.css + --- + bar: + - message: "Unexpected foo" + severity: error + line: 1 + column: 1 + endLine: 2 + endColumn: 3 + - message: "Unexpected foo" + severity: error + line: 4 + column: 1 + endLine: 5 + endColumn: 3 + bar2: + - message: "Unexpected foo 2" + severity: error + line: 10 + column: 1 + endLine: 11 + endColumn: 2 + ... diff --git a/src/Cake.Issues.Tap.Tests/Testfiles/TextlintLogFileFormat/textlint.tap b/src/Cake.Issues.Tap.Tests/Testfiles/TextlintLogFileFormat/textlint.tap new file mode 100644 index 000000000..67ec93c48 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/Testfiles/TextlintLogFileFormat/textlint.tap @@ -0,0 +1,11 @@ +TAP version 13 +1..1 +not ok 1 - c:\Source\Cake.Issues\file.md + --- + message: 'Found TODO: ''- [ ] Write usage instructions''' + severity: error + data: + line: 3 + column: 3 + ruleId: no-todo + ... diff --git a/src/Cake.Issues.Tap.Tests/packages.lock.json b/src/Cake.Issues.Tap.Tests/packages.lock.json new file mode 100644 index 000000000..f96580656 --- /dev/null +++ b/src/Cake.Issues.Tap.Tests/packages.lock.json @@ -0,0 +1,543 @@ +{ + "version": 2, + "dependencies": { + "net8.0": { + "coverlet.msbuild": { + "type": "Direct", + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" + }, + "Microsoft.CodeAnalysis.NetAnalyzers": { + "type": "Direct", + "requested": "[9.0.0, )", + "resolved": "9.0.0", + "contentHash": "JajbvkrBgtdRghavIjcJuNHMOja4lqBmEezbhZyqWPYh2cpLhT5mPpfC7NQVDO4IehWQum9t/nwF4v+qQGtYWg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.12.0, )", + "resolved": "17.12.0", + "contentHash": "kt/PKBZ91rFCWxVIJZSgVLk+YR+4KxTuHf799ho8WNiK5ZQpJNAEZCAWX86vcKrs+DiYjiibpYKdGZP6+/N17w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.12.0", + "Microsoft.TestPlatform.TestHost": "17.12.0" + } + }, + "Microsoft.SourceLink.GitHub": { + "type": "Direct", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", + "dependencies": { + "Microsoft.Build.Tasks.Git": "8.0.0", + "Microsoft.SourceLink.Common": "8.0.0" + } + }, + "Shouldly": { + "type": "Direct", + "requested": "[4.2.1, )", + "resolved": "4.2.1", + "contentHash": "dKAKiSuhLKqD2TXwLKtqNg1nwzJcIKOOMncZjk9LYe4W+h+SCftpWdxwR79YZUIHMH+3Vu9s0s0UHNrgICLwRQ==", + "dependencies": { + "DiffEngine": "11.3.0", + "EmptyFiles": "4.4.0" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.9.2, )", + "resolved": "2.9.2", + "contentHash": "7LhFS2N9Z6Xgg8aE5lY95cneYivRMfRI8v+4PATa4S64D5Z/Plkg0qa8dTRHSiGRgVZ/CL2gEfJDE5AUhOX+2Q==", + "dependencies": { + "xunit.analyzers": "1.16.0", + "xunit.assert": "2.9.2", + "xunit.core": "[2.9.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[3.0.0, )", + "resolved": "3.0.0", + "contentHash": "HggUqjQJe8PtDxcP25Q+CnR6Lz4oX3GElhD9V4oU2+75x9HI6A6sxbfKGS4UwU4t4yJaS9fBmAuriz8bQApNjw==" + }, + "Xunit.SkippableFact": { + "type": "Direct", + "requested": "[1.5.23, )", + "resolved": "1.5.23", + "contentHash": "JlKobLTlsGcuJ8OtoodxL63bUagHSVBnF+oQ2GgnkwNqK+XYjeYyhQasULi5Ebx1MNDGNbOMplQYr89mR+nItQ==", + "dependencies": { + "Validation": "2.5.51", + "xunit.extensibility.execution": "2.4.0" + } + }, + "DiffEngine": { + "type": "Transitive", + "resolved": "11.3.0", + "contentHash": "k0ZgZqd09jLZQjR8FyQbSQE86Q7QZnjEzq1LPHtj1R2AoWO8sjV5x+jlSisL7NZAbUOI4y+7Bog8gkr9WIRBGw==", + "dependencies": { + "EmptyFiles": "4.4.0", + "System.Management": "6.0.1" + } + }, + "EmptyFiles": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "gwJEfIGS7FhykvtZoscwXj/XwW+mJY6UbAZk+qtLKFUGWC95kfKXnj8VkxsZQnWBxJemM/q664rGLN5nf+OHZw==" + }, + "Microsoft.Build.Tasks.Git": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.12.0", + "contentHash": "4svMznBd5JM21JIG2xZKGNanAHNXplxf/kQDFfLHXQ3OnpJkayRK/TjacFjA+EYmoyuNXHo/sOETEfcYtAzIrA==" + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "7.0.4", + "contentHash": "yLEHlNN7O5WiND89r42sepgVwy5W/ZoTiFEdJDV7MHR1lW02LL7Nipz2TD5qM/Kx9W3/k3NP+PAP2qUdOm+leg==" + }, + "Microsoft.SourceLink.Common": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.12.0", + "contentHash": "TDqkTKLfQuAaPcEb3pDDWnh7b3SyZF+/W9OZvWFp6eJCIiiYFdSB6taE2I6tWrFw5ywhzOb6sreoGJTI6m3rSQ==", + "dependencies": { + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.12.0", + "contentHash": "MiPEJQNyADfwZ4pJNpQex+t9/jOClBGMiCiVVFuELCMSX2nmNfvUor3uFVxNNCg30uxDP8JDYfPnMXQzsfzYyg==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.12.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.CodeDom": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA==" + }, + "System.Management": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "10J1D0h/lioojphfJ4Fuh5ZUThT/xOVHdV9roGBittKKNP2PMjrvibEdbVTGZcPra1399Ja3tqIJLyQrc5Wmhg==", + "dependencies": { + "System.CodeDom": "6.0.0" + } + }, + "System.Reflection.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "Validation": { + "type": "Transitive", + "resolved": "2.5.51", + "contentHash": "g/Aug7PVWaenlJ0QUyt/mEetngkQNsMCuNeRVXbcJED1nZS7JcK+GTU4kz3jcQ7bFuKfi8PF4ExXH7XSFNuSLQ==" + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.16.0", + "contentHash": "hptYM7vGr46GUIgZt21YHO4rfuBAQS2eINbFo16CV/Dqq+24Tp+P5gDCACu1AbFfW4Sp/WRfDPSK8fmUUb8s0Q==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.9.2", + "contentHash": "QkNBAQG4pa66cholm28AxijBjrmki98/vsEh4Sx5iplzotvPgpiotcxqJQMRC8d7RV7nIT8ozh97957hDnZwsQ==" + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.9.2", + "contentHash": "O6RrNSdmZ0xgEn5kT927PNwog5vxTtKrWMihhhrT0Sg9jQ7iBDciYOwzBgP2krBEk5/GBXI18R1lKvmnxGcb4w==", + "dependencies": { + "xunit.extensibility.core": "[2.9.2]", + "xunit.extensibility.execution": "[2.9.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.9.2", + "contentHash": "Ol+KlBJz1x8BrdnhN2DeOuLrr1I/cTwtHCggL9BvYqFuVd/TUSzxNT5O0NxCIXth30bsKxgMfdqLTcORtM52yQ==", + "dependencies": { + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.9.2", + "contentHash": "rKMpq4GsIUIJibXuZoZ8lYp5EpROlnYaRpwu9Zr0sRZXE7JqJfEEbCsUriZqB+ByXCLFBJyjkTRULMdC+U566g==", + "dependencies": { + "xunit.extensibility.core": "[2.9.2]" + } + }, + "cake.issues": { + "type": "Project", + "dependencies": { + "Cake.Core": "[5.0.0, )" + } + }, + "cake.issues.tap": { + "type": "Project", + "dependencies": { + "Cake.Issues": "[1.0.0, )", + "YamlDotNet": "[16.3.0, )" + } + }, + "cake.issues.testing": { + "type": "Project", + "dependencies": { + "Cake.Issues": "[1.0.0, )", + "Cake.Testing": "[5.0.0, )" + } + }, + "Cake.Core": { + "type": "CentralTransitive", + "requested": "[5.0.0, )", + "resolved": "5.0.0", + "contentHash": "hq0HlI6bdRoMjUQTKioVjJZxQRxT7SuIjLjfTXO7fWe/alEU4OJumxq6LhTqz06pTRC7e5OrQqXyGKJnq5I+rw==", + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Microsoft.NETCore.Platforms": "7.0.4", + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "Cake.Testing": { + "type": "CentralTransitive", + "requested": "[5.0.0, )", + "resolved": "5.0.0", + "contentHash": "oEERVvRww03yd54aFtbSFYc7w4xou9X1An8za8JVOM8JvOhp8mNqh53a4+ogJ9qVOgTSFzK/MvbVfZQNeJECjg==", + "dependencies": { + "Cake.Core": "5.0.0", + "Microsoft.CSharp": "4.7.0", + "Microsoft.NETCore.Platforms": "7.0.4", + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "Microsoft.CSharp": { + "type": "CentralTransitive", + "requested": "[4.7.0, )", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Newtonsoft.Json": { + "type": "CentralTransitive", + "requested": "[13.0.1, )", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "YamlDotNet": { + "type": "CentralTransitive", + "requested": "[16.3.0, )", + "resolved": "16.3.0", + "contentHash": "SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==" + } + }, + "net9.0": { + "coverlet.msbuild": { + "type": "Direct", + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "QptuqnNCaVlSJcO4lfAPv+9X1Ke+TW216HYD5gSkSb1mbK4K+di1MtsWa3zGCAjnTHDN2TvWVs/Wuw6+mQDhhA==" + }, + "Microsoft.CodeAnalysis.NetAnalyzers": { + "type": "Direct", + "requested": "[9.0.0, )", + "resolved": "9.0.0", + "contentHash": "JajbvkrBgtdRghavIjcJuNHMOja4lqBmEezbhZyqWPYh2cpLhT5mPpfC7NQVDO4IehWQum9t/nwF4v+qQGtYWg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.12.0, )", + "resolved": "17.12.0", + "contentHash": "kt/PKBZ91rFCWxVIJZSgVLk+YR+4KxTuHf799ho8WNiK5ZQpJNAEZCAWX86vcKrs+DiYjiibpYKdGZP6+/N17w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.12.0", + "Microsoft.TestPlatform.TestHost": "17.12.0" + } + }, + "Microsoft.SourceLink.GitHub": { + "type": "Direct", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", + "dependencies": { + "Microsoft.Build.Tasks.Git": "8.0.0", + "Microsoft.SourceLink.Common": "8.0.0" + } + }, + "Shouldly": { + "type": "Direct", + "requested": "[4.2.1, )", + "resolved": "4.2.1", + "contentHash": "dKAKiSuhLKqD2TXwLKtqNg1nwzJcIKOOMncZjk9LYe4W+h+SCftpWdxwR79YZUIHMH+3Vu9s0s0UHNrgICLwRQ==", + "dependencies": { + "DiffEngine": "11.3.0", + "EmptyFiles": "4.4.0" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.9.2, )", + "resolved": "2.9.2", + "contentHash": "7LhFS2N9Z6Xgg8aE5lY95cneYivRMfRI8v+4PATa4S64D5Z/Plkg0qa8dTRHSiGRgVZ/CL2gEfJDE5AUhOX+2Q==", + "dependencies": { + "xunit.analyzers": "1.16.0", + "xunit.assert": "2.9.2", + "xunit.core": "[2.9.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[3.0.0, )", + "resolved": "3.0.0", + "contentHash": "HggUqjQJe8PtDxcP25Q+CnR6Lz4oX3GElhD9V4oU2+75x9HI6A6sxbfKGS4UwU4t4yJaS9fBmAuriz8bQApNjw==" + }, + "Xunit.SkippableFact": { + "type": "Direct", + "requested": "[1.5.23, )", + "resolved": "1.5.23", + "contentHash": "JlKobLTlsGcuJ8OtoodxL63bUagHSVBnF+oQ2GgnkwNqK+XYjeYyhQasULi5Ebx1MNDGNbOMplQYr89mR+nItQ==", + "dependencies": { + "Validation": "2.5.51", + "xunit.extensibility.execution": "2.4.0" + } + }, + "DiffEngine": { + "type": "Transitive", + "resolved": "11.3.0", + "contentHash": "k0ZgZqd09jLZQjR8FyQbSQE86Q7QZnjEzq1LPHtj1R2AoWO8sjV5x+jlSisL7NZAbUOI4y+7Bog8gkr9WIRBGw==", + "dependencies": { + "EmptyFiles": "4.4.0", + "System.Management": "6.0.1" + } + }, + "EmptyFiles": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "gwJEfIGS7FhykvtZoscwXj/XwW+mJY6UbAZk+qtLKFUGWC95kfKXnj8VkxsZQnWBxJemM/q664rGLN5nf+OHZw==" + }, + "Microsoft.Build.Tasks.Git": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.12.0", + "contentHash": "4svMznBd5JM21JIG2xZKGNanAHNXplxf/kQDFfLHXQ3OnpJkayRK/TjacFjA+EYmoyuNXHo/sOETEfcYtAzIrA==" + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "7.0.4", + "contentHash": "yLEHlNN7O5WiND89r42sepgVwy5W/ZoTiFEdJDV7MHR1lW02LL7Nipz2TD5qM/Kx9W3/k3NP+PAP2qUdOm+leg==" + }, + "Microsoft.SourceLink.Common": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.12.0", + "contentHash": "TDqkTKLfQuAaPcEb3pDDWnh7b3SyZF+/W9OZvWFp6eJCIiiYFdSB6taE2I6tWrFw5ywhzOb6sreoGJTI6m3rSQ==", + "dependencies": { + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.12.0", + "contentHash": "MiPEJQNyADfwZ4pJNpQex+t9/jOClBGMiCiVVFuELCMSX2nmNfvUor3uFVxNNCg30uxDP8JDYfPnMXQzsfzYyg==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.12.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.CodeDom": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA==" + }, + "System.Management": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "10J1D0h/lioojphfJ4Fuh5ZUThT/xOVHdV9roGBittKKNP2PMjrvibEdbVTGZcPra1399Ja3tqIJLyQrc5Wmhg==", + "dependencies": { + "System.CodeDom": "6.0.0" + } + }, + "System.Reflection.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "Validation": { + "type": "Transitive", + "resolved": "2.5.51", + "contentHash": "g/Aug7PVWaenlJ0QUyt/mEetngkQNsMCuNeRVXbcJED1nZS7JcK+GTU4kz3jcQ7bFuKfi8PF4ExXH7XSFNuSLQ==" + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.16.0", + "contentHash": "hptYM7vGr46GUIgZt21YHO4rfuBAQS2eINbFo16CV/Dqq+24Tp+P5gDCACu1AbFfW4Sp/WRfDPSK8fmUUb8s0Q==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.9.2", + "contentHash": "QkNBAQG4pa66cholm28AxijBjrmki98/vsEh4Sx5iplzotvPgpiotcxqJQMRC8d7RV7nIT8ozh97957hDnZwsQ==" + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.9.2", + "contentHash": "O6RrNSdmZ0xgEn5kT927PNwog5vxTtKrWMihhhrT0Sg9jQ7iBDciYOwzBgP2krBEk5/GBXI18R1lKvmnxGcb4w==", + "dependencies": { + "xunit.extensibility.core": "[2.9.2]", + "xunit.extensibility.execution": "[2.9.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.9.2", + "contentHash": "Ol+KlBJz1x8BrdnhN2DeOuLrr1I/cTwtHCggL9BvYqFuVd/TUSzxNT5O0NxCIXth30bsKxgMfdqLTcORtM52yQ==", + "dependencies": { + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.9.2", + "contentHash": "rKMpq4GsIUIJibXuZoZ8lYp5EpROlnYaRpwu9Zr0sRZXE7JqJfEEbCsUriZqB+ByXCLFBJyjkTRULMdC+U566g==", + "dependencies": { + "xunit.extensibility.core": "[2.9.2]" + } + }, + "cake.issues": { + "type": "Project", + "dependencies": { + "Cake.Core": "[5.0.0, )" + } + }, + "cake.issues.tap": { + "type": "Project", + "dependencies": { + "Cake.Issues": "[1.0.0, )", + "YamlDotNet": "[16.3.0, )" + } + }, + "cake.issues.testing": { + "type": "Project", + "dependencies": { + "Cake.Issues": "[1.0.0, )", + "Cake.Testing": "[5.0.0, )" + } + }, + "Cake.Core": { + "type": "CentralTransitive", + "requested": "[5.0.0, )", + "resolved": "5.0.0", + "contentHash": "hq0HlI6bdRoMjUQTKioVjJZxQRxT7SuIjLjfTXO7fWe/alEU4OJumxq6LhTqz06pTRC7e5OrQqXyGKJnq5I+rw==", + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Microsoft.NETCore.Platforms": "7.0.4", + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "Cake.Testing": { + "type": "CentralTransitive", + "requested": "[5.0.0, )", + "resolved": "5.0.0", + "contentHash": "oEERVvRww03yd54aFtbSFYc7w4xou9X1An8za8JVOM8JvOhp8mNqh53a4+ogJ9qVOgTSFzK/MvbVfZQNeJECjg==", + "dependencies": { + "Cake.Core": "5.0.0", + "Microsoft.CSharp": "4.7.0", + "Microsoft.NETCore.Platforms": "7.0.4", + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "Microsoft.CSharp": { + "type": "CentralTransitive", + "requested": "[4.7.0, )", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Newtonsoft.Json": { + "type": "CentralTransitive", + "requested": "[13.0.1, )", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "YamlDotNet": { + "type": "CentralTransitive", + "requested": "[16.3.0, )", + "resolved": "16.3.0", + "contentHash": "SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==" + } + } + } +} \ No newline at end of file diff --git a/src/Cake.Issues.Tap/BaseTapLogFileFormat.cs b/src/Cake.Issues.Tap/BaseTapLogFileFormat.cs new file mode 100644 index 000000000..289577f98 --- /dev/null +++ b/src/Cake.Issues.Tap/BaseTapLogFileFormat.cs @@ -0,0 +1,12 @@ +namespace Cake.Issues.Tap; + +using Cake.Core.Diagnostics; + +/// +/// Base class for all log file formats supported by the TAP issue provider. +/// +/// The Cake log instance. +public abstract class BaseTapLogFileFormat(ICakeLog log) + : BaseLogFileFormat(log) +{ +} diff --git a/src/Cake.Issues.Tap/Cake.Issues.Tap.csproj b/src/Cake.Issues.Tap/Cake.Issues.Tap.csproj new file mode 100644 index 000000000..bbdd00091 --- /dev/null +++ b/src/Cake.Issues.Tap/Cake.Issues.Tap.csproj @@ -0,0 +1,17 @@ + + + Support for TAP compatible files for the Cake.Issues Addin for Cake Build Automation System + + + + true + + + + + + + + + + \ No newline at end of file diff --git a/src/Cake.Issues.Tap/LogFileFormat/GenericLogFileFormat.cs b/src/Cake.Issues.Tap/LogFileFormat/GenericLogFileFormat.cs new file mode 100644 index 000000000..d4970b0a3 --- /dev/null +++ b/src/Cake.Issues.Tap/LogFileFormat/GenericLogFileFormat.cs @@ -0,0 +1,42 @@ +namespace Cake.Issues.Tap.LogFileFormat; + +using System.Collections.Generic; +using System.Linq; +using Cake.Core.Diagnostics; +using Cake.Issues.Tap.Parser; + +/// +/// Generic log file format for parsing TAP files. +/// Ignores any tooling specific information in YAML blocks and just reads the issues. +/// +/// The Cake log instance. +internal class GenericLogFileFormat(ICakeLog log) + : BaseTapLogFileFormat(log) +{ + /// + public override IEnumerable ReadIssues( + TapIssuesProvider issueProvider, + IRepositorySettings repositorySettings, + TapIssuesSettings tapIssuesSettings) + { + issueProvider.NotNull(); + repositorySettings.NotNull(); + tapIssuesSettings.NotNull(); + + var result = new List(); + + var parser = new TapParser(); + parser.Parse(tapIssuesSettings.LogFileContent.RemovePreamble().ToStringUsingEncoding()); + + foreach (var tapResult in parser.Results.Where(x => !x.TestStatus)) + { + // Build issue. + var issueBuilder = + IssueBuilder + .NewIssue(tapResult.Description, issueProvider); + result.Add(issueBuilder.Create()); + } + + return result; + } +} diff --git a/src/Cake.Issues.Tap/LogFileFormat/StylelintLogFileFormat.cs b/src/Cake.Issues.Tap/LogFileFormat/StylelintLogFileFormat.cs new file mode 100644 index 000000000..fc346b184 --- /dev/null +++ b/src/Cake.Issues.Tap/LogFileFormat/StylelintLogFileFormat.cs @@ -0,0 +1,68 @@ +namespace Cake.Issues.Tap.LogFileFormat; + +using System.Collections.Generic; +using System.Linq; +using Cake.Core.Diagnostics; +using Cake.Issues.Tap.Parser; + +/// +/// Log file format for parsing TAP files as written by Stylelint. +/// +/// The Cake log instance. +internal class StylelintLogFileFormat(ICakeLog log) + : BaseTapLogFileFormat(log) +{ + /// + public override IEnumerable ReadIssues( + TapIssuesProvider issueProvider, + IRepositorySettings repositorySettings, + TapIssuesSettings tapIssuesSettings) + { + issueProvider.NotNull(); + repositorySettings.NotNull(); + tapIssuesSettings.NotNull(); + + var result = new List(); + + var parser = new TapParser(); + parser.Parse(tapIssuesSettings.LogFileContent.RemovePreamble().ToStringUsingEncoding()); + + foreach (var tapResult in parser.Results.Where(x => !x.TestStatus)) + { + foreach (var diagnosticKey in tapResult.Diagnostics.Keys) + { + if (tapResult.Diagnostics[diagnosticKey] is List diagnosticList) + { + foreach (var diagnostic in diagnosticList) + { + if (diagnostic is Dictionary diagnosticDict) + { + // Build issue. + var issueBuilder = + IssueBuilder + .NewIssue(diagnosticDict["message"].ToString(), issueProvider) + .InFile( + tapResult.Description.ToString(), + diagnosticDict.ContainsKey("line") ? int.Parse(diagnosticDict["line"].ToString()) : null, + diagnosticDict.ContainsKey("endLine") ? int.Parse(diagnosticDict["endLine"].ToString()) : null, + diagnosticDict.ContainsKey("column") ? int.Parse(diagnosticDict["column"].ToString()) : null, + diagnosticDict.ContainsKey("endColumn") ? int.Parse(diagnosticDict["endColumn"].ToString()) : null) + .OfRule(diagnosticKey) + .WithPriority(GetPriority(diagnosticDict["severity"].ToString())); + result.Add(issueBuilder.Create()); + } + } + } + } + } + + return result; + } + + private static IssuePriority GetPriority(string severity) => severity switch + { + "error" => IssuePriority.Error, + "warning" => IssuePriority.Warning, + _ => IssuePriority.Undefined, + }; +} diff --git a/src/Cake.Issues.Tap/LogFileFormat/TextlintLogFileFormat.cs b/src/Cake.Issues.Tap/LogFileFormat/TextlintLogFileFormat.cs new file mode 100644 index 000000000..9a93848c7 --- /dev/null +++ b/src/Cake.Issues.Tap/LogFileFormat/TextlintLogFileFormat.cs @@ -0,0 +1,65 @@ +namespace Cake.Issues.Tap.LogFileFormat; + +using System.Collections.Generic; +using System.Linq; +using Cake.Core.Diagnostics; +using Cake.Issues.Tap.Parser; + +/// +/// Log file format for parsing TAP files as written by Textlint. +/// +/// The Cake log instance. +internal class TextlintLogFileFormat(ICakeLog log) + : BaseTapLogFileFormat(log) +{ + /// + public override IEnumerable ReadIssues( + TapIssuesProvider issueProvider, + IRepositorySettings repositorySettings, + TapIssuesSettings tapIssuesSettings) + { + issueProvider.NotNull(); + repositorySettings.NotNull(); + tapIssuesSettings.NotNull(); + + var result = new List(); + + var parser = new TapParser(); + parser.Parse(tapIssuesSettings.LogFileContent.RemovePreamble().ToStringUsingEncoding()); + + foreach (var tapResult in parser.Results.Where(x => !x.TestStatus)) + { + var dataDict = tapResult.Diagnostics["data"] as Dictionary; + + // Make path relative to repository root. + var filePath = tapResult.Description.ToString(); + filePath = filePath.MakeFilePathRelativeToRepositoryRoot(repositorySettings); + + // Build issue. + var issueBuilder = + IssueBuilder + .NewIssue(tapResult.Diagnostics["message"].ToString(), issueProvider) + .InFile( + filePath, + dataDict != null && dataDict.ContainsKey("line") ? int.Parse(dataDict["line"].ToString()) : null, + dataDict != null && dataDict.ContainsKey("column") ? int.Parse(dataDict["column"].ToString()) : null) + .WithPriority(GetPriority(tapResult.Diagnostics["severity"].ToString())); + + if (dataDict != null && dataDict.ContainsKey("line")) + { + issueBuilder = issueBuilder.OfRule(dataDict["ruleId"].ToString()); + } + + result.Add(issueBuilder.Create()); + } + + return result; + } + + private static IssuePriority GetPriority(string severity) => severity switch + { + "error" => IssuePriority.Error, + "warning" => IssuePriority.Warning, + _ => IssuePriority.Undefined, + }; +} diff --git a/src/Cake.Issues.Tap/Parser/TapParser.cs b/src/Cake.Issues.Tap/Parser/TapParser.cs new file mode 100644 index 000000000..8b92e88b3 --- /dev/null +++ b/src/Cake.Issues.Tap/Parser/TapParser.cs @@ -0,0 +1,184 @@ +namespace Cake.Issues.Tap.Parser; + +using System; +using System.Collections.Generic; +using System.Text.RegularExpressions; +using YamlDotNet.Serialization; +using YamlDotNet.Serialization.NamingConventions; + +/// +/// Parser for issues reported in TAP format. +/// +internal partial class TapParser +{ + /// + /// Gets the start of the test plan. + /// + public int? PlanStart { get; private set; } + + /// + /// Gets the end of the test plan. + /// + public int? PlanEnd { get; private set; } + + /// + /// Gets the test points of the test plan. + /// + public List Results { get; private set; } = []; + + /// + /// Gets the comments in the TAP file. + /// + public List Comments { get; private set; } = []; + + /// + /// Parses the content of a TAP file. + /// + /// Content of the TAP file. + public void Parse(string tapContent) + { + tapContent.NotNullOrEmpty(); + + var lines = tapContent.Split(['\r', '\n'], StringSplitOptions.RemoveEmptyEntries); + var firstLine = lines[0]; + + if (!VersionRegEx().IsMatch(firstLine)) + { + throw new Exception($"Missing or invalid TAP version declaration. First line is: {firstLine}"); + } + + var match = VersionRegEx().Match(firstLine); + var version = int.Parse(match.Groups[1].Value); + + switch (version) + { + case 14: + this.ParseVersion14(lines); + break; + case 13: + // TAP version 13 should be compatible with version 14. + this.ParseVersion14(lines); + break; + default: + throw new Exception($"Unsupported TAP version {version}. Expected version 14."); + } + } + + [GeneratedRegex(@"^TAP version (\d+)$")] + private static partial Regex VersionRegEx(); + + [GeneratedRegex(@"^\d+\.\.\d+$")] + private static partial Regex PlanRegEx14(); + + [GeneratedRegex(@"^(ok|not ok)\s*(\d+)?\s*-?\s*(.*?)(# (TODO|SKIP)(\S*)\s+(.*))?$")] + private static partial Regex ResultRegEx14(); + + [GeneratedRegex(@"^#\s*(.*)$")] + private static partial Regex CommentRegEx14(); + + /// + /// Parses the content of a TAP file. + /// + /// Content of the TAP file. + private void ParseVersion14(string[] lines) + { + var planParsed = false; + var insideYaml = false; + List yamlLines = null; + + foreach (var line in lines) + { + if (insideYaml) + { + if (line.Trim() == "...") + { + insideYaml = false; + this.ParseYamlVersion14(yamlLines); + yamlLines = null; + } + else + { + yamlLines.Add(line); + } + + continue; + } + + if (PlanRegEx14().IsMatch(line)) + { + if (planParsed) + { + throw new Exception("Multiple plans found"); + } + + var parts = line.Split(".."); + this.PlanStart = int.Parse(parts[0]); + this.PlanEnd = int.Parse(parts[1]); + planParsed = true; + } + else if (ResultRegEx14().IsMatch(line)) + { + var match = ResultRegEx14().Match(line); + var directive = match.Groups[5].Value; + var explanation = match.Groups[7].Value.Trim(); + var result = new TapTestPoint + { + TestStatus = match.Groups[1].Value == "ok", + TestPointID = match.Groups[2].Success ? int.Parse(match.Groups[2].Value) : null, + Description = match.Groups[3].Value.Trim(), + IsTodo = directive == "TODO", + TodoExplanation = directive == "TODO" ? explanation : null, + IsSkip = directive == "SKIP", + SkipExplanation = directive == "SKIP" ? explanation : null, + }; + this.Results.Add(result); + } + else if (CommentRegEx14().IsMatch(line)) + { + var commentMatch = CommentRegEx14().Match(line); + this.Comments.Add(commentMatch.Groups[1].Value.Trim()); + } + else if (line.Trim() == "---") + { + insideYaml = true; + yamlLines = []; + } + else + { + Console.WriteLine($"Warning: Unrecognized line: {line}"); + } + } + + if (!planParsed) + { + throw new Exception("No test plan found"); + } + } + + private void ParseYamlVersion14(List yamlLines) + { + if (this.Results.Count == 0) + { + return; + } + + var lastResult = this.Results[^1]; + var yamlContent = string.Join("\n", yamlLines); + + try + { + var deserializer = new DeserializerBuilder() + .WithNamingConvention(CamelCaseNamingConvention.Instance) + .Build(); + var yamlData = deserializer.Deserialize>(yamlContent); + foreach (var entry in yamlData) + { + lastResult.Diagnostics[entry.Key] = entry.Value; + } + } + catch (Exception ex) + { + throw new Exception($"Error parsing YAML diagnostics: {ex.Message}", ex); + } + } +} \ No newline at end of file diff --git a/src/Cake.Issues.Tap/Parser/TapTestPoint.cs b/src/Cake.Issues.Tap/Parser/TapTestPoint.cs new file mode 100644 index 000000000..dc6af7c5b --- /dev/null +++ b/src/Cake.Issues.Tap/Parser/TapTestPoint.cs @@ -0,0 +1,49 @@ +namespace Cake.Issues.Tap.Parser; + +using System.Collections.Generic; + +/// +/// Represents a result of a test point in a TAP file. +/// +internal class TapTestPoint +{ + /// + /// Gets or sets a value indicating whether the test point passed or failed. + /// + public bool TestStatus { get; set; } + + /// + /// Gets or sets the unique ID of the test point. + /// + public int? TestPointID { get; set; } + + /// + /// Gets or sets the description of the test point. + /// + public string Description { get; set; } + + /// + /// Gets or sets a value indicating whether the test point has been marked with TODO. + /// + public bool IsTodo { get; set; } + + /// + /// Gets or sets the explanation why the test point has been marked with TODO. + /// + public string TodoExplanation { get; set; } + + /// + /// Gets or sets a value indicating whether the test point has been marked as SKIP. + /// + public bool IsSkip { get; set; } + + /// + /// Gets or sets the explanation why the test point has been marked as SKIP. + /// + public string SkipExplanation { get; set; } + + /// + /// Gets or sets additional YAML diagnostics of the test. + /// + public Dictionary Diagnostics { get; set; } = []; +} diff --git a/src/Cake.Issues.Tap/Properties/ProjectInfo.cs b/src/Cake.Issues.Tap/Properties/ProjectInfo.cs new file mode 100644 index 000000000..c8fb369f5 --- /dev/null +++ b/src/Cake.Issues.Tap/Properties/ProjectInfo.cs @@ -0,0 +1,14 @@ +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("4feda681-f168-4909-90be-f1df94043f3d")] + +[assembly: CLSCompliant(true)] +[assembly: InternalsVisibleTo("Cake.Issues.Tap.Tests")] \ No newline at end of file diff --git a/src/Cake.Issues.Tap/TapIssuesAliases.GenericLogFileFormat.cs b/src/Cake.Issues.Tap/TapIssuesAliases.GenericLogFileFormat.cs new file mode 100644 index 000000000..911b45d9d --- /dev/null +++ b/src/Cake.Issues.Tap/TapIssuesAliases.GenericLogFileFormat.cs @@ -0,0 +1,26 @@ +namespace Cake.Issues.Tap; + +using Cake.Core; +using Cake.Core.Annotations; +using Cake.Issues.Tap.LogFileFormat; + +/// +/// Aliases for provider to read issues in Test Anything Protocol format. +/// +public static partial class TapIssuesAliases +{ + /// + /// Gets an instance for the log format for any file compatible with Test Anything Protocol format. + /// + /// The context. + /// Instance for the Test Anything Protocol format. + [CakePropertyAlias] + [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)] + public static BaseTapLogFileFormat GenericLogFileFormat( + this ICakeContext context) + { + context.NotNull(); + + return new GenericLogFileFormat(context.Log); + } +} diff --git a/src/Cake.Issues.Tap/TapIssuesAliases.IssueProvider.cs b/src/Cake.Issues.Tap/TapIssuesAliases.IssueProvider.cs new file mode 100644 index 000000000..8a228cffc --- /dev/null +++ b/src/Cake.Issues.Tap/TapIssuesAliases.IssueProvider.cs @@ -0,0 +1,131 @@ +namespace Cake.Issues.Tap; + +using Cake.Core; +using Cake.Core.Annotations; +using Cake.Core.IO; + +/// +/// Aliases to read issues from Test Anything Protocol files. +/// +public static partial class TapIssuesAliases +{ + /// + /// Gets the name of the TAP issue provider. + /// This name can be used to identify issues based on the property. + /// + /// The context. + /// Name of the TAP issue provider. + [CakePropertyAlias] + [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)] + public static string TapIssuesProviderTypeName( + this ICakeContext context) + { + context.NotNull(); + + return TapIssuesProvider.ProviderTypeName; + } + + /// + /// Gets an instance of a provider for issues in a TAP compatible file from disk. + /// + /// The context. + /// Path to the TAP file. + /// The log file needs to be in the format as defined by the parameter. + /// Format of the provided TAP file. + /// Instance of a provider for issues in TAP format. + /// + /// Read issues in Test Anything Protocol format: + /// + /// + /// + /// + [CakeMethodAlias] + [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)] + public static IIssueProvider TapIssuesFromFilePath( + this ICakeContext context, + FilePath logFilePath, + BaseTapLogFileFormat format) + { + context.NotNull(); + logFilePath.NotNull(); + format.NotNull(); + + return context.TapIssues(new TapIssuesSettings(logFilePath, format)); + } + + /// + /// Gets an instance of a provider for issues in a TAP compatible file from memory. + /// + /// The context. + /// Content of the TAP file. + /// The log file needs to be in the format as defined by the parameter. + /// Format of the provided TAP file. + /// Instance of a provider for issues in TAP format. + /// + /// Read issues in Test Anything Protocol format: + /// + /// + /// + /// + [CakeMethodAlias] + [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)] + public static IIssueProvider TapIssuesFromContent( + this ICakeContext context, + string logFileContent, + BaseTapLogFileFormat format) + { + context.NotNull(); + logFileContent.NotNullOrWhiteSpace(); + format.NotNull(); + + return context.TapIssues(new TapIssuesSettings(logFileContent, format)); + } + + /// + /// Gets an instance of a provider for issues in a TAP compatible file using specified settings. + /// + /// The context. + /// Settings for reading the TAP file. + /// Instance of a provider for issues in TAP format. + /// + /// Read issues in Test Anything Protocol format: + /// + /// + /// + /// + [CakeMethodAlias] + [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)] + public static IIssueProvider TapIssues( + this ICakeContext context, + TapIssuesSettings settings) + { + context.NotNull(); + settings.NotNull(); + + return new TapIssuesProvider(context.Log, settings); + } +} diff --git a/src/Cake.Issues.Tap/TapIssuesAliases.StylelintLogFileFormat.cs b/src/Cake.Issues.Tap/TapIssuesAliases.StylelintLogFileFormat.cs new file mode 100644 index 000000000..4e39c62a7 --- /dev/null +++ b/src/Cake.Issues.Tap/TapIssuesAliases.StylelintLogFileFormat.cs @@ -0,0 +1,26 @@ +namespace Cake.Issues.Tap; + +using Cake.Core; +using Cake.Core.Annotations; +using Cake.Issues.Tap.LogFileFormat; + +/// +/// Aliases for provider to read issues in Test Anything Protocol file generated by Stylelint. +/// +public static partial class TapIssuesAliases +{ + /// + /// Gets an instance for the log format for Test Anything Protocol file generated by Stylelint. + /// + /// The context. + /// Instance for the Test Anything Protocol format generated by Stylelint. + [CakePropertyAlias] + [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)] + public static BaseTapLogFileFormat StylelintLogFileFormat( + this ICakeContext context) + { + context.NotNull(); + + return new StylelintLogFileFormat(context.Log); + } +} diff --git a/src/Cake.Issues.Tap/TapIssuesAliases.TextlintLogFileFormat.cs b/src/Cake.Issues.Tap/TapIssuesAliases.TextlintLogFileFormat.cs new file mode 100644 index 000000000..8e45465a1 --- /dev/null +++ b/src/Cake.Issues.Tap/TapIssuesAliases.TextlintLogFileFormat.cs @@ -0,0 +1,26 @@ +namespace Cake.Issues.Tap; + +using Cake.Core; +using Cake.Core.Annotations; +using Cake.Issues.Tap.LogFileFormat; + +/// +/// Aliases for provider to read issues in Test Anything Protocol file generated by Textlint. +/// +public static partial class TapIssuesAliases +{ + /// + /// Gets an instance for the log format for Test Anything Protocol file generated by Textlint. + /// + /// The context. + /// Instance for the Test Anything Protocol format generated by Textlint. + [CakePropertyAlias] + [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)] + public static BaseTapLogFileFormat TextlintLogFileFormat( + this ICakeContext context) + { + context.NotNull(); + + return new TextlintLogFileFormat(context.Log); + } +} diff --git a/src/Cake.Issues.Tap/TapIssuesAliases.cs b/src/Cake.Issues.Tap/TapIssuesAliases.cs new file mode 100644 index 000000000..18afa4099 --- /dev/null +++ b/src/Cake.Issues.Tap/TapIssuesAliases.cs @@ -0,0 +1,11 @@ +namespace Cake.Issues.Tap; + +using Cake.Core.Annotations; + +/// +/// Contains functionality for reading issues from Test Anything Protocol files. +/// +[CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)] +public static partial class TapIssuesAliases +{ +} diff --git a/src/Cake.Issues.Tap/TapIssuesProvider.cs b/src/Cake.Issues.Tap/TapIssuesProvider.cs new file mode 100644 index 000000000..89a0447da --- /dev/null +++ b/src/Cake.Issues.Tap/TapIssuesProvider.cs @@ -0,0 +1,22 @@ +namespace Cake.Issues.Tap; + +using Cake.Core.Diagnostics; +using Cake.Issues; + +/// +/// Provider for issues in TAP compatible format. +/// +/// The Cake log context. +/// Settings for the issue provider. +public class TapIssuesProvider(ICakeLog log, TapIssuesSettings issueProviderSettings) + : BaseMultiFormatIssueProvider(log, issueProviderSettings) +{ + /// + /// Gets the name of the Markdownlint issue provider. + /// This name can be used to identify issues based on the property. + /// + public static string ProviderTypeName => typeof(TapIssuesProvider).FullName; + + /// + public override string ProviderName => "TAP"; +} \ No newline at end of file diff --git a/src/Cake.Issues.Tap/TapIssuesSettings.cs b/src/Cake.Issues.Tap/TapIssuesSettings.cs new file mode 100644 index 000000000..bb7fca28c --- /dev/null +++ b/src/Cake.Issues.Tap/TapIssuesSettings.cs @@ -0,0 +1,31 @@ +namespace Cake.Issues.Tap; + +using Cake.Core.IO; + +/// +/// Settings for . +/// +public class TapIssuesSettings : BaseMultiFormatIssueProviderSettings +{ + /// + /// Initializes a new instance of the class. + /// + /// Path to the TAP file. + /// The TAP file needs to be in the format as defined by the parameter. + /// Format of the provided log file. + public TapIssuesSettings(FilePath logFilePath, BaseTapLogFileFormat format) + : base(logFilePath, format) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// Content of the TAP file. + /// The TAP file needs to be in the format as defined by the parameter. + /// Format of the provided log file. + public TapIssuesSettings(byte[] logFileContent, BaseTapLogFileFormat format) + : base(logFileContent, format) + { + } +} \ No newline at end of file diff --git a/src/Cake.Issues.Tap/packages.lock.json b/src/Cake.Issues.Tap/packages.lock.json new file mode 100644 index 000000000..c92950ace --- /dev/null +++ b/src/Cake.Issues.Tap/packages.lock.json @@ -0,0 +1,163 @@ +{ + "version": 2, + "dependencies": { + "net8.0": { + "Microsoft.CodeAnalysis.NetAnalyzers": { + "type": "Direct", + "requested": "[9.0.0, )", + "resolved": "9.0.0", + "contentHash": "JajbvkrBgtdRghavIjcJuNHMOja4lqBmEezbhZyqWPYh2cpLhT5mPpfC7NQVDO4IehWQum9t/nwF4v+qQGtYWg==" + }, + "StyleCop.Analyzers": { + "type": "Direct", + "requested": "[1.2.0-beta.556, )", + "resolved": "1.2.0-beta.556", + "contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "YamlDotNet": { + "type": "Direct", + "requested": "[16.3.0, )", + "resolved": "16.3.0", + "contentHash": "SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==" + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "7.0.4", + "contentHash": "yLEHlNN7O5WiND89r42sepgVwy5W/ZoTiFEdJDV7MHR1lW02LL7Nipz2TD5qM/Kx9W3/k3NP+PAP2qUdOm+leg==" + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "StyleCop.Analyzers.Unstable": { + "type": "Transitive", + "resolved": "1.2.0.556", + "contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==" + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "cake.issues": { + "type": "Project", + "dependencies": { + "Cake.Core": "[5.0.0, )" + } + }, + "Cake.Core": { + "type": "CentralTransitive", + "requested": "[5.0.0, )", + "resolved": "5.0.0", + "contentHash": "hq0HlI6bdRoMjUQTKioVjJZxQRxT7SuIjLjfTXO7fWe/alEU4OJumxq6LhTqz06pTRC7e5OrQqXyGKJnq5I+rw==", + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Microsoft.NETCore.Platforms": "7.0.4", + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "Microsoft.CSharp": { + "type": "CentralTransitive", + "requested": "[4.7.0, )", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + } + }, + "net9.0": { + "Microsoft.CodeAnalysis.NetAnalyzers": { + "type": "Direct", + "requested": "[9.0.0, )", + "resolved": "9.0.0", + "contentHash": "JajbvkrBgtdRghavIjcJuNHMOja4lqBmEezbhZyqWPYh2cpLhT5mPpfC7NQVDO4IehWQum9t/nwF4v+qQGtYWg==" + }, + "StyleCop.Analyzers": { + "type": "Direct", + "requested": "[1.2.0-beta.556, )", + "resolved": "1.2.0-beta.556", + "contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "YamlDotNet": { + "type": "Direct", + "requested": "[16.3.0, )", + "resolved": "16.3.0", + "contentHash": "SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==" + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "7.0.4", + "contentHash": "yLEHlNN7O5WiND89r42sepgVwy5W/ZoTiFEdJDV7MHR1lW02LL7Nipz2TD5qM/Kx9W3/k3NP+PAP2qUdOm+leg==" + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "StyleCop.Analyzers.Unstable": { + "type": "Transitive", + "resolved": "1.2.0.556", + "contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==" + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "cake.issues": { + "type": "Project", + "dependencies": { + "Cake.Core": "[5.0.0, )" + } + }, + "Cake.Core": { + "type": "CentralTransitive", + "requested": "[5.0.0, )", + "resolved": "5.0.0", + "contentHash": "hq0HlI6bdRoMjUQTKioVjJZxQRxT7SuIjLjfTXO7fWe/alEU4OJumxq6LhTqz06pTRC7e5OrQqXyGKJnq5I+rw==", + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Microsoft.NETCore.Platforms": "7.0.4", + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "Microsoft.CSharp": { + "type": "CentralTransitive", + "requested": "[4.7.0, )", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + } + } + } +} \ No newline at end of file diff --git a/src/Cake.Issues.sln b/src/Cake.Issues.sln index 241d82c22..740ba5c81 100644 --- a/src/Cake.Issues.sln +++ b/src/Cake.Issues.sln @@ -286,6 +286,21 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NuGet", "NuGet", "{2CC3359B ..\nuspec\nuget\Cake.Issues.Sarif.nuspec = ..\nuspec\nuget\Cake.Issues.Sarif.nuspec EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tap", "Tap", "{D3CEEB00-3E23-40F3-8BFE-321AC511E725}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cake.Issues.Tap", "Cake.Issues.Tap\Cake.Issues.Tap.csproj", "{3B3452CA-3B1A-4390-B5D2-A906E2AD64B4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cake.Issues.Tap.Tests", "Cake.Issues.Tap.Tests\Cake.Issues.Tap.Tests.csproj", "{58C5D37D-18B1-4F44-9527-F515C319C7BE}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NuGet", "NuGet", "{9887889A-9AAC-440F-9D82-5D297A731785}" + ProjectSection(SolutionItems) = preProject + ..\nuspec\nuget\Cake.Frosting.Issues.Tap.md = ..\nuspec\nuget\Cake.Frosting.Issues.Tap.md + ..\nuspec\nuget\Cake.Frosting.Issues.Tap.nuspec = ..\nuspec\nuget\Cake.Frosting.Issues.Tap.nuspec + ..\nuspec\nuget\Cake.Frosting.Issues.Tap.targets = ..\nuspec\nuget\Cake.Frosting.Issues.Tap.targets + ..\nuspec\nuget\Cake.Issues.Tap.md = ..\nuspec\nuget\Cake.Issues.Tap.md + ..\nuspec\nuget\Cake.Issues.Tap.nuspec = ..\nuspec\nuget\Cake.Issues.Tap.nuspec + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -432,6 +447,14 @@ Global {7BFDC8EC-9CFB-4A15-8B00-41A922DD6019}.Debug|Any CPU.Build.0 = Debug|Any CPU {7BFDC8EC-9CFB-4A15-8B00-41A922DD6019}.Release|Any CPU.ActiveCfg = Release|Any CPU {7BFDC8EC-9CFB-4A15-8B00-41A922DD6019}.Release|Any CPU.Build.0 = Release|Any CPU + {3B3452CA-3B1A-4390-B5D2-A906E2AD64B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3B3452CA-3B1A-4390-B5D2-A906E2AD64B4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3B3452CA-3B1A-4390-B5D2-A906E2AD64B4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3B3452CA-3B1A-4390-B5D2-A906E2AD64B4}.Release|Any CPU.Build.0 = Release|Any CPU + {58C5D37D-18B1-4F44-9527-F515C319C7BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {58C5D37D-18B1-4F44-9527-F515C319C7BE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58C5D37D-18B1-4F44-9527-F515C319C7BE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {58C5D37D-18B1-4F44-9527-F515C319C7BE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -508,6 +531,10 @@ Global {FC68CD80-8D3E-4614-BD59-90DC16DE89A5} = {49FA3C0C-6261-41D0-9644-D6AFEDF89E6D} {C05B7E5C-28D3-4F27-AC8B-ED17277398C7} = {1FDAECA8-746E-4B18-BC89-D0876171CE58} {2CC3359B-2DBA-4D41-BAF7-86342B8A1729} = {43506DCC-B86E-418A-8626-F5C7E053B2D5} + {D3CEEB00-3E23-40F3-8BFE-321AC511E725} = {D404813F-4EBD-4093-BA1C-B5BFEB781A65} + {3B3452CA-3B1A-4390-B5D2-A906E2AD64B4} = {D3CEEB00-3E23-40F3-8BFE-321AC511E725} + {58C5D37D-18B1-4F44-9527-F515C319C7BE} = {D3CEEB00-3E23-40F3-8BFE-321AC511E725} + {9887889A-9AAC-440F-9D82-5D297A731785} = {D3CEEB00-3E23-40F3-8BFE-321AC511E725} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E9F2EC94-9A1B-4834-A464-E5208B210F11} diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 38a8dcb3b..056ea91a7 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -23,6 +23,7 @@ + From 6b6dde78598c7c204cf8ebbae90a9a876e130b5c Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 3 Jan 2025 19:30:14 +0100 Subject: [PATCH 197/201] Use Cake.Frosting.AzureDevOps for Cake.Frosting.Issues.Recipe (#869) --- docs/input/documentation/recipe/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/input/documentation/recipe/index.md b/docs/input/documentation/recipe/index.md index 9f58c28db..622b08747 100644 --- a/docs/input/documentation/recipe/index.md +++ b/docs/input/documentation/recipe/index.md @@ -73,7 +73,7 @@ Cake.Issues recipes will add the following addins to your build: | [Cake.Frosting.Issues.PullRequests.AppVeyor]{target="_blank"} | {{ cake_issues_version }} | | | [Cake.Frosting.Issues.PullRequests.AzureDevOps]{target="_blank"} | {{ cake_issues_version }} | | | [Cake.Frosting.Issues.PullRequests.GitHubActions]{target="_blank"} | {{ cake_issues_version }} | | - | [Cake.AzureDevOps]{target="_blank"} | 5.0.0 | | + | [Cake.Frosting.AzureDevOps]{target="_blank"} | 5.0.0 | | [Cake.Issues.Recipe]: https://www.nuget.org/packages/Cake.Issues.Recipe [Cake.Frosting.Issues.Recipe]: https://www.nuget.org/packages/Cake.Frosting.Issues.Recipe From f89de58a47a359da75e6c23ce605632c357d6899 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 3 Jan 2025 20:07:28 +0100 Subject: [PATCH 198/201] Fix link --- docs/input/documentation/recipe/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/input/documentation/recipe/index.md b/docs/input/documentation/recipe/index.md index 622b08747..48f67c531 100644 --- a/docs/input/documentation/recipe/index.md +++ b/docs/input/documentation/recipe/index.md @@ -109,3 +109,4 @@ Cake.Issues recipes will add the following addins to your build: [Cake.Issues.PullRequests.GitHubActions]: https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions/ [Cake.Frosting.Issues.PullRequests.GitHubActions]: https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions/ [Cake.AzureDevOps]: https://cakebuild.net/extensions/cake-azuredevops/ +[Cake.Frosting.AzureDevOps]: https://cakebuild.net/extensions/cake-azuredevops/ From a267527dd790b2cf046b50d7d29c007a9143ea6d Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 3 Jan 2025 19:35:41 +0100 Subject: [PATCH 199/201] Update release notes link --- nuspec/nuget/Cake.Frosting.Issues.DocFx.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.EsLint.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.GitRepository.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.InspectCode.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.Markdownlint.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.MsBuild.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.PullRequests.AppVeyor.nuspec | 2 +- .../nuget/Cake.Frosting.Issues.PullRequests.AzureDevOps.nuspec | 2 +- .../Cake.Frosting.Issues.PullRequests.GitHubActions.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.PullRequests.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.Reporting.Console.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.Reporting.Generic.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.Reporting.Sarif.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.Reporting.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.Sarif.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.Tap.nuspec | 2 +- nuspec/nuget/Cake.Frosting.Issues.Terraform.nuspec | 2 +- nuspec/nuget/Cake.Issues.DocFx.nuspec | 2 +- nuspec/nuget/Cake.Issues.EsLint.nuspec | 2 +- nuspec/nuget/Cake.Issues.GitRepository.nuspec | 2 +- nuspec/nuget/Cake.Issues.InspectCode.nuspec | 2 +- nuspec/nuget/Cake.Issues.Markdownlint.nuspec | 2 +- nuspec/nuget/Cake.Issues.MsBuild.nuspec | 2 +- nuspec/nuget/Cake.Issues.PullRequests.AppVeyor.nuspec | 2 +- nuspec/nuget/Cake.Issues.PullRequests.AzureDevOps.nuspec | 2 +- nuspec/nuget/Cake.Issues.PullRequests.GitHubActions.nuspec | 2 +- nuspec/nuget/Cake.Issues.PullRequests.nuspec | 2 +- nuspec/nuget/Cake.Issues.Reporting.Console.nuspec | 2 +- nuspec/nuget/Cake.Issues.Reporting.Generic.nuspec | 2 +- nuspec/nuget/Cake.Issues.Reporting.Sarif.nuspec | 2 +- nuspec/nuget/Cake.Issues.Reporting.nuspec | 2 +- nuspec/nuget/Cake.Issues.Sarif.nuspec | 2 +- nuspec/nuget/Cake.Issues.Tap.nuspec | 2 +- nuspec/nuget/Cake.Issues.nuspec | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git a/nuspec/nuget/Cake.Frosting.Issues.DocFx.nuspec b/nuspec/nuget/Cake.Frosting.Issues.DocFx.nuspec index 06ef90f83..b213e4e49 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.DocFx.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.DocFx.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.DocFx. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider linting docfx docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.EsLint.nuspec b/nuspec/nuget/Cake.Frosting.Issues.EsLint.nuspec index 633b9be3b..ae020e9e6 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.EsLint.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.EsLint.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.EsLint. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider code-analysis javascript linting eslint docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.GitRepository.nuspec b/nuspec/nuget/Cake.Frosting.Issues.GitRepository.nuspec index b3d16c629..5c65c3872 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.GitRepository.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.GitRepository.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.GitRepository. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider code-analysis linting git docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.InspectCode.nuspec b/nuspec/nuget/Cake.Frosting.Issues.InspectCode.nuspec index 28adb053b..e8f061e27 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.InspectCode.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.InspectCode.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.InspectCode. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider codeanalysis linting inspectcode docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.Markdownlint.nuspec b/nuspec/nuget/Cake.Frosting.Issues.Markdownlint.nuspec index d9e5d31d0..a27c6879b 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Markdownlint.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.Markdownlint.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.Markdownlint. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider linting markdown markdownlint docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.MsBuild.nuspec b/nuspec/nuget/Cake.Frosting.Issues.MsBuild.nuspec index 04b719ec3..66469f7b6 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.MsBuild.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.MsBuild.nuspec @@ -30,7 +30,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.MsBuild. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider code-analysis linting msbuild docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AppVeyor.nuspec b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AppVeyor.nuspec index 062be7514..fda26276b 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AppVeyor.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AppVeyor.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.PullRequests.AppVe Copyright © Cake Issues contributors cake cake-addin cake-issues cake-pullrequestsystem issues pullrequest buildserver appveyor docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AzureDevOps.nuspec b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AzureDevOps.nuspec index 5852616a2..9edc680ed 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AzureDevOps.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.AzureDevOps.nuspec @@ -28,7 +28,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.PullRequests.Azure Copyright © Cake Issues contributors cake cake-addin cake-issues cake-pullrequestsystem issues pullrequest tfs azure-devops azure-devops-server docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.GitHubActions.nuspec b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.GitHubActions.nuspec index e5464fd8d..8dc565873 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.GitHubActions.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.GitHubActions.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.PullRequests.GitHu Copyright © Cake Issues contributors cake cake-addin cake-issues cake-pullrequestsystem issues pullrequest buildserver github github-actions docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.nuspec b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.nuspec index 1afbd8bd5..ba4261440 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.PullRequests.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.PullRequests.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.PullRequests. Copyright © Cake Issues contributors Cake Script Cake-Issues CodeAnalysis Linting Issues Pull-Requests docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Console.nuspec b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Console.nuspec index e3d3e00b4..bbf536bec 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Console.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Console.nuspec @@ -29,7 +29,7 @@ The addin requires Cake Frosting 1.2.0 or higher. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-reportformat issues reporting console docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Generic.nuspec b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Generic.nuspec index 2b34939d4..e18b3ad07 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Generic.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Generic.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.Reporting.Generic. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-reportformat issues reporting html markdown razor docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Sarif.nuspec b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Sarif.nuspec index f9565c69b..41ac771e4 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Reporting.Sarif.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.Reporting.Sarif.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.Reporting.Sarif. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-reportformat issues reporting sarif docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.Reporting.nuspec b/nuspec/nuget/Cake.Frosting.Issues.Reporting.nuspec index 54935455f..08c920362 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Reporting.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.Reporting.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.Reporting. Copyright © Cake Issues contributors Cake Script Cake-Issues CodeAnalysis Linting Issues Reporting docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.Sarif.nuspec b/nuspec/nuget/Cake.Frosting.Issues.Sarif.nuspec index 32e419d4b..971303214 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Sarif.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.Sarif.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.Sarif. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider linting sarif docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.Tap.nuspec b/nuspec/nuget/Cake.Frosting.Issues.Tap.nuspec index e4e1d73e1..7438b31ed 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Tap.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.Tap.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.Tap. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider linting tap docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Frosting.Issues.Terraform.nuspec b/nuspec/nuget/Cake.Frosting.Issues.Terraform.nuspec index cf6dab34f..5ca3b18c7 100644 --- a/nuspec/nuget/Cake.Frosting.Issues.Terraform.nuspec +++ b/nuspec/nuget/Cake.Frosting.Issues.Terraform.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Script Runners see Cake.Issues.Terraform. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider linting terraform docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.DocFx.nuspec b/nuspec/nuget/Cake.Issues.DocFx.nuspec index ece102aa7..e3884d596 100644 --- a/nuspec/nuget/Cake.Issues.DocFx.nuspec +++ b/nuspec/nuget/Cake.Issues.DocFx.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.DocFx. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider linting docfx docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.EsLint.nuspec b/nuspec/nuget/Cake.Issues.EsLint.nuspec index e602d90fd..6a997286f 100644 --- a/nuspec/nuget/Cake.Issues.EsLint.nuspec +++ b/nuspec/nuget/Cake.Issues.EsLint.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.EsLint. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider code-analysis javascript linting eslint docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.GitRepository.nuspec b/nuspec/nuget/Cake.Issues.GitRepository.nuspec index 2c8f34a08..3a8adaa4e 100644 --- a/nuspec/nuget/Cake.Issues.GitRepository.nuspec +++ b/nuspec/nuget/Cake.Issues.GitRepository.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.GitRepository. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider code-analysis linting git docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.InspectCode.nuspec b/nuspec/nuget/Cake.Issues.InspectCode.nuspec index 95dfa30b8..bd05f3c3f 100644 --- a/nuspec/nuget/Cake.Issues.InspectCode.nuspec +++ b/nuspec/nuget/Cake.Issues.InspectCode.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.InspectCode. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider codeanalysis linting inspectcode docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.Markdownlint.nuspec b/nuspec/nuget/Cake.Issues.Markdownlint.nuspec index 96b5bce24..be28fc303 100644 --- a/nuspec/nuget/Cake.Issues.Markdownlint.nuspec +++ b/nuspec/nuget/Cake.Issues.Markdownlint.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.Markdownlint. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider linting markdown markdownlint docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.MsBuild.nuspec b/nuspec/nuget/Cake.Issues.MsBuild.nuspec index 3dee6e8b5..28fe94497 100644 --- a/nuspec/nuget/Cake.Issues.MsBuild.nuspec +++ b/nuspec/nuget/Cake.Issues.MsBuild.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.MsBuild. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider code-analysis linting msbuild docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.PullRequests.AppVeyor.nuspec b/nuspec/nuget/Cake.Issues.PullRequests.AppVeyor.nuspec index 143bd4827..e41249f57 100644 --- a/nuspec/nuget/Cake.Issues.PullRequests.AppVeyor.nuspec +++ b/nuspec/nuget/Cake.Issues.PullRequests.AppVeyor.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.PullRequests.Ap Copyright © Cake Issues contributors cake cake-addin cake-issues cake-pullrequestsystem issues pullrequest buildserver appveyor docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.PullRequests.AzureDevOps.nuspec b/nuspec/nuget/Cake.Issues.PullRequests.AzureDevOps.nuspec index e41aa8916..528ede7a8 100644 --- a/nuspec/nuget/Cake.Issues.PullRequests.AzureDevOps.nuspec +++ b/nuspec/nuget/Cake.Issues.PullRequests.AzureDevOps.nuspec @@ -28,7 +28,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.PullRequests.Az Copyright © Cake Issues contributors cake cake-addin cake-issues cake-pullrequestsystem issues pullrequest tfs azure-devops azure-devops-server docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.PullRequests.GitHubActions.nuspec b/nuspec/nuget/Cake.Issues.PullRequests.GitHubActions.nuspec index e39af4508..09206f33a 100644 --- a/nuspec/nuget/Cake.Issues.PullRequests.GitHubActions.nuspec +++ b/nuspec/nuget/Cake.Issues.PullRequests.GitHubActions.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.PullRequests.Gi Copyright © Cake Issues contributors cake cake-addin cake-issues cake-pullrequestsystem issues pullrequest buildserver github github-actions docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.PullRequests.nuspec b/nuspec/nuget/Cake.Issues.PullRequests.nuspec index 84f6d7f41..db61e8d1f 100644 --- a/nuspec/nuget/Cake.Issues.PullRequests.nuspec +++ b/nuspec/nuget/Cake.Issues.PullRequests.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.PullRequests. Copyright © Cake Issues contributors Cake Script Cake-Issues CodeAnalysis Linting Issues Pull-Requests docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.Reporting.Console.nuspec b/nuspec/nuget/Cake.Issues.Reporting.Console.nuspec index 9adaf7eb2..fd0dde524 100644 --- a/nuspec/nuget/Cake.Issues.Reporting.Console.nuspec +++ b/nuspec/nuget/Cake.Issues.Reporting.Console.nuspec @@ -29,7 +29,7 @@ The addin requires Cake 1.2.0 or higher. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-reportformat issues reporting console docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.Reporting.Generic.nuspec b/nuspec/nuget/Cake.Issues.Reporting.Generic.nuspec index a28b99a56..990d2d576 100644 --- a/nuspec/nuget/Cake.Issues.Reporting.Generic.nuspec +++ b/nuspec/nuget/Cake.Issues.Reporting.Generic.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.Reporting.Gener Copyright © Cake Issues contributors cake cake-addin cake-issues cake-reportformat issues reporting html markdown razor docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.Reporting.Sarif.nuspec b/nuspec/nuget/Cake.Issues.Reporting.Sarif.nuspec index d7f6d222f..d8fbeccf1 100644 --- a/nuspec/nuget/Cake.Issues.Reporting.Sarif.nuspec +++ b/nuspec/nuget/Cake.Issues.Reporting.Sarif.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.Reporting.Sarif Copyright © Cake Issues contributors cake cake-addin cake-issues cake-reportformat issues reporting sarif docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.Reporting.nuspec b/nuspec/nuget/Cake.Issues.Reporting.nuspec index 01cc30818..d5e5f6cda 100644 --- a/nuspec/nuget/Cake.Issues.Reporting.nuspec +++ b/nuspec/nuget/Cake.Issues.Reporting.nuspec @@ -27,7 +27,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.Reporting. Copyright © Cake Issues contributors Cake Script Cake-Issues CodeAnalysis Linting Issues Reporting docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.Sarif.nuspec b/nuspec/nuget/Cake.Issues.Sarif.nuspec index 367889b07..0113fc53a 100644 --- a/nuspec/nuget/Cake.Issues.Sarif.nuspec +++ b/nuspec/nuget/Cake.Issues.Sarif.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.Sarif. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider linting sarif docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.Tap.nuspec b/nuspec/nuget/Cake.Issues.Tap.nuspec index d2435fb69..ab42b90a3 100644 --- a/nuspec/nuget/Cake.Issues.Tap.nuspec +++ b/nuspec/nuget/Cake.Issues.Tap.nuspec @@ -29,7 +29,7 @@ For addin compatible with Cake Frosting see Cake.Frosting.Issues.Tap. Copyright © Cake Issues contributors cake cake-addin cake-issues cake-issueprovider linting tap docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 diff --git a/nuspec/nuget/Cake.Issues.nuspec b/nuspec/nuget/Cake.Issues.nuspec index 0b0841be6..59a45f941 100644 --- a/nuspec/nuget/Cake.Issues.nuspec +++ b/nuspec/nuget/Cake.Issues.nuspec @@ -25,7 +25,7 @@ See the Project Site for an overview of the whole ecosystem of addins for workin Copyright © Cake Issues contributors cake cake-addin cake-issues code-analysis linting issues docs\README.md - https://github.com/cake-contrib/Cake.Issues/releases/tag/5.0.1 + https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0 From 6562ab55e6e404c8cdf1aaa79010ec5d4dd41f85 Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 3 Jan 2025 19:37:57 +0100 Subject: [PATCH 200/201] Update documentation --- docs/mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index c6f656093..c5729bcff 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -116,7 +116,7 @@ extra: # renovate: datasource=nuget depName=Cake.DocFx versioning=loose cake_docfx_version: 1.0.0 # renovate: datasource=nuget depName=Cake.Issues versioning=loose - cake_issues_version: 5.0.1 + cake_issues_version: 5.1.0 # renovate: datasource=nuget depName=Cake.Markdownlint versioning=loose cake_markdownlint_version: 4.0.0 # renovate: datasource=nuget depName=Cake.Git versioning=loose From ddcb96ee142ffe0acc8694380e645f70558ba9bf Mon Sep 17 00:00:00 2001 From: Pascal Berger Date: Fri, 3 Jan 2025 20:04:20 +0100 Subject: [PATCH 201/201] Add news entries --- .../2025-01-03-cake-issues-v5.1.0-released.md | 47 +++++++++++++++++++ .../posts/2025-01-03-tap-issue-provider.md | 36 ++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 docs/input/news/posts/2025-01-03-cake-issues-v5.1.0-released.md create mode 100644 docs/input/news/posts/2025-01-03-tap-issue-provider.md diff --git a/docs/input/news/posts/2025-01-03-cake-issues-v5.1.0-released.md b/docs/input/news/posts/2025-01-03-cake-issues-v5.1.0-released.md new file mode 100644 index 000000000..d5437941d --- /dev/null +++ b/docs/input/news/posts/2025-01-03-cake-issues-v5.1.0-released.md @@ -0,0 +1,47 @@ +--- +title: Cake Issues v5.1.0 Released +date: 2025-01-03 +categories: + - Release Notes +search: + boost: 0.5 +--- + +Cake Issues version 5.1.0 has been released introducing a new issue provider for Test Anything Protocol (TAP) compatible files. + + + +This post shows the highlights included in this release. +For update instructions skip to [Updating from previous versions](#updating-from-previous-versions). + +❤ Huge thanks to our community! This release would not have been possible without your support and contributions! ❤ + +People working on this release: + +* [pascalberger](https://github.com/pascalberger){target="_blank"} + +## New issue provider for Test Anything Protocol (TAP) files + +A new [Cake.Issues.Tap addin] has been released which adds support for reading issues in [Test Anything Protocol (TAP)]{target="_blank"} format. + +See [New addin for reading TAP files](2025-01-03-tap-issue-provider.md) for details. + +## Improvements for Cake Frosting in Cake Issues Recipe + +[Cake Issues Recipe] for Cake Frosting has been updated to use `Cake.Frosting.AzureDevOps` instead of `Cake.AzureDevOps` allow +more control over dependencies in Cake Frosting builds. + +## Documentation improvements for Cake Frosting + +Examples for Cake Frosting have been added across whole documentation. + +## Updating from previous versions + +Cake.Issues 5.1.0 addins are compatible with any 5.x addins. +To update to the new version bump the version of the specific addins. + +For details see [release notes](https://github.com/cake-contrib/Cake.Issues/releases/tag/5.1.0){target="_blank"} + +[Cake.Issues.Tap addin]: ../../documentation/issue-providers/tap/index.md +[Test Anything Protocol (TAP)]: https://testanything.org/ +[Cake Issues Recipe]: ../../documentation/recipe/index.md diff --git a/docs/input/news/posts/2025-01-03-tap-issue-provider.md b/docs/input/news/posts/2025-01-03-tap-issue-provider.md new file mode 100644 index 000000000..cd488f89f --- /dev/null +++ b/docs/input/news/posts/2025-01-03-tap-issue-provider.md @@ -0,0 +1,36 @@ +--- +title: New addin for reading Test Anything Protocol (TAP) files +date: 2025-01-03 +categories: + - New Addin +search: + boost: 0.5 +--- + +A new [Cake.Issues.Tap addin] has been released which adds support for reading issues in [Test Anything Protocol (TAP)]{target="_blank"} format. + + + +[Test Anything Protocol (TAP)]{target="_blank"} is a protocol for communicating between test logic in a language-agnostic way. +There are several linting tools which can output their result in a TAP compatible format. + +The [Cake.Issues.Tap addin] supports multiple log file formats. +Details, like file, line / column or rule information, are not standardized in Test Anything Protocol (TAP). +The `GenericLogFileFormat` will therefore only return issues containing the description, which might be the file name for some tools. +To retrieve detailed information a tool specific log file format needs to be used which can parse the non-standardized data provided by the tool for every issue. + +There are additional log file formats for the following tools available: + +* [stylelint](https://stylelint.io/){target="_blank"} +* [Textlint](https://textlint.github.io/){target="_blank"} + +See [Supported Tools] for an updated list of supported tools. + +The addins is available in a version for Cake .NET Tool ([Cake.Issues.Tap]{target="_blank"}) +and Cake Frosting ([Cake.Frosting.Issues.Tap]{target="_blank"}). + +[Cake.Issues.Tap addin]: ../../documentation/issue-providers/tap/index.md +[Test Anything Protocol (TAP)]: https://testanything.org/ +[Supported Tools]: ../../documentation/supported-tools.md +[Cake.Issues.Tap]: https://www.nuget.org/packages/Cake.Issues.Tap +[Cake.Frosting.Issues.Tap]: https://www.nuget.org/packages/Cake.Frosting.Issues.Tap