diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 68990179..c65e70f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ env: buildPlatform: Any CPU buildConfiguration: Release version: 5.3.11 - dotnetSDKVersion: 8.0.403 + dotnetSDKVersion: 9.0.100 nodeVersion: 20 jobs: @@ -50,30 +50,22 @@ jobs: - name: 'Compile Solution' run: msbuild '${{ env.solution }}' /p:configuration='${{ env.buildConfiguration }}' /p:platform='${{ env.buildPlatform }}' - - 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 - - - name: dotnet publish Console.NetCore 7.0 - run: dotnet publish -c ${{ env.BuildConfiguration }} -f net7.0 ReportGenerator.Console.NetCore.csproj - working-directory: src/ReportGenerator.Console.NetCore - - 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 - working-directory: src/ReportGenerator.DotnetGlobalTool - - - name: dotnet publish DotnetGlobalTool 7.0 - run: dotnet publish -c ${{ env.BuildConfiguration }} -f net7.0 ReportGenerator.DotnetGlobalTool.csproj - working-directory: src/ReportGenerator.DotnetGlobalTool + - name: dotnet publish Console.NetCore 9.0 + run: dotnet publish -c ${{ env.BuildConfiguration }} -f net9.0 ReportGenerator.Console.NetCore.csproj + working-directory: src/ReportGenerator.Console.NetCore - name: dotnet publish DotnetGlobalTool 8.0 run: dotnet publish -c ${{ env.BuildConfiguration }} -f net8.0 ReportGenerator.DotnetGlobalTool.csproj working-directory: src/ReportGenerator.DotnetGlobalTool + - name: dotnet publish DotnetGlobalTool 9.0 + run: dotnet publish -c ${{ env.BuildConfiguration }} -f net9.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/ @@ -98,8 +90,8 @@ jobs: - name: 'Prepare VSIX release: NetCore' run: | - mkdir src/AzureDevopsTask/ReportGenerator/tools/net6.0 - xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net6.0\publish' 'src\AzureDevopsTask\ReportGenerator\tools\net6.0' /s + mkdir src/AzureDevopsTask/ReportGenerator/tools/net8.0 + xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net8.0\publish' 'src\AzureDevopsTask\ReportGenerator\tools\net8.0' /s - name: 'Prepare VSIX release: Install TFS Cross Platform Command Line Interface (tfx-cli)' run: npm install -g tfx-cli @@ -120,9 +112,8 @@ jobs: run: | mkdir tmpzip mkdir tmpzip\net47 - mkdir tmpzip\net6.0 - mkdir tmpzip\net7.0 mkdir tmpzip\net8.0 + mkdir tmpzip\net9.0 - name: 'Prepare ZIP release' run: | @@ -132,9 +123,8 @@ 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\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 + xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net9.0\publish\*' 'tmpzip\net9.0' /s - name: 'Pack ZIP release' run: Compress-Archive -Path tmpzip/* -DestinationPath src/target/packages/ReportGenerator_${{ env.Version }}.zip diff --git a/README.md b/README.md index d6dd6335..2dfc5f97 100644 --- a/README.md +++ b/README.md @@ -43,11 +43,11 @@ Use the online [configuration tool](https://reportgenerator.io/usage) to get sta |**Package**|**Platforms**|**Installation/Usage**| |:----------|:------------|:---------------------| -|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)

