Skip to content

Commit

Permalink
Added support for .NET 8. Dropped support for .NET 3.1 and .NET 5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
danielpalme committed Oct 10, 2023
1 parent 0e10248 commit 9f83681
Show file tree
Hide file tree
Showing 26 changed files with 96 additions and 127 deletions.
38 changes: 14 additions & 24 deletions .github/workflows/ci.yml
Expand Up @@ -6,8 +6,8 @@ env:
solution: 'src\ReportGenerator.sln'
buildPlatform: Any CPU
buildConfiguration: Release
version: 5.1.26
dotnetSDKVersion: 7.0.401
version: 5.2.0
dotnetSDKVersion: 8.0.100-rc.2.23502.2
nodeVersion: 18

jobs:
Expand Down Expand Up @@ -50,14 +50,6 @@ jobs:
- name: 'Compile Solution'
run: msbuild '${{ env.solution }}' /p:configuration='${{ env.buildConfiguration }}' /p:platform='${{ env.buildPlatform }}'

- name: dotnet publish Console.NetCore 3.1
run: dotnet publish -c ${{ env.BuildConfiguration }} -f netcoreapp3.1 ReportGenerator.Console.NetCore.csproj
working-directory: src/ReportGenerator.Console.NetCore

- name: dotnet publish Console.NetCore 5.0
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net5.0 ReportGenerator.Console.NetCore.csproj
working-directory: src/ReportGenerator.Console.NetCore

- name: dotnet publish Console.NetCore 6.0
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net6.0 ReportGenerator.Console.NetCore.csproj
working-directory: src/ReportGenerator.Console.NetCore
Expand All @@ -66,13 +58,9 @@ jobs:
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net7.0 ReportGenerator.Console.NetCore.csproj
working-directory: src/ReportGenerator.Console.NetCore

- name: dotnet publish DotnetGlobalTool 3.1
run: dotnet publish -c ${{ env.BuildConfiguration }} -f netcoreapp3.1 ReportGenerator.DotnetGlobalTool.csproj
working-directory: src/ReportGenerator.DotnetGlobalTool

- name: dotnet publish DotnetGlobalTool 5.0
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net5.0 ReportGenerator.DotnetGlobalTool.csproj
working-directory: src/ReportGenerator.DotnetGlobalTool
- name: dotnet publish Console.NetCore 8.0
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net8.0 ReportGenerator.Console.NetCore.csproj
working-directory: src/ReportGenerator.Console.NetCore

- name: dotnet publish DotnetGlobalTool 6.0
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net6.0 ReportGenerator.DotnetGlobalTool.csproj
Expand All @@ -82,6 +70,10 @@ jobs:
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net7.0 ReportGenerator.DotnetGlobalTool.csproj
working-directory: src/ReportGenerator.DotnetGlobalTool

- name: dotnet publish DotnetGlobalTool 8.0
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net8.0 ReportGenerator.DotnetGlobalTool.csproj
working-directory: src/ReportGenerator.DotnetGlobalTool

- name: Test
run: dotnet test src\ReportGenerator.Core.Test\ReportGenerator.Core.Test.csproj --configuration ${{ env.BuildConfiguration }} --no-build /p:CollectCoverage=true /p:DeterministicSourcePaths=true /p:IncludeTestAssembly=true /p:CoverletOutputFormat=opencover%2ccobertura /p:CoverletOutput=../target/reports/coverage/

Expand All @@ -106,8 +98,8 @@ jobs:

