diff --git a/.appveyor.yml b/.appveyor.yml
index f2c64937d..5eec94f17 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -8,6 +8,9 @@ environment:
#---------------------------------#
image: Visual Studio 2022
+init:
+ - git config --global core.autocrlf true
+
#---------------------------------#
# Install .NET #
#---------------------------------#
@@ -16,9 +19,9 @@ install:
- ps: mkdir $env:DOTNET_INSTALL_DIR -Force | Out-Null
- ps: Invoke-WebRequest -Uri "https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.ps1" -OutFile "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1"
- ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 5.0.408 -InstallDir $env:DOTNET_INSTALL_DIR'
- - ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 6.0.419 -InstallDir $env:DOTNET_INSTALL_DIR'
- - ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 7.0.406 -InstallDir $env:DOTNET_INSTALL_DIR'
- - ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 8.0.201 -InstallDir $env:DOTNET_INSTALL_DIR'
+ - ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 6.0.421 -InstallDir $env:DOTNET_INSTALL_DIR'
+ - ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 7.0.408 -InstallDir $env:DOTNET_INSTALL_DIR'
+ - ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 8.0.204 -InstallDir $env:DOTNET_INSTALL_DIR'
- ps: $env:Path = "$env:DOTNET_INSTALL_DIR;$env:Path"
- ps: dotnet --info
diff --git a/.azuredevops/pipelines/templates/steps/install-markdownlint.yml b/.azuredevops/pipelines/templates/steps/install-markdownlint.yml
new file mode 100644
index 000000000..ed4e33b1e
--- /dev/null
+++ b/.azuredevops/pipelines/templates/steps/install-markdownlint.yml
@@ -0,0 +1,9 @@
+# Installs markdownlint
+
+steps:
+ - task: NodeTool@0
+ inputs:
+ versionSpec: '20.x'
+ displayName: 'Install NodeJs 20.x'
+ - script: npm install -g markdownlint-cli
+ displayName: 'Install markdownlint'
diff --git a/.azuredevops/pipelines/templates/steps/install-net5.yml b/.azuredevops/pipelines/templates/steps/install-net5.yml
new file mode 100644
index 000000000..739dff075
--- /dev/null
+++ b/.azuredevops/pipelines/templates/steps/install-net5.yml
@@ -0,0 +1,7 @@
+# Installs .NET 6
+
+steps:
+ - task: UseDotNet@2
+ inputs:
+ version: '5.x'
+ displayName: 'Install .NET 5'
diff --git a/.azuredevops/pipelines/templates/steps/install-net6.yml b/.azuredevops/pipelines/templates/steps/install-net6.yml
new file mode 100644
index 000000000..24988ad50
--- /dev/null
+++ b/.azuredevops/pipelines/templates/steps/install-net6.yml
@@ -0,0 +1,7 @@
+# Installs .NET 6
+
+steps:
+ - task: UseDotNet@2
+ inputs:
+ version: '6.x'
+ displayName: 'Install .NET 6'
diff --git a/.azuredevops/pipelines/templates/steps/install-net7.yml b/.azuredevops/pipelines/templates/steps/install-net7.yml
new file mode 100644
index 000000000..e7fc55a11
--- /dev/null
+++ b/.azuredevops/pipelines/templates/steps/install-net7.yml
@@ -0,0 +1,7 @@
+# Installs .NET 6
+
+steps:
+ - task: UseDotNet@2
+ inputs:
+ version: '7.x'
+ displayName: 'Install .NET 7'
diff --git a/.azuredevops/pipelines/templates/steps/install-net8.yml b/.azuredevops/pipelines/templates/steps/install-net8.yml
new file mode 100644
index 000000000..d89b6bc5a
--- /dev/null
+++ b/.azuredevops/pipelines/templates/steps/install-net8.yml
@@ -0,0 +1,7 @@
+# Installs .NET 6
+
+steps:
+ - task: UseDotNet@2
+ inputs:
+ version: '8.x'
+ displayName: 'Install .NET 8'
diff --git a/.azuredevops/pipelines/templates/steps/install-required-dotnet-versions-for-building.yml b/.azuredevops/pipelines/templates/steps/install-required-dotnet-versions-for-building.yml
index 9dfa6aae1..8cc717f40 100644
--- a/.azuredevops/pipelines/templates/steps/install-required-dotnet-versions-for-building.yml
+++ b/.azuredevops/pipelines/templates/steps/install-required-dotnet-versions-for-building.yml
@@ -2,19 +2,7 @@
steps:
# .NET 5 required for GitVersion
- - task: UseDotNet@2
- inputs:
- version: '5.x'
- displayName: 'Install .NET 5'
- - task: UseDotNet@2
- inputs:
- version: '6.x'
- displayName: 'Install .NET 6'
- - task: UseDotNet@2
- inputs:
- version: '7.x'
- displayName: 'Install .NET 7'
- - task: UseDotNet@2
- inputs:
- version: '8.x'
- displayName: 'Install .NET 8'
+ - template: install-net5.yml
+ - template: install-net6.yml
+ - template: install-net7.yml
+ - template: install-net8.yml
diff --git a/.azuredevops/pipelines/templates/steps/provide-nuget-packages.yml b/.azuredevops/pipelines/templates/steps/provide-nuget-packages.yml
new file mode 100644
index 000000000..70b50d214
--- /dev/null
+++ b/.azuredevops/pipelines/templates/steps/provide-nuget-packages.yml
@@ -0,0 +1,11 @@
+# Makes NuGet packages available for testing
+
+steps:
+ - download: current
+ artifact: NuGet Package
+ displayName: 'Download build artifact'
+ - task: CopyFiles@2
+ inputs:
+ sourceFolder: $(Pipeline.Workspace)/NuGet Package
+ targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
+ displayName: 'Copy build artifact for test run'
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 000000000..9292494e8
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,68 @@
+name: Build and tests
+
+# Workflow Trigger
+on:
+ # Trigger the workflow on a pull request to any branch
+ pull_request:
+ # Triggers the workflow in the event there is a push to master
+ push:
+ branches:
+ - master
+
+jobs:
+ # Build
+ Build:
+ name: Build
+ runs-on: ubuntu-22.04
+ steps:
+ - name: Get the sources
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
+ - name: Fetch all tags and branches
+ run: git fetch --prune --unshallow
+ - name: Install .NET
+ uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4
+ with:
+ # .NET 5 required for GitVersion
+ dotnet-version: |
+ 5.x
+ 6.x
+ 7.x
+ 8.x
+ - name: Build
+ run: ./build.sh
+ shell: bash
+ - name: Publish NuGet package as build artifact
+ uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4
+ with:
+ name: NuGet Package
+ path: ./BuildArtifacts/Packages/NuGet/
+ # Integration Tests Cake.Issues.PullRequests.GitHubActions Cake Scripting
+ IntegrationTestsPullRequestsGitHubActionsCakeScripting:
+ name: Integration Tests Cake.Issues.PullRequests.GitHubActions Cake Scripting
+ needs: Build
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [
+ windows-2019, windows-2022,
+ # Disabled until https://github.com/cake-contrib/Cake.Issues/issues/514 is fixed
+ # ubuntu-20.04, ubuntu-22.04,
+ macos-11, macos-14]
+ dotnet: [6.x, 7.x, 8.x]
+ runs-on: ${{ matrix.os }}
+ steps:
+ - name: Get the sources
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
+ - name: Download build artifact
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4
+ with:
+ name: NuGet Package
+ path: ./BuildArtifacts/Packages/NuGet
+ - name: Install .NET
+ uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4
+ with:
+ dotnet-version: ${{ matrix.dotnet }}
+ - name: Run integration tests
+ run: ./build.sh --verbosity=diagnostic
+ working-directory: ./tests/Cake.Issues.PullRequests.GitHubActions/script-runner/
+ shell: bash
diff --git a/CiStatus.md b/CiStatus.md
index 3a76a5781..dc4a26fb4 100644
--- a/CiStatus.md
+++ b/CiStatus.md
@@ -1,6 +1,6 @@
# Build & Test Status
-## Build / Unit Tests
+## Build / Tests
| CI Server | Runner | Operating System | Develop | Master |
|:--:|:--:|:--:|:--:|:--:|
@@ -8,6 +8,18 @@
|Azure Pipelines|N/A|Windows|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&jobName=Build%20%26%20Unit%20Tests&configuration=Build%20%26%20Unit%20Tests%20Windows)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&jobName=Build%20%26%20Unit%20Tests&configuration=Build%20%26%20Unit%20Tests%20Windows)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
|Azure Pipelines|N/A|Ubuntu|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&jobName=Build%20%26%20Unit%20Tests&configuration=Build%20%26%20Unit%20Tests%20Ubuntu)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&jobName=Build%20%26%20Unit%20Tests&configuration=Build%20%26%20Unit%20Tests%20Ubuntu)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
|Azure Pipelines|N/A|macOS|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&jobName=Build%20%26%20Unit%20Tests&configuration=Build%20%26%20Unit%20Tests%20macOS)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&jobName=Build%20%26%20Unit%20Tests&configuration=Build%20%26%20Unit%20Tests%20macOS)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|GitHub Actions|N/A|Ubuntu|[![Build and tests](https://github.com/cake-contrib/Cake.Issues/actions/workflows/build.yml/badge.svg?branch=develop)](https://github.com/cake-contrib/Cake.Issues/actions/workflows/build.yml)|[![Build and tests](https://github.com/cake-contrib/Cake.Issues/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/cake-contrib/Cake.Issues/actions/workflows/build.yml)|
+
+## Integration Tests Cake.Issues.GitRepository
+
+| CI Server | Runner | Operating System | Develop | Master |
+|:--:|:--:|:--:|:--:|:--:|
+|Azure Pipelines|Cake Scripting|Windows Server 2019|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Windows Server 2022|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|macOS 11|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|macOS 13|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Ubuntu 20.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Ubuntu 22.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.GitRepository&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
## Integration Tests Cake.Issues.Markdownlint
@@ -19,3 +31,66 @@
|Azure Pipelines|Cake Scripting|macOS 13|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Markdownlint&jobName=Test&configuration=Test%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Markdownlint&jobName=Test&configuration=Test%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
|Azure Pipelines|Cake Scripting|Ubuntu 20.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Markdownlint&jobName=Test&configuration=Test%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Markdownlint&jobName=Test&configuration=Test%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
|Azure Pipelines|Cake Scripting|Ubuntu 22.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Markdownlint&jobName=Test&configuration=Test%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Markdownlint&jobName=Test&configuration=Test%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+
+## Integration Tests Cake.Issues.Reporting.Console
+
+| CI Server | Runner | Operating System | Develop | Master |
+|:--:|:--:|:--:|:--:|:--:|
+|Azure Pipelines|Cake Scripting|Windows Server 2019|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Windows Server 2022|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|macOS 11|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|macOS 13|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Ubuntu 20.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Ubuntu 22.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Windows Server 2019|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Windows Server 2022|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|macOS 11|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|macOS 13|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Ubuntu 20.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Ubuntu 22.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Console&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+
+## Integration Tests Cake.Issues.Reporting.Generic
+
+| CI Server | Runner | Operating System | Develop | Master |
+|:--:|:--:|:--:|:--:|:--:|
+|Azure Pipelines|Cake Scripting|Windows Server 2019|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Windows Server 2022|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|macOS 11|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|macOS 13|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Ubuntu 20.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Ubuntu 22.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Windows Server 2019|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Windows Server 2022|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|macOS 11|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|macOS 13|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Ubuntu 20.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Ubuntu 22.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Generic&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+
+## Integration Tests Cake.Issues.Reporting.Sarif
+
+| CI Server | Runner | Operating System | Develop | Master |
+|:--:|:--:|:--:|:--:|:--:|
+|Azure Pipelines|Cake Scripting|Windows Server 2019|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Windows Server 2022|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|macOS 11|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|macOS 13|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Ubuntu 20.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Scripting|Ubuntu 22.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Scripting&configuration=Test%20Cake%20Scripting%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Windows Server 2019|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Windows Server 2022|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|macOS 11|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|macOS 13|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Ubuntu 20.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 6|Ubuntu 22.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%206&configuration=Test%20Cake%20Frosting%20.NET%206%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 7|Windows Server 2019|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 7|Windows Server 2022|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 7|macOS 11|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 7|macOS 13|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 7|Ubuntu 20.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 7|Ubuntu 22.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%207&configuration=Test%20Cake%20Frosting%20.NET%207%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 8|Windows Server 2019|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20Windows_Server_2019)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 8|Windows Server 2022|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20Windows_Server_2022)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 8|macOS 11|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20macOS_11)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 8|macOS 13|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20macOS_13)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 8|Ubuntu 20.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20Ubuntu_20_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
+|Azure Pipelines|Cake Frosting .NET 8|Ubuntu 22.04|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=develop&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=develop)|[![Build Status](https://dev.azure.com/cake-contrib/Cake.Issues/_apis/build/status%2Fcake-contrib.Cake.Issues?branchName=master&stageName=Integration%20Tests%20Cake.Issues.Reporting.Sarif&jobName=Test%20Cake%20Frosting%20.NET%208&configuration=Test%20Cake%20Frosting%20.NET%208%20Ubuntu_22_04)](https://dev.azure.com/cake-contrib/Cake.Issues/_build/latest?definitionId=2&branchName=master)|
diff --git a/GitReleaseManager.yaml b/GitReleaseManager.yaml
index 721c1ba4d..f5d7620c1 100644
--- a/GitReleaseManager.yaml
+++ b/GitReleaseManager.yaml
@@ -3,6 +3,7 @@ issue-labels-include:
- Feature
- Bug
- Improvement
+- Dependencies
- Documentation
issue-labels-exclude:
- Build
diff --git a/LICENSE b/LICENSE
index 1b9b8d618..1dbb12432 100644
--- a/LICENSE
+++ b/LICENSE
@@ -24,9 +24,22 @@ SOFTWARE.
The binary distribution of Cake.Issues.MsBuild on nuget.org incorporates material from the projects listed below:
+1. MSBuild.StructuredLogger
+2. Microsoft.Build.Framework & Microsoft.Build.Utilities.Core
+3. System.Collections.Immutable
+
+Cake.Issues.Reporting.Generic incorporates material from the projects listed below:
+
+4. LitJSON
+
+The binary distribution of Cake.Issues.Reporting.Generic on nuget.org incorporates material from the projects listed below:
+
+5. Gazorator
+6. ASP.NET Core
+
---
-MSBuild.StructuredLogger
+1. MSBuild.StructuredLogger
The MIT License (MIT)
@@ -52,7 +65,7 @@ SOFTWARE.
---
-Microsoft.Build.Framework & Microsoft.Build.Utilities.Core
+2. Microsoft.Build.Framework & Microsoft.Build.Utilities.Core
MICROSOFT SOFTWARE LICENSE TERMS
@@ -155,7 +168,95 @@ EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous po
---
-System.Collections.Immutable
+3. System.Collections.Immutable
+
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+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.
+
+4. LitJSON
+
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+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 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.
+
+For more information, please refer to
@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 new file mode 100644 index 000000000..e491db400 --- /dev/null +++ b/docs/input/docs/issue-providers/gitrepository/requirements.md @@ -0,0 +1,9 @@ +--- +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 new file mode 100644 index 000000000..ccf4197bb --- /dev/null +++ b/docs/input/docs/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md @@ -0,0 +1,33 @@ +--- +Title: BinaryFileNotTrackedByLfs +Description: A binary file is not tracked by Git LFS. +--- + +# Table Class=table HeaderRows=0 ?> +* +"Rule Id" BinaryFileNotTrackedByLfs +Priority Warning +"Available in" "0.7.0 or higher" +?> +#/ Table ?> + +## 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/FilePathTooLong.md b/docs/input/docs/issue-providers/gitrepository/rules/FilePathTooLong.md new file mode 100644 index 000000000..e3eb20e67 --- /dev/null +++ b/docs/input/docs/issue-providers/gitrepository/rules/FilePathTooLong.md @@ -0,0 +1,25 @@ +--- +Title: FilePathTooLong +Description: The path of a file is too long. +--- + +# Table Class=table HeaderRows=0 ?> +* +"Rule Id" FilePathTooLong +Priority Warning +"Available in" "0.7.3 or higher" +?> +#/ Table ?> + +## Cause + +The path of a file in the repository is too long. + +## Rule description + +Some operating systems and applications have a limitation of maximum path length which they can handle. +To guarantee proper building this length should not be exceeded. + +## How to fix violations + +Rename the name of the file or shorten the path name. diff --git a/docs/input/docs/issue-providers/gitrepository/rules/index.cshtml b/docs/input/docs/issue-providers/gitrepository/rules/index.cshtml new file mode 100644 index 000000000..31e0d52d1 --- /dev/null +++ b/docs/input/docs/issue-providers/gitrepository/rules/index.cshtml @@ -0,0 +1,7 @@ +--- +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/terraform/features.md b/docs/input/docs/issue-providers/terraform/features.md new file mode 100644 index 000000000..dbb414f25 --- /dev/null +++ b/docs/input/docs/issue-providers/terraform/features.md @@ -0,0 +1,37 @@ +--- +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 new file mode 100644 index 000000000..184598ebb --- /dev/null +++ b/docs/input/docs/issue-providers/terraform/index.cshtml @@ -0,0 +1,12 @@ +--- +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 new file mode 100644 index 000000000..4b7a408f3 --- /dev/null +++ b/docs/input/docs/issue-providers/terraform/requirements.md @@ -0,0 +1,9 @@ +--- +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/pull-request-systems/appveyor/appveyor-messages.png b/docs/input/docs/pull-request-systems/appveyor/appveyor-messages.png new file mode 100644 index 000000000..1487681a3 Binary files /dev/null and b/docs/input/docs/pull-request-systems/appveyor/appveyor-messages.png differ diff --git a/docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.md b/docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.md new file mode 100644 index 000000000..2620901b5 --- /dev/null +++ b/docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.md @@ -0,0 +1,24 @@ +--- +Order: 20 +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] +in your `appveyor.yml` file. + +The following example will write a comment to the GitHub pull request containing all issues which were posted as message to the +AppVeyor build: + +```yml +notifications: +- provider: GitHubPullRequest + template: "{{#passed}}:white_check_mark:{{/passed}}{{#failed}}:x:{{/failed}} [Build {{&projectName}} {{buildVersion}} {{status}}]({{buildUrl}}) (commit {{commitUrl}} by @{{&commitAuthorUsername}})Build messages:
@Html.Raw(Model.String(DocsKeys.Description))
+ ++ 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 new file mode 100644 index 000000000..446b03b69 --- /dev/null +++ b/docs/input/docs/pull-request-systems/appveyor/requirements.md @@ -0,0 +1,9 @@ +--- +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/cake.issues.pullrequests.azuredevops.png b/docs/input/docs/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png new file mode 100644 index 000000000..af5eda3c0 Binary files /dev/null and b/docs/input/docs/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png differ diff --git a/docs/input/docs/pull-request-systems/azure-devops/examples/azure-pipelines.md b/docs/input/docs/pull-request-systems/azure-devops/examples/azure-pipelines.md new file mode 100644 index 000000000..6078ba5ac --- /dev/null +++ b/docs/input/docs/pull-request-systems/azure-devops/examples/azure-pipelines.md @@ -0,0 +1,83 @@ +--- +Order: 30 +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 "Cake.Issues" +#addin "Cake.Issues.InspectCode" +#addin "Cake.Issues.PullRequests" +#addin "Cake.Issues.PullRequests.AzureDevOps" +#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. + +See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) 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. + +:::{.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. + +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); + } + } + } +}); +``` + +[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 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 new file mode 100644 index 000000000..17e2702db --- /dev/null +++ b/docs/input/docs/pull-request-systems/azure-devops/examples/index.cshtml @@ -0,0 +1,12 @@ +--- +Title: Examples +Description: Examples for using the Cake.Issues.PullRequests.AzureDevOps addin. +--- +@Html.Raw(Model.String(DocsKeys.Description))
+ ++ 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 new file mode 100644 index 000000000..9c245110d --- /dev/null +++ b/docs/input/docs/pull-request-systems/azure-devops/requirements.md @@ -0,0 +1,9 @@ +--- +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/azure-devops/setup.md b/docs/input/docs/pull-request-systems/azure-devops/setup.md new file mode 100644 index 000000000..ac9f128bb --- /dev/null +++ b/docs/input/docs/pull-request-systems/azure-devops/setup.md @@ -0,0 +1,78 @@ +--- +Order: 30 +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 + +:::{.alert .alert-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 + +:::{.alert .alert-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]. + +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 + +To authenticate with an personal access token you can use the [AzureDevOpsAuthenticationPersonalAccessToken] alias from the [Cake.AzureDevOps addin]. + +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 +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 + +:::{.alert .alert-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. +For this you need to enable the [Allow scripts to access the OAuth token] option on the build definition. + +To authenticate you can use the [AzureDevOpsAuthenticationOAuth] alias from the [Cake.AzureDevOps addin]. + +The user under which the build runs, named `@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/examples/write-annotations.md b/docs/input/docs/pull-request-systems/github-actions/examples/write-annotations.md new file mode 100644 index 000000000..719a51917 --- /dev/null +++ b/docs/input/docs/pull-request-systems/github-actions/examples/write-annotations.md @@ -0,0 +1,54 @@ +--- +Order: 10 +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 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: + +```csharp +#addin "Cake.Issues" +#addin "Cake.Issues.InspectCode" +#addin "Cake.Issues.PullRequests" +#addin "Cake.Issues.PullRequests.GitHubActions" +``` + +:::{.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. + +See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) 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 [GitHubActionsBuilds] alias: + +```csharp +Task("ReportIssuesToGitHubActions").Does(() => +{ + var repoRootFolder = MakeAbsolute(Directory("./")); + + ReportIssuesToPullRequest( + InspectCodeIssuesFromFilePath( + @"C:\build\inspectcode.log"), + GitHubActionsBuilds(), + repoRootFolder); +}); +``` + +The output will show up in the build log grouped by issue provider / run: + +![Log output](../githubactions-log-output.png "Log output") + +Additionally the issues show up as annotations: + +![Annotations](../githubactions-annotations.png "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/input/docs/pull-request-systems/github-actions/features.md b/docs/input/docs/pull-request-systems/github-actions/features.md new file mode 100644 index 000000000..91dea5e3c --- /dev/null +++ b/docs/input/docs/pull-request-systems/github-actions/features.md @@ -0,0 +1,25 @@ +--- +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/githubactions-annotations.png b/docs/input/docs/pull-request-systems/github-actions/githubactions-annotations.png new file mode 100644 index 000000000..d9c8bb693 Binary files /dev/null and b/docs/input/docs/pull-request-systems/github-actions/githubactions-annotations.png differ diff --git a/docs/input/docs/pull-request-systems/github-actions/githubactions-log-output.png b/docs/input/docs/pull-request-systems/github-actions/githubactions-log-output.png new file mode 100644 index 000000000..779bc0b9b Binary files /dev/null and b/docs/input/docs/pull-request-systems/github-actions/githubactions-log-output.png differ diff --git a/docs/input/docs/pull-request-systems/github-actions/githubactions-pullrequest-integration.png b/docs/input/docs/pull-request-systems/github-actions/githubactions-pullrequest-integration.png new file mode 100644 index 000000000..def6f8cb0 Binary files /dev/null and b/docs/input/docs/pull-request-systems/github-actions/githubactions-pullrequest-integration.png differ diff --git a/docs/input/docs/pull-request-systems/github-actions/index.cshtml b/docs/input/docs/pull-request-systems/github-actions/index.cshtml new file mode 100644 index 000000000..aba361913 --- /dev/null +++ b/docs/input/docs/pull-request-systems/github-actions/index.cshtml @@ -0,0 +1,10 @@ +--- +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 new file mode 100644 index 000000000..e1e66947a --- /dev/null +++ b/docs/input/docs/pull-request-systems/github-actions/requirements.md @@ -0,0 +1,9 @@ +--- +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/report-formats/console/examples.md b/docs/input/docs/report-formats/console/examples.md new file mode 100644 index 000000000..ea9f76c5d --- /dev/null +++ b/docs/input/docs/report-formats/console/examples.md @@ -0,0 +1,57 @@ +--- +Order: 30 +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. + +See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. +::: + +```csharp +#tool "nuget:?package=MSBuild.Extension.Pack" +#addin "Cake.Issues" +#addin "Cake.Issues.MsBuild" +#addin "Cake.Issues.Reporting" +#addin "Cake.Issues.Reporting.Console" + +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. + 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); + + // Write issues to console. + CreateIssueReport( + new List@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 new file mode 100644 index 000000000..469d4c60c --- /dev/null +++ b/docs/input/docs/report-formats/console/requirements.md @@ -0,0 +1,9 @@ +--- +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/examples/custom-template.md b/docs/input/docs/report-formats/generic/examples/custom-template.md new file mode 100644 index 000000000..8f3bbf242 --- /dev/null +++ b/docs/input/docs/report-formats/generic/examples/custom-template.md @@ -0,0 +1,116 @@ +--- +Order: 20 +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. +::: + +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. + +See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. +::: + +```csharp +#tool "nuget:?package=MSBuild.Extension.Pack" +#addin "Cake.Issues" +#addin "Cake.Issues.MsBuild" +#addin "Cake.Issues.Reporting" +#addin "Cake.Issues.Reporting.Generic" + +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. + 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); + + // Create HTML report using Diagnostic template. + CreateIssueReport( + new ListAffectedFileRelativePath | +Line | +Message | +Priority | +Rule | +RuleUrl | +ProviderType | +
---|---|---|---|---|---|---|
@issue.AffectedFileRelativePath | +@issue.Line | +@issue.MessageText | +@issue.Priority | +@issue.RuleId | +@issue.RuleUrl | +@issue.ProviderType | +
@Html.Raw(Model.String(DocsKeys.Description))
+ +@Html.Partial("_ChildPages") \ 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 new file mode 100644 index 000000000..247752c6e --- /dev/null +++ b/docs/input/docs/report-formats/generic/features.md @@ -0,0 +1,20 @@ +--- +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 new file mode 100644 index 000000000..801250351 --- /dev/null +++ b/docs/input/docs/report-formats/generic/index.cshtml @@ -0,0 +1,12 @@ +--- +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 new file mode 100644 index 000000000..e5c917073 --- /dev/null +++ b/docs/input/docs/report-formats/generic/requirements.md @@ -0,0 +1,9 @@ +--- +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 new file mode 100644 index 000000000..3c8fd7f2d --- /dev/null +++ b/docs/input/docs/report-formats/generic/templates/.artifactignore @@ -0,0 +1,2 @@ +**/* +!*.html \ No newline at end of file diff --git a/docs/input/docs/report-formats/generic/templates/htmldatatable-demo-default.html b/docs/input/docs/report-formats/generic/templates/htmldatatable-demo-default.html new file mode 100644 index 000000000..0990eedaf --- /dev/null +++ b/docs/input/docs/report-formats/generic/templates/htmldatatable-demo-default.html @@ -0,0 +1,495 @@ + + + + + + + +Severity | +Project | +Directory | +File | +Location | +Rule | +Message | +
---|---|---|---|---|---|---|
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +CSC | ++ | + CA9998 + | +FxCopAnalyzers package has been deprecated in favor of 'Microsoft.CodeAnalysis.NetAnalyzers', that ships with the .NET SDK. Please refer to https://docs.microsoft.com/visualstudio/code-quality/migrate-from-fxcop-analyzers-to-net-analyzers to migrate to .NET analyzers. | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +CSC | ++ | + CA9998 + | +FxCopAnalyzers package has been deprecated in favor of 'Microsoft.CodeAnalysis.NetAnalyzers', that ships with the .NET SDK. Please refer to https://docs.microsoft.com/visualstudio/code-quality/migrate-from-fxcop-analyzers-to-net-analyzers to migrate to .NET analyzers. | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +1:1 | ++ SA1633 + | +The file header is missing or not located at the top of the file. | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +CSC | ++ | + CA9998 + | +FxCopAnalyzers package has been deprecated in favor of 'Microsoft.CodeAnalysis.NetAnalyzers', that ships with the .NET SDK. Please refer to https://docs.microsoft.com/visualstudio/code-quality/migrate-from-fxcop-analyzers-to-net-analyzers to migrate to .NET analyzers. | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +1:1 | ++ SA1200 + | +Using directive should appear within a namespace declaration | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +2:1 | ++ SA1200 + | +Using directive should appear within a namespace declaration | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +3:1 | ++ SA1200 + | +Using directive should appear within a namespace declaration | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +4:1 | ++ SA1200 + | +Using directive should appear within a namespace declaration | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +5:1 | ++ SA1200 + | +Using directive should appear within a namespace declaration | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +11:21 | ++ CA1822 + | +Member 'Foo' does not access instance data and can be marked as static | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +21:21 | ++ CA1822 + | +Member 'Bar' does not access instance data and can be marked as static | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +CSC | ++ | + SA0001 + | +XML comment analysis is disabled due to project configuration | +
Severity | +Project | +Directory | +File | +Location | +Rule | +Message | +
---|---|---|---|---|---|---|
Warning | ++ | src/ClassLibrary1 | +Class1.cs | +12-19 | ++dupFinder | +Possible duplicate detected (cost 76). The following fragments were found that might be duplicates: "src\ClassLibrary1\Class1.cs" (Line 22 to 29) | +
Warning | ++ | src/ClassLibrary1 | +Class1.cs | +22-29 | ++dupFinder | +Possible duplicate detected (cost 76). The following fragments were found that might be duplicates: "src\ClassLibrary1\Class1.cs" (Line 12 to 19) | +
Severity | +Project | +Directory | +File | +Location | +Rule | +Message | +
---|---|---|---|---|---|---|
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +1 | ++ RedundantUsingDirective + | +Using directive is not required by the code and can be safely removed | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +2 | ++ RedundantUsingDirective + | +Using directive is not required by the code and can be safely removed | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +3 | ++ RedundantUsingDirective + | +Using directive is not required by the code and can be safely removed | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +4 | ++ RedundantUsingDirective + | +Using directive is not required by the code and can be safely removed | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +5 | ++ RedundantUsingDirective + | +Using directive is not required by the code and can be safely removed | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +17 | ++ UnusedVariable + | +Local variable 'foobar' is never used | +
Warning | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +27 | ++ UnusedVariable + | +Local variable 'foobar' is never used | +
Suggestion | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +9 | ++ UnusedType.Global + | +Class 'Class1' is never used | +
Suggestion | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +11 | ++ UnusedMember.Global + | +Method 'Foo' is never used | +
Suggestion | +ClassLibrary1 | +src/ClassLibrary1 | +Class1.cs | +21 | ++ UnusedMember.Global + | +Method 'Bar' is never used | +
Severity | +Project | +Directory | +File | +Location | +Rule | +Message | +
---|---|---|---|---|---|---|
Warning | ++ | docs | +index.md | +1 | ++ MD022 + | +Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "# foo"] | +
Warning | ++ | docs | +index.md | +2:811 | ++ MD009 + | +Trailing spaces [Expected: 0 or 2; Actual: 1] | +
Warning | ++ | docs | +index.md | +2:101 | ++ MD013 + | +Line length [Expected: 100; Actual: 811] | +
Warning | ++ | docs | +index.md | +4 | ++ MD022 + | +Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "# bar"] | +
Warning | ++ | docs | +index.md | +4 | ++ MD025 + | +Multiple top-level headings in the same document [Context: "# bar"] | +
Warning | ++ | docs | +index.md | +5 | ++ MD031 + | +Fenced code blocks should be surrounded by blank lines [Context: "```"] | +
Warning | ++ | docs | +index.md | +5 | ++ MD040 + | +Fenced code blocks should have a language specified [Context: "```"] | +
Warning | ++ | docs | +index.md | +7:3 | ++ MD047 + | +Files should end with a single newline character | +
Severity | +Project | +Directory | +File | +Location | +Rule | +Message | +
---|---|---|---|---|---|---|
Warning | ++ | + | myfile.txt | +42 | ++ | +Something went wrong | +
ProjectFileRelativePath | +ProjectName | +AffectedFileRelativePath | +Line | +EndLine | +Column | +EndColumn | +MessageText | +MessageHtml | +MessageMarkdown | +Priority | +PriorityName | +RuleId | +RuleName | +RuleUrl | +Run | +ProviderType | +ProviderName | +
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/CSC | ++ | + | + | + | FxCopAnalyzers package has been deprecated in favor of 'Microsoft.CodeAnalysis.NetAnalyzers', that ships with the .NET SDK. Please refer to https://docs.microsoft.com/visualstudio/code-quality/migrate-from-fxcop-analyzers-to-net-analyzers to migrate to .NET analyzers. | ++ | + | 300 | +Warning | +CA9998 | ++ | https://www.google.com/search?q="CA9998:"+site:learn.microsoft.com | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/CSC | ++ | + | + | + | FxCopAnalyzers package has been deprecated in favor of 'Microsoft.CodeAnalysis.NetAnalyzers', that ships with the .NET SDK. Please refer to https://docs.microsoft.com/visualstudio/code-quality/migrate-from-fxcop-analyzers-to-net-analyzers to migrate to .NET analyzers. | ++ | + | 300 | +Warning | +CA9998 | ++ | https://www.google.com/search?q="CA9998:"+site:learn.microsoft.com | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +1 | ++ | 1 | ++ | The file header is missing or not located at the top of the file. | ++ | + | 300 | +Warning | +SA1633 | ++ | https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1633.md | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/CSC | ++ | + | + | + | FxCopAnalyzers package has been deprecated in favor of 'Microsoft.CodeAnalysis.NetAnalyzers', that ships with the .NET SDK. Please refer to https://docs.microsoft.com/visualstudio/code-quality/migrate-from-fxcop-analyzers-to-net-analyzers to migrate to .NET analyzers. | ++ | + | 300 | +Warning | +CA9998 | ++ | https://www.google.com/search?q="CA9998:"+site:learn.microsoft.com | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +1 | ++ | 1 | ++ | Using directive should appear within a namespace declaration | ++ | + | 300 | +Warning | +SA1200 | ++ | https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1200.md | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +2 | ++ | 1 | ++ | Using directive should appear within a namespace declaration | ++ | + | 300 | +Warning | +SA1200 | ++ | https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1200.md | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +3 | ++ | 1 | ++ | Using directive should appear within a namespace declaration | ++ | + | 300 | +Warning | +SA1200 | ++ | https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1200.md | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +4 | ++ | 1 | ++ | Using directive should appear within a namespace declaration | ++ | + | 300 | +Warning | +SA1200 | ++ | https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1200.md | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +5 | ++ | 1 | ++ | Using directive should appear within a namespace declaration | ++ | + | 300 | +Warning | +SA1200 | ++ | https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1200.md | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +11 | ++ | 21 | ++ | Member 'Foo' does not access instance data and can be marked as static | ++ | + | 300 | +Warning | +CA1822 | ++ | https://www.google.com/search?q="CA1822:"+site:learn.microsoft.com | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +21 | ++ | 21 | ++ | Member 'Bar' does not access instance data and can be marked as static | ++ | + | 300 | +Warning | +CA1822 | ++ | https://www.google.com/search?q="CA1822:"+site:learn.microsoft.com | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
src/ClassLibrary1/ClassLibrary1.csproj | +ClassLibrary1 | +src/ClassLibrary1/CSC | ++ | + | + | + | XML comment analysis is disabled due to project configuration | ++ | + | 300 | +Warning | +SA0001 | ++ | https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA0001.md | ++ | Cake.Issues.MsBuild.MsBuildIssuesProvider | +MSBuild | +
+ | + | src/ClassLibrary1/Class1.cs | +12 | +19 | ++ | + | Possible duplicate detected (cost 76). The following fragments were found that might be duplicates: "src\ClassLibrary1\Class1.cs" (Line 22 to 29) | +Possible duplicate detected (cost 76).<br/>The following fragments were found that might be duplicates:<br/><a href='https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/src/ClassLibrary1/Class1.cs#L22-L29'>src\ClassLibrary1\Class1.cs</a> (Line 22 to 29) | +Possible duplicate detected (cost 76). The following fragments were found that might be duplicates: [src\ClassLibrary1\Class1.cs](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/src/ClassLibrary1/Class1.cs#L22-L29) (Line 22 to 29) | +300 | +Warning | +dupFinder | ++ | + | + | Cake.Issues.DupFinder.DupFinderIssuesProvider | +DupFinder | +
+ | + | src/ClassLibrary1/Class1.cs | +22 | +29 | ++ | + | Possible duplicate detected (cost 76). The following fragments were found that might be duplicates: "src\ClassLibrary1\Class1.cs" (Line 12 to 19) | +Possible duplicate detected (cost 76).<br/>The following fragments were found that might be duplicates:<br/><a href='https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/src/ClassLibrary1/Class1.cs#L12-L19'>src\ClassLibrary1\Class1.cs</a> (Line 12 to 19) | +Possible duplicate detected (cost 76). The following fragments were found that might be duplicates: [src\ClassLibrary1\Class1.cs](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/src/ClassLibrary1/Class1.cs#L12-L19) (Line 12 to 19) | +300 | +Warning | +dupFinder | ++ | + | + | Cake.Issues.DupFinder.DupFinderIssuesProvider | +DupFinder | +
+ | ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +1 | ++ | + | + | Using directive is not required by the code and can be safely removed | ++ | + | 300 | +Warning | +RedundantUsingDirective | +Redundant using directive | +https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantUsingDirective | ++ | Cake.Issues.InspectCode.InspectCodeIssuesProvider | +InspectCode | +
+ | ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +2 | ++ | + | + | Using directive is not required by the code and can be safely removed | ++ | + | 300 | +Warning | +RedundantUsingDirective | +Redundant using directive | +https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantUsingDirective | ++ | Cake.Issues.InspectCode.InspectCodeIssuesProvider | +InspectCode | +
+ | ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +3 | ++ | + | + | Using directive is not required by the code and can be safely removed | ++ | + | 300 | +Warning | +RedundantUsingDirective | +Redundant using directive | +https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantUsingDirective | ++ | Cake.Issues.InspectCode.InspectCodeIssuesProvider | +InspectCode | +
+ | ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +4 | ++ | + | + | Using directive is not required by the code and can be safely removed | ++ | + | 300 | +Warning | +RedundantUsingDirective | +Redundant using directive | +https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantUsingDirective | ++ | Cake.Issues.InspectCode.InspectCodeIssuesProvider | +InspectCode | +
+ | ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +5 | ++ | + | + | Using directive is not required by the code and can be safely removed | ++ | + | 300 | +Warning | +RedundantUsingDirective | +Redundant using directive | +https://www.jetbrains.com/resharperplatform/help?Keyword=RedundantUsingDirective | ++ | Cake.Issues.InspectCode.InspectCodeIssuesProvider | +InspectCode | +
+ | ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +9 | ++ | + | + | Class 'Class1' is never used | ++ | + | 200 | +Suggestion | +UnusedType.Global | +Type is never used: Non-private accessibility | +https://www.jetbrains.com/resharperplatform/help?Keyword=UnusedType.Global | ++ | Cake.Issues.InspectCode.InspectCodeIssuesProvider | +InspectCode | +
+ | ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +11 | ++ | + | + | Method 'Foo' is never used | ++ | + | 200 | +Suggestion | +UnusedMember.Global | +Type member is never used: Non-private accessibility | +https://www.jetbrains.com/resharperplatform/help?Keyword=UnusedMember.Global | ++ | Cake.Issues.InspectCode.InspectCodeIssuesProvider | +InspectCode | +
+ | ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +17 | ++ | + | + | Local variable 'foobar' is never used | ++ | + | 300 | +Warning | +UnusedVariable | +Unused local variable | +https://www.jetbrains.com/resharperplatform/help?Keyword=UnusedVariable | ++ | Cake.Issues.InspectCode.InspectCodeIssuesProvider | +InspectCode | +
+ | ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +21 | ++ | + | + | Method 'Bar' is never used | ++ | + | 200 | +Suggestion | +UnusedMember.Global | +Type member is never used: Non-private accessibility | +https://www.jetbrains.com/resharperplatform/help?Keyword=UnusedMember.Global | ++ | Cake.Issues.InspectCode.InspectCodeIssuesProvider | +InspectCode | +
+ | ClassLibrary1 | +src/ClassLibrary1/Class1.cs | +27 | ++ | + | + | Local variable 'foobar' is never used | ++ | + | 300 | +Warning | +UnusedVariable | +Unused local variable | +https://www.jetbrains.com/resharperplatform/help?Keyword=UnusedVariable | ++ | Cake.Issues.InspectCode.InspectCodeIssuesProvider | +InspectCode | +
+ | + | docs/index.md | +1 | ++ | + | + | Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "# foo"] | ++ | + | 300 | +Warning | +MD022 | ++ | https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md022 | +Demos documentation | +Cake.Issues.Markdownlint.MarkdownlintIssuesProvider | +markdownlint | +
+ | + | docs/index.md | +2 | ++ | 811 | ++ | Trailing spaces [Expected: 0 or 2; Actual: 1] | ++ | + | 300 | +Warning | +MD009 | ++ | https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md009 | +Demos documentation | +Cake.Issues.Markdownlint.MarkdownlintIssuesProvider | +markdownlint | +
+ | + | docs/index.md | +2 | ++ | 101 | ++ | Line length [Expected: 100; Actual: 811] | ++ | + | 300 | +Warning | +MD013 | ++ | https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md013 | +Demos documentation | +Cake.Issues.Markdownlint.MarkdownlintIssuesProvider | +markdownlint | +
+ | + | docs/index.md | +4 | ++ | + | + | Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "# bar"] | ++ | + | 300 | +Warning | +MD022 | ++ | https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md022 | +Demos documentation | +Cake.Issues.Markdownlint.MarkdownlintIssuesProvider | +markdownlint | +
+ | + | docs/index.md | +4 | ++ | + | + | Multiple top-level headings in the same document [Context: "# bar"] | ++ | + | 300 | +Warning | +MD025 | ++ | https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md025 | +Demos documentation | +Cake.Issues.Markdownlint.MarkdownlintIssuesProvider | +markdownlint | +
+ | + | docs/index.md | +5 | ++ | + | + | Fenced code blocks should be surrounded by blank lines [Context: "```"] | ++ | + | 300 | +Warning | +MD031 | ++ | https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md031 | +Demos documentation | +Cake.Issues.Markdownlint.MarkdownlintIssuesProvider | +markdownlint | +
+ | + | docs/index.md | +5 | ++ | + | + | Fenced code blocks should have a language specified [Context: "```"] | ++ | + | 300 | +Warning | +MD040 | ++ | https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md040 | +Demos documentation | +Cake.Issues.Markdownlint.MarkdownlintIssuesProvider | +markdownlint | +
+ | + | docs/index.md | +7 | ++ | 3 | ++ | Files should end with a single newline character | ++ | + | 300 | +Warning | +MD047 | ++ | https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md047 | +Demos documentation | +Cake.Issues.Markdownlint.MarkdownlintIssuesProvider | +markdownlint | +
+ | + | myfile.txt | +42 | ++ | + | + | Something went wrong | +Something went <b>wrong</b> | +Something went **wrong** | +300 | +Warning | ++ | + | + | + | MyCakeScript | +My Cake Script | +
@Html.Raw(Model.String(DocsKeys.Description))
+ +@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/report-formats/sarif/examples.md b/docs/input/docs/report-formats/sarif/examples.md new file mode 100644 index 000000000..31b231753 --- /dev/null +++ b/docs/input/docs/report-formats/sarif/examples.md @@ -0,0 +1,51 @@ +--- +Order: 30 +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. + +See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. +::: + +```csharp +#tool "nuget:?package=MSBuild.Extension.Pack" +#addin "Cake.Issues" +#addin "Cake.Issues.MsBuild" +#addin "Cake.Issues.Reporting" +#addin "Cake.Issues.Reporting.Sarif" + +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. + 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); + + // Create SARIF report. + CreateIssueReport( + new List@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 new file mode 100644 index 000000000..ab7342854 --- /dev/null +++ b/docs/input/docs/report-formats/sarif/requirements.md @@ -0,0 +1,9 @@ +--- +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/nuspec/nuget/Cake.Frosting.Issues.DocFx.nuspec b/nuspec/nuget/Cake.Frosting.Issues.DocFx.nuspec new file mode 100644 index 000000000..317591ecd --- /dev/null +++ b/nuspec/nuget/Cake.Frosting.Issues.DocFx.nuspec @@ -0,0 +1,59 @@ + +
+ ///
+ ///
+ /// {file}
is not tracked by Git LFS")
+ .WithMessageInMarkdownFormat($"The binary file `{file}` is not tracked by Git LFS")
+ .InFile(file)
+ .OfRule(ruleDescription)
+ .Create());
+ }
+
+ return result;
+ }
+
+ /// {file}
is too long. Maximum allowed path length is {this.IssueProviderSettings.MaxFilePathLength}, actual path length is {file.Length}.")
+ .WithMessageInMarkdownFormat($"The path for the file `{file}` is too long. Maximum allowed path length is {this.IssueProviderSettings.MaxFilePathLength}, actual path length is {file.Length}.")
+ .InFile(file)
+ .OfRule(ruleDescription)
+ .Create());
+ }
+ }
+
+ return result;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// http://myserver:8080/tfs/defaultcollection/myproject/_git/myrepository
.
+ /// Supported URL schemes are HTTP, HTTPS and SSH.
+ /// URLs using SSH scheme are converted to HTTPS.
+ /// Branch for which the pull request is made.
+ /// Credentials to use to authenticate against Azure DevOps.
+ ///
+ ///
+ ///
+ /// http://myserver:8080/tfs/defaultcollection/myproject/_git/myrepository
.
+ /// Supported URL schemes are HTTP, HTTPS and SSH.
+ /// URLs using SSH scheme are converted to HTTPS.
+ /// ID of the pull request.
+ /// Credentials to use to authenticate against Azure DevOps.
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// http://myserver:8080/tfs/defaultcollection/myproject/_git/myrepository
.
+ /// Supported URL schemes are HTTP, HTTPS and SSH.
+ /// URLs using SSH scheme are converted to HTTPS.
+ /// Branch for which the pull request is made.
+ /// Credentials to use to authenticate against Azure DevOps.
+ public AzureDevOpsPullRequestSystemSettings(Uri repositoryUrl, string sourceBranch, IAzureDevOpsCredentials credentials)
+ : base(repositoryUrl, sourceBranch, credentials)
+ {
+ }
+
+ /// http://myserver:8080/tfs/defaultcollection/myproject/_git/myrepository
.
+ /// Supported URL schemes are HTTP, HTTPS and SSH.
+ /// URLs using SSH scheme are converted to HTTPS.
+ /// ID of the pull request.
+ /// Credentials to use to authenticate against Azure DevOps.
+ public AzureDevOpsPullRequestSystemSettings(Uri repositoryUrl, int pullRequestId, IAzureDevOpsCredentials credentials)
+ : base(repositoryUrl, pullRequestId, credentials)
+ {
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///