[![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
.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.

**Usage**
```dotnet $(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.dll [options]```
```$(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.exe [options]```

```$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]```| -|[dotnet-reportgenerator-globaltool](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)

[![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'.

**Installation**
```dotnet tool install -g dotnet-reportgenerator-globaltool```

```dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools```

```dotnet new tool-manifest```
```dotnet tool install dotnet-reportgenerator-globaltool```

**Usage**
```reportgenerator [options]```
```tools\reportgenerator.exe [options]```
```dotnet reportgenerator [options]```| +|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)

[![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 >=8.0
.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.

**Usage**
```dotnet $(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.dll [options]```
```$(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.exe [options]```

```$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]```| +|[dotnet-reportgenerator-globaltool](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)

[![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 >=8.0 |Use this package if your project is based on *.NET Core* and you want to use *ReportGenerator* as a (global) 'DotnetTool'.

**Installation**
```dotnet tool install -g dotnet-reportgenerator-globaltool```

```dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools```

```dotnet new tool-manifest```
```dotnet tool install dotnet-reportgenerator-globaltool```

**Usage**
```reportgenerator [options]```
```tools\reportgenerator.exe [options]```
```dotnet reportgenerator [options]```| |[ReportGenerator.Core](https://www.nuget.org/packages/ReportGenerator.Core)

[![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.

**Plugin development**
[Custom reports](https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports)
[Custom history storage](https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage)| -|[Azure DevOps extension](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)

[![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.
[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.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#github-actions)| +|[Azure DevOps extension](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)

[![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 >=8.0| Add the Azure DevOps extension to your build pipeline.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#azure-devops-extension)| +|[GitHub Actions](https://github.com/marketplace/actions/reportgenerator)|.NET Core >=8.0| Add the GitHub Action to your build pipeline.
[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. diff --git a/global.json b/global.json index 7227be09..b3c9d993 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "8.0.403", + "version": "9.0.100", "rollForward": "latestMajor" } } \ No newline at end of file diff --git a/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts b/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts index 1aaf4b05..b7f490f4 100644 --- a/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts +++ b/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts @@ -3,7 +3,7 @@ import tl = require('azure-pipelines-task-lib/task'); async function executeReportGenerator(): Promise { var tool = tl.tool('dotnet') - .arg(path.join(__dirname, 'tools/net6.0/ReportGenerator.dll')) + .arg(path.join(__dirname, 'tools/net8.0/ReportGenerator.dll')) .arg('-reports:' + (tl.getInput('reports') || '')) .arg('-targetdir:' + (tl.getInput('targetdir') || '')) .arg('-reporttypes:' + (tl.getInput('reporttypes') || '')) diff --git a/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts b/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts index 1aaf4b05..b7f490f4 100644 --- a/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts +++ b/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts @@ -3,7 +3,7 @@ import tl = require('azure-pipelines-task-lib/task'); async function executeReportGenerator(): Promise { var tool = tl.tool('dotnet') - .arg(path.join(__dirname, 'tools/net6.0/ReportGenerator.dll')) + .arg(path.join(__dirname, 'tools/net8.0/ReportGenerator.dll')) .arg('-reports:' + (tl.getInput('reports') || '')) .arg('-targetdir:' + (tl.getInput('targetdir') || '')) .arg('-reporttypes:' + (tl.getInput('reporttypes') || '')) diff --git a/src/Deployment/chocolatey/reportgenerator.portable.nuspec b/src/Deployment/chocolatey/reportgenerator.portable.nuspec index f45af775..0f12846c 100644 --- a/src/Deployment/chocolatey/reportgenerator.portable.nuspec +++ b/src/Deployment/chocolatey/reportgenerator.portable.nuspec @@ -24,15 +24,12 @@ - - - - - - + + + diff --git a/src/Deployment/nuget/ReportGenerator.Core.nuspec b/src/Deployment/nuget/ReportGenerator.Core.nuspec index 03955f73..22ea6d1a 100644 --- a/src/Deployment/nuget/ReportGenerator.Core.nuspec +++ b/src/Deployment/nuget/ReportGenerator.Core.nuspec @@ -56,22 +56,6 @@ https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage - - - - - - - - - - - - - - - - @@ -79,6 +63,14 @@ https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage + + + + + + + + diff --git a/src/Deployment/nuget/ReportGenerator.nuspec b/src/Deployment/nuget/ReportGenerator.nuspec index b0766adc..10da1f29 100644 --- a/src/Deployment/nuget/ReportGenerator.nuspec +++ b/src/Deployment/nuget/ReportGenerator.nuspec @@ -34,15 +34,12 @@ $(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator - - - - - - + + + diff --git a/src/Deployment/nuget/ReportGenerator.props b/src/Deployment/nuget/ReportGenerator.props index 21342a1d..af15bac1 100644 --- a/src/Deployment/nuget/ReportGenerator.props +++ b/src/Deployment/nuget/ReportGenerator.props @@ -1,7 +1,7 @@ - $(MSBuildThisFileDirectory)..\..\tools\net6.0\ReportGenerator.MSBuild.dll + $(MSBuildThisFileDirectory)..\..\tools\net8.0\ReportGenerator.MSBuild.dll $(MSBuildThisFileDirectory)..\..\tools\net47\ReportGenerator.MSBuild.dll diff --git a/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec b/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec index 14b232a9..5f1fa533 100644 --- a/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec +++ b/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec @@ -42,16 +42,12 @@ dotnet reportgenerator [options] - - - - - - - - + + + + diff --git a/src/Readme.txt b/src/Readme.txt index 0da1dc5e..3dd166a9 100644 --- a/src/Readme.txt +++ b/src/Readme.txt @@ -69,6 +69,7 @@ CHANGELOG 5.3.12.0 + * New: Added support for .NET 9. Dropped support for .NET 6 and .NET 7 * Fix: #699 Rounding crap score to full number * Fix: #700 Fixed handling of .netconfig files (sourceDirectories, reportTypes, plugins, assemblyFilters, etc.) diff --git a/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj b/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj index 0deaade9..02c4514b 100644 --- a/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj +++ b/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj @@ -2,7 +2,7 @@ Exe - net6.0;net7.0;net8.0 + net8.0;net9.0 ProgramIcon.ico ReportGenerator Palmmedia.ReportGenerator diff --git a/src/ReportGenerator.Core.Test/MsBuildTestScript_NetCore.proj b/src/ReportGenerator.Core.Test/MsBuildTestScript_NetCore.proj index 2c9cfa13..5e6da505 100644 --- a/src/ReportGenerator.Core.Test/MsBuildTestScript_NetCore.proj +++ b/src/ReportGenerator.Core.Test/MsBuildTestScript_NetCore.proj @@ -2,11 +2,11 @@ Exe - net7.0 + net8.0 - + diff --git a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj index 16514b41..713c881e 100644 --- a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj +++ b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 false Palmmedia.ReportGenerator.Core.Test 5.3.11.0 diff --git a/src/ReportGenerator.Core/Generator.cs b/src/ReportGenerator.Core/Generator.cs index 61eb56e4..9f35b663 100644 --- a/src/ReportGenerator.Core/Generator.cs +++ b/src/ReportGenerator.Core/Generator.cs @@ -343,7 +343,7 @@ private IConfigurationRoot GetConfiguration() var args = Environment.GetCommandLineArgs() .Where(a => !a.StartsWith("-property:")) .Where(a => !a.StartsWith("-p:")) - .Where(a => !(a.StartsWith("/") && a.EndsWith(".dll"))) // Filter path in arguments like /home/user/.dotnet/tools/.store/dotnet-reportgenerator-globaltool/x.y.z/dotnet-reportgenerator-globaltool/x.y.z/tools/net7.0/any/ReportGenerator.dll (appears in global tool) + .Where(a => !(a.StartsWith("/") && a.EndsWith(".dll"))) // Filter path in arguments like /home/user/.dotnet/tools/.store/dotnet-reportgenerator-globaltool/x.y.z/dotnet-reportgenerator-globaltool/x.y.z/tools/net8.0/any/ReportGenerator.dll (appears in global tool) .Where(a => !CommandLineArgumentNames.CommandLineParameterRegex.IsMatch(a)) .ToArray(); diff --git a/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj b/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj index 93fd5c53..ff540bda 100644 --- a/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj +++ b/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj @@ -1,6 +1,6 @@  - net6.0;net7.0;net8.0 + net8.0;net9.0 ReportGenerator.DotnetCorePluginLoader 5.3.11.0 5.3.11.0 diff --git a/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj b/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj index bf0cd744..a8e26784 100644 --- a/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj +++ b/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj @@ -2,7 +2,7 @@ Exe - net6.0;net7.0;net8.0 + net8.0;net9.0 ProgramIcon.ico ReportGenerator Palmmedia.ReportGenerator diff --git a/src/build.proj b/src/build.proj index 58544857..713dbd6a 100644 --- a/src/build.proj +++ b/src/build.proj @@ -52,13 +52,11 @@ - - + - - + @@ -81,9 +79,8 @@ - - + @@ -91,9 +88,8 @@ - - + @@ -101,9 +97,9 @@ - - - + + +