- name: 'Prepare VSIX release: NetCore'
run: |
mkdir src/AzureDevopsTask/ReportGenerator/tools/netcoreapp3.1
xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\netcoreapp3.1\publish' 'src\AzureDevopsTask\ReportGenerator\tools\netcoreapp3.1' /s
mkdir src/AzureDevopsTask/ReportGenerator/tools/net6.0
xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net6.0\publish' 'src\AzureDevopsTask\ReportGenerator\tools\net6.0' /s
- name: 'Prepare VSIX release: Install TFS Cross Platform Command Line Interface (tfx-cli)'
run: npm install -g tfx-cli
Expand All @@ -128,10 +120,9 @@ jobs:
run: |
mkdir tmpzip
mkdir tmpzip\net47
mkdir tmpzip\netcoreapp3.1
mkdir tmpzip\net5.0
mkdir tmpzip\net6.0
mkdir tmpzip\net7.0
mkdir tmpzip\net8.0
- name: 'Prepare ZIP release'
run: |
Expand All @@ -141,10 +132,9 @@ jobs:
xcopy "src\ReportGenerator.Console\bin\Release\*.dll" "tmpzip\net47"
xcopy "src\ReportGenerator.Console\bin\Release\ReportGenerator.exe" "tmpzip\net47"
xcopy "src\ReportGenerator.Console\bin\Release\ReportGenerator.exe.config" "tmpzip\net47"
xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\netcoreapp3.1\publish\*' 'tmpzip\netcoreapp3.1' /s
xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net5.0\publish\*' 'tmpzip\net5.0' /s
xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net6.0\publish\*' 'tmpzip\net6.0' /s
xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net7.0\publish\*' 'tmpzip\net7.0' /s
xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net8.0\publish\*' 'tmpzip\net8.0' /s
- name: 'Pack ZIP release'
run: Compress-Archive -Path tmpzip/* -DestinationPath src/target/packages/ReportGenerator_${{ env.Version }}.zip
Expand Down Expand Up @@ -199,7 +189,7 @@ jobs:
uses: softprops/action-gh-release@v1
with:
name: ReportGenerator_${{ env.Version }}
body: This release requires .NET 4.7 or .NET Core 3.1/5.x/6.x/7.x.
body: This release requires .NET 4.7 or .NET Core 6.x/7.x/8.x.
tag_name: v${{ env.Version }}
files: ReportGenerator_${{ env.Version }}.zip
env:
Expand Down
8 changes: 4 additions & 4 deletions README.md
Expand Up @@ -42,11 +42,11 @@ Use the online [configuration tool](https://reportgenerator.io/usage) to get sta

|**Package**|**Platforms**|**Installation/Usage**|
|:----------|:------------|:---------------------|
|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)<br/><br/>[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator)|.NET Core >=3.1<br/>.NET Framework 4.7|Use this package if your project is based on *.NET Framework* or *.NET Core* and you want to use *ReportGenerator* via the command line or a build script.<br/><br/>**Usage**<br/>```dotnet $(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net6.0\ReportGenerator.dll [options]```<br/>```$(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net6.0\ReportGenerator.exe [options]```<br/><br/>```$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]```|
|[dotnet-reportgenerator-globaltool](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)<br/><br/>[![Nuget](https://img.shields.io/nuget/v/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)|.NET Core >=3.1 |Use this package if your project is based on *.NET Core* and you want to use *ReportGenerator* as a (global) 'DotnetTool'.<br/><br/>**Installation**<br/>```dotnet tool install -g dotnet-reportgenerator-globaltool```<br/><br/>```dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools```<br/><br/>```dotnet new tool-manifest```<br/>```dotnet tool install dotnet-reportgenerator-globaltool```<br/><br/>**Usage**<br/>```reportgenerator [options]```<br/>```tools\reportgenerator.exe [options]```<br/>```dotnet reportgenerator [options]```|
|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)<br/><br/>[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator)|.NET Core >=6.0<br/>.NET Framework 4.7|Use this package if your project is based on *.NET Framework* or *.NET Core* and you want to use *ReportGenerator* via the command line or a build script.<br/><br/>**Usage**<br/>```dotnet $(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.dll [options]```<br/>```$(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.exe [options]```<br/><br/>```$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]```|
|[dotnet-reportgenerator-globaltool](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)<br/><br/>[![Nuget](https://img.shields.io/nuget/v/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)|.NET Core >=6.0 |Use this package if your project is based on *.NET Core* and you want to use *ReportGenerator* as a (global) 'DotnetTool'.<br/><br/>**Installation**<br/>```dotnet tool install -g dotnet-reportgenerator-globaltool```<br/><br/>```dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools```<br/><br/>```dotnet new tool-manifest```<br/>```dotnet tool install dotnet-reportgenerator-globaltool```<br/><br/>**Usage**<br/>```reportgenerator [options]```<br/>```tools\reportgenerator.exe [options]```<br/>```dotnet reportgenerator [options]```|
|[ReportGenerator.Core](https://www.nuget.org/packages/ReportGenerator.Core)<br/><br/>[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.Core.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.Core.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator.Core)|.NET Standard 2.0|Use this package if you want to write a custom **plugin** for *ReportGenerator* or if you want to call/execute *ReportGenerator* within your code base.<br/><br/>**Plugin development**<br/>[Custom reports](https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports)<br/>[Custom history storage](https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage)|
|[Azure DevOps extension](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)<br/><br/>[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/Palmmedia.reportgenerator.svg?style=for-the-badge)![Visual Studio Marketplace Installs - Azure DevOps Extension](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/Palmmedia.reportgenerator.svg?style=for-the-badge)](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)|.NET Core >=3.1| Add the Azure DevOps extension to your build pipeline.<br />[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#azure-devops-extension)|
|[GitHub Actions](https://github.com/marketplace/actions/reportgenerator)|.NET Core >=3.1| Add the GitHub Action to your build pipeline.<br />[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#github-actions)|
|[Azure DevOps extension](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)<br/><br/>[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/Palmmedia.reportgenerator.svg?style=for-the-badge)![Visual Studio Marketplace Installs - Azure DevOps Extension](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/Palmmedia.reportgenerator.svg?style=for-the-badge)](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)|.NET Core >=6.0| Add the Azure DevOps extension to your build pipeline.<br />[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#azure-devops-extension)|
|[GitHub Actions](https://github.com/marketplace/actions/reportgenerator)|.NET Core >=6.0| Add the GitHub Action to your build pipeline.<br />[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#github-actions)|

### Usage / Command line parameters
Use the online [configuration tool](https://reportgenerator.io/usage) to get started quickly.
Expand Down
2 changes: 1 addition & 1 deletion docs/main.752a4eb1bf070a26.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion global.json
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "7.0.401",
"version": "8.0.100-rc.2.23502.2",
"rollForward": "latestMajor"
}
}
2 changes: 1 addition & 1 deletion src/AzureDevopsTask/ReportGenerator/reportgenerator.ts
Expand Up @@ -3,7 +3,7 @@ import tl = require('azure-pipelines-task-lib/task');

async function executeReportGenerator(): Promise<number> {
var tool = tl.tool('dotnet')
.arg(path.join(__dirname, 'tools/netcoreapp3.1/ReportGenerator.dll'))
.arg(path.join(__dirname, 'tools/net6.0/ReportGenerator.dll'))
.arg('-reports:' + (tl.getInput('reports') || ''))
.arg('-targetdir:' + (tl.getInput('targetdir') || ''))
.arg('-reporttypes:' + (tl.getInput('reporttypes') || ''))
Expand Down
4 changes: 2 additions & 2 deletions src/AzureDevopsTask/ReportGenerator/task.json
Expand Up @@ -12,8 +12,8 @@
"author": "Palmmedia",
"version": {
"Major": 5,
"Minor": 1,
"Patch": 26
"Minor": 2,
"Patch": 0
},
"instanceNameFormat": "ReportGenerator",
"groups": [
Expand Down
2 changes: 1 addition & 1 deletion src/AzureDevopsTask/vss-extension.json
Expand Up @@ -2,7 +2,7 @@
"manifestVersion": 1,
"id": "reportgenerator",
"name": "ReportGenerator",
"version": "5.1.26",
"version": "5.2.0",
"publisher": "Palmmedia",
"public": true,
"targets": [
Expand Down
9 changes: 3 additions & 6 deletions src/Deployment/chocolatey/reportgenerator.portable.nuspec
Expand Up @@ -24,18 +24,15 @@
<file src="..\..\Readme.txt" target="Readme.txt" />
<file src="VERIFICATION.txt" target="tools\VERIFICATION.txt" />

<!-- NetCoreApp3.1 ('tools\netcoreapp3.1' directory) -->
<file src="..\..\ReportGenerator.Console.NetCore\bin\Release\netcoreapp3.1\publish\**\*.*" target="tools\netcoreapp3.1" />

<!-- Net5.0 ('tools\net5.0' directory) -->
<file src="..\..\ReportGenerator.Console.NetCore\bin\Release\net5.0\publish\**\*.*" target="tools\net5.0" />

<!-- Net6.0 ('tools\net6.0' directory) -->
<file src="..\..\ReportGenerator.Console.NetCore\bin\Release\net6.0\publish\**\*.*" target="tools\net6.0" />

<!-- Net7.0 ('tools\net7.0' directory) -->
<file src="..\..\ReportGenerator.Console.NetCore\bin\Release\net7.0\publish\**\*.*" target="tools\net7.0" />

<!-- Net8.0 ('tools\net8.0' directory) -->
<file src="..\..\ReportGenerator.Console.NetCore\bin\Release\net8.0\publish\**\*.*" target="tools\net8.0" />

<!-- .NET 4.7 ('tools\net47' directory) -->
<file src="..\..\ReportGenerator.Console\bin\Release\*.json" target="tools\net47" />
<file src="..\..\ReportGenerator.Console\bin\Release\*.dll" target="tools\net47" />
Expand Down
6 changes: 3 additions & 3 deletions src/Deployment/nuget/Readme_ReportGenerator.md
Expand Up @@ -13,13 +13,13 @@ ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotC

### .NET Core
```
dotnet $(UserProfile)\.nuget\packages\reportgenerator\5.1.26\tools\net6.0\ReportGenerator.dll [options]
$(UserProfile)\.nuget\packages\reportgenerator\5.1.26\tools\net6.0\ReportGenerator.exe [options]
dotnet $(UserProfile)\.nuget\packages\reportgenerator\5.2.0\tools\net8.0\ReportGenerator.dll [options]
$(UserProfile)\.nuget\packages\reportgenerator\5.2.0\tools\net8.0\ReportGenerator.exe [options]
```

### .NET Framework
```
$(UserProfile)\.nuget\packages\reportgenerator\5.1.26\tools\net47\ReportGenerator.exe [options]
$(UserProfile)\.nuget\packages\reportgenerator\5.2.0\tools\net47\ReportGenerator.exe [options]
```

## Additional information
Expand Down
Expand Up @@ -13,12 +13,12 @@ ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotC

### Installation
```
dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.1.26
dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.2.0
dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version 5.1.26
dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version 5.2.0
dotnet new tool-manifest
dotnet tool install dotnet-reportgenerator-globaltool --version 5.1.26
dotnet tool install dotnet-reportgenerator-globaltool --version 5.2.0
```

### Execution
Expand Down
24 changes: 8 additions & 16 deletions src/Deployment/nuget/ReportGenerator.Core.nuspec
Expand Up @@ -52,22 +52,6 @@ https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage</desc
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.deps.json" target="lib\netstandard2.0\" />
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.dll" target="lib\netstandard2.0\" />

<!-- Execution .NET Core 3.x (see https://github.com/coverlet-coverage/coverlet/pull/694) -->
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.deps.json" target="lib\netcoreapp3.1\" />
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.dll" target="lib\netcoreapp3.1\" />
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.xml" target="lib\netcoreapp3.1\" />
<file src="..\..\ReportGenerator.Core\bin\Release\appsettings.json" target="lib\netcoreapp3.1\" />
<file src="..\..\ReportGenerator.DotnetCorePluginLoader\bin\Release\netcoreapp3.1\ReportGenerator.DotnetCorePluginLoader.dll" target="lib\netcoreapp3.1\" />
<file src="..\..\ReportGenerator.DotnetCorePluginLoader\bin\Release\netcoreapp3.1\ReportGenerator.DotnetCorePluginLoader.xml" target="lib\netcoreapp3.1\" />

<!-- Execution .NET 5.x (see https://github.com/coverlet-coverage/coverlet/pull/694) -->
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.deps.json" target="lib\net5.0\" />
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.dll" target="lib\net5.0\" />
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.xml" target="lib\net5.0\" />
<file src="..\..\ReportGenerator.Core\bin\Release\appsettings.json" target="lib\net5.0\" />
<file src="..\..\ReportGenerator.DotnetCorePluginLoader\bin\Release\net5.0\ReportGenerator.DotnetCorePluginLoader.dll" target="lib\net5.0\" />
<file src="..\..\ReportGenerator.DotnetCorePluginLoader\bin\Release\net5.0\ReportGenerator.DotnetCorePluginLoader.xml" target="lib\net5.0\" />

<!-- Execution .NET 6.x (see https://github.com/coverlet-coverage/coverlet/pull/694) -->
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.deps.json" target="lib\net6.0\" />
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.dll" target="lib\net6.0\" />
Expand All @@ -83,6 +67,14 @@ https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage</desc
<file src="..\..\ReportGenerator.Core\bin\Release\appsettings.json" target="lib\net7.0\" />
<file src="..\..\ReportGenerator.DotnetCorePluginLoader\bin\Release\net7.0\ReportGenerator.DotnetCorePluginLoader.dll" target="lib\net7.0\" />
<file src="..\..\ReportGenerator.DotnetCorePluginLoader\bin\Release\net7.0\ReportGenerator.DotnetCorePluginLoader.xml" target="lib\net7.0\" />

<!-- Execution .NET 8.x (see https://github.com/coverlet-coverage/coverlet/pull/694) -->
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.deps.json" target="lib\net8.0\" />
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.dll" target="lib\net8.0\" />
<file src="..\..\ReportGenerator.Core\bin\Release\ReportGenerator.Core.xml" target="lib\net8.0\" />
<file src="..\..\ReportGenerator.Core\bin\Release\appsettings.json" target="lib\net8.0\" />
<file src="..\..\ReportGenerator.DotnetCorePluginLoader\bin\Release\net8.0\ReportGenerator.DotnetCorePluginLoader.dll" target="lib\net8.0\" />
<file src="..\..\ReportGenerator.DotnetCorePluginLoader\bin\Release\net8.0\ReportGenerator.DotnetCorePluginLoader.xml" target="lib\net8.0\" />
</files>
</package>

0 comments on commit 9f83681

Please sign in to comment.