diff --git a/.editorconfig b/.editorconfig index e9e9cfb859..f725cdf1e9 100644 --- a/.editorconfig +++ b/.editorconfig @@ -205,5 +205,6 @@ dotnet_diagnostic.RS1026.severity = none dotnet_diagnostic.CA1806.severity = none dotnet_diagnostic.CA1826.severity = none +dotnet_diagnostic.CA1860.severity = none dotnet_diagnostic.CA1861.severity = none dotnet_diagnostic.CA2231.severity = none diff --git a/ChangeLog.md b/ChangeLog.md index 03866bf2a0..0c4772ed17 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Bump Roslyn to 4.6.0 ([PR](https://github.com/dotnet/roslynator/pull/1248)). +- [CLI] Add support for .NET 8 ([PR](https://github.com/josefpihrt/roslynator/pull/1251)). ### Fixed diff --git a/src/CommandLine.DocumentationGenerator/CommandLine.DocumentationGenerator.csproj b/src/CommandLine.DocumentationGenerator/CommandLine.DocumentationGenerator.csproj index 7f85020d94..8cf58f8bf1 100644 --- a/src/CommandLine.DocumentationGenerator/CommandLine.DocumentationGenerator.csproj +++ b/src/CommandLine.DocumentationGenerator/CommandLine.DocumentationGenerator.csproj @@ -1,11 +1,11 @@  - net7.0 + net8.0 - net6.0;net7.0 + net6.0;net7.0;net8.0 diff --git a/src/CommandLine/.editorconfig b/src/CommandLine/.editorconfig index 688b674234..dd810d2553 100644 --- a/src/CommandLine/.editorconfig +++ b/src/CommandLine/.editorconfig @@ -2,3 +2,7 @@ [*.{cs,csx}] roslynator_configure_await = false + +dotnet_diagnostic.CA1510.severity = none +dotnet_diagnostic.CA1512.severity = none +dotnet_diagnostic.CA1866.severity = none diff --git a/src/CommandLine/CommandLine.csproj b/src/CommandLine/CommandLine.csproj index be6898c76b..31de7f39ce 100644 --- a/src/CommandLine/CommandLine.csproj +++ b/src/CommandLine/CommandLine.csproj @@ -1,11 +1,11 @@  - net7.0 + net8.0 - net6.0;net7.0 + net6.0;net7.0;net8.0 diff --git a/src/CommandLine/Commands/ListSymbolsCommand.cs b/src/CommandLine/Commands/ListSymbolsCommand.cs index e110429b66..59ce56eaca 100644 --- a/src/CommandLine/Commands/ListSymbolsCommand.cs +++ b/src/CommandLine/Commands/ListSymbolsCommand.cs @@ -112,7 +112,7 @@ public override async Task ExecuteAsync(ProjectOrSolution project : null; using (var stringWriter = new StringWriter()) - using (SymbolDefinitionWriter writer = new SymbolDefinitionTextWriter( + using (var writer = new SymbolDefinitionTextWriter( stringWriter, filter: SymbolFilterOptions, format: format, @@ -138,7 +138,7 @@ public override async Task ExecuteAsync(ProjectOrSolution project var xmlWriterSettings = new XmlWriterSettings() { Indent = true, IndentChars = Options.IndentChars }; using (XmlWriter xmlWriter = XmlWriter.Create(path, xmlWriterSettings)) - using (SymbolDefinitionWriter writer = new SymbolDefinitionXmlWriter(xmlWriter, SymbolFilterOptions, format, documentationProvider, hierarchyRoot)) + using (var writer = new SymbolDefinitionXmlWriter(xmlWriter, SymbolFilterOptions, format, documentationProvider, hierarchyRoot)) { writer.WriteDocument(assemblies, cancellationToken); } @@ -148,7 +148,7 @@ public override async Task ExecuteAsync(ProjectOrSolution project var xmlWriterSettings = new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true, IndentChars = "" }; using (XmlWriter xmlWriter = XmlWriter.Create(path, xmlWriterSettings)) - using (SymbolDefinitionWriter writer = new SymbolDefinitionHtmlWriter(xmlWriter, SymbolFilterOptions, format, documentationProvider, hierarchyRoot)) + using (var writer = new SymbolDefinitionHtmlWriter(xmlWriter, SymbolFilterOptions, format, documentationProvider, hierarchyRoot)) { writer.WriteDocument(assemblies, cancellationToken); } @@ -160,7 +160,7 @@ public override async Task ExecuteAsync(ProjectOrSolution project using (var fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read)) using (var streamWriter = new StreamWriter(fileStream, Encodings.UTF8NoBom)) using (MarkdownWriter markdownWriter = MarkdownWriter.Create(streamWriter, markdownWriterSettings)) - using (SymbolDefinitionWriter writer = new SymbolDefinitionMarkdownWriter( + using (var writer = new SymbolDefinitionMarkdownWriter( markdownWriter, SymbolFilterOptions, format, @@ -189,7 +189,7 @@ public override async Task ExecuteAsync(ProjectOrSolution project jsonWriter.Formatting = Newtonsoft.Json.Formatting.None; } - using (SymbolDefinitionWriter writer = new SymbolDefinitionJsonWriter(jsonWriter, SymbolFilterOptions, format, documentationProvider, hierarchyRoot)) + using (var writer = new SymbolDefinitionJsonWriter(jsonWriter, SymbolFilterOptions, format, documentationProvider, hierarchyRoot)) { writer.WriteDocument(assemblies, cancellationToken); } @@ -304,7 +304,7 @@ private void TestOutput( INamedTypeSymbol hierarchyRoot, CancellationToken cancellationToken) { - using (SymbolDefinitionWriter textWriter = new SymbolDefinitionTextWriter( + using (var textWriter = new SymbolDefinitionTextWriter( ConsoleOut, filter: SymbolFilterOptions, format: format, @@ -328,7 +328,7 @@ private void TestOutput( jsonWriter.Formatting = Newtonsoft.Json.Formatting.None; } - using (SymbolDefinitionWriter writer = new SymbolDefinitionJsonWriter(jsonWriter, SymbolFilterOptions, format, default(SymbolDocumentationProvider), hierarchyRoot)) + using (var writer = new SymbolDefinitionJsonWriter(jsonWriter, SymbolFilterOptions, format, default(SymbolDocumentationProvider), hierarchyRoot)) { writer.WriteDocument(assemblies, cancellationToken); } @@ -337,7 +337,7 @@ private void TestOutput( WriteLine(); using (XmlWriter xmlWriter = XmlWriter.Create(ConsoleOut, new XmlWriterSettings() { Indent = true, IndentChars = Options.IndentChars })) - using (SymbolDefinitionWriter writer = new SymbolDefinitionXmlWriter(xmlWriter, SymbolFilterOptions, format, new SymbolDocumentationProvider(compilations), hierarchyRoot)) + using (var writer = new SymbolDefinitionXmlWriter(xmlWriter, SymbolFilterOptions, format, new SymbolDocumentationProvider(compilations), hierarchyRoot)) { writer.WriteDocument(assemblies, cancellationToken); } @@ -345,13 +345,13 @@ private void TestOutput( WriteLine(); using (XmlWriter xmlWriter = XmlWriter.Create(ConsoleOut, new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true, IndentChars = "" })) - using (SymbolDefinitionWriter writer = new SymbolDefinitionHtmlWriter(xmlWriter, SymbolFilterOptions, format, new SymbolDocumentationProvider(compilations), hierarchyRoot)) + using (var writer = new SymbolDefinitionHtmlWriter(xmlWriter, SymbolFilterOptions, format, new SymbolDocumentationProvider(compilations), hierarchyRoot)) writer.WriteDocument(assemblies, cancellationToken); WriteLine(); using (MarkdownWriter markdownWriter = MarkdownWriter.Create(ConsoleOut)) - using (SymbolDefinitionWriter writer = new SymbolDefinitionMarkdownWriter( + using (var writer = new SymbolDefinitionMarkdownWriter( markdownWriter, SymbolFilterOptions, format, diff --git a/src/CommandLine/ConsoleDialogDefinition.cs b/src/CommandLine/ConsoleDialogDefinition.cs index d42a50368f..e5c0fe9e15 100644 --- a/src/CommandLine/ConsoleDialogDefinition.cs +++ b/src/CommandLine/ConsoleDialogDefinition.cs @@ -33,7 +33,7 @@ public static ConsoleDialogDefinition Default public abstract bool TryGetValue(string key, out DialogResult result); - private static ConsoleDialogDefinition CreateDefaultDefinition() + private static DefaultDialogDefinition CreateDefaultDefinition() { ImmutableDictionary.Builder builder = ImmutableDictionary.CreateBuilder(); diff --git a/src/CommandLine/Json/SymbolDefinitionJsonWriter.cs b/src/CommandLine/Json/SymbolDefinitionJsonWriter.cs index b382c7e5e9..7c1af69ec6 100644 --- a/src/CommandLine/Json/SymbolDefinitionJsonWriter.cs +++ b/src/CommandLine/Json/SymbolDefinitionJsonWriter.cs @@ -19,7 +19,7 @@ internal class SymbolDefinitionJsonWriter : SymbolDefinitionWriter private JsonWriter _writer; private StringBuilder _attributeStringBuilder; - private SymbolDefinitionWriter _definitionWriter; + private SymbolDefinitionTextWriter _definitionWriter; public SymbolDefinitionJsonWriter( JsonWriter writer, diff --git a/src/CommandLine/Orang/CommandLine.Core/CommandLoader.cs b/src/CommandLine/Orang/CommandLine.Core/CommandLoader.cs index 4233026b34..4bc01ca3d5 100644 --- a/src/CommandLine/Orang/CommandLine.Core/CommandLoader.cs +++ b/src/CommandLine/Orang/CommandLine.Core/CommandLoader.cs @@ -42,7 +42,7 @@ public static Command LoadCommand(Assembly assembly, string commandName) return null; } - private static Command CreateCommand(Type type, VerbAttribute verbAttribute) + private static Command CreateCommand(System.Reflection.TypeInfo type, VerbAttribute verbAttribute) { ImmutableArray.Builder arguments = ImmutableArray.CreateBuilder(); ImmutableArray.Builder options = ImmutableArray.CreateBuilder(); diff --git a/src/CommandLine/docs/NetCore/NuGetReadme.md b/src/CommandLine/docs/NetCore/NuGetReadme.md index 385605cced..727601c207 100644 --- a/src/CommandLine/docs/NetCore/NuGetReadme.md +++ b/src/CommandLine/docs/NetCore/NuGetReadme.md @@ -4,7 +4,7 @@ ## Requirements -.NET Core SDK 5.0 or 6.0. +.NET Core SDK 6.0, 7.0 or 8.0. ## Installation diff --git a/tools/generate_cli_docs.ps1 b/tools/generate_cli_docs.ps1 index 1745b12ac8..28e14a0d6c 100644 --- a/tools/generate_cli_docs.ps1 +++ b/tools/generate_cli_docs.ps1 @@ -5,7 +5,7 @@ dotnet build "$PSScriptRoot/../src/CommandLine.DocumentationGenerator/CommandLin if(!$?) { Read-Host; Exit } -& "$PSScriptRoot/../src/CommandLine.DocumentationGenerator/bin/Release/net7.0/Roslynator.CommandLine.DocumentationGenerator.exe" ` +& "$PSScriptRoot/../src/CommandLine.DocumentationGenerator/bin/Release/net8.0/Roslynator.CommandLine.DocumentationGenerator.exe" ` build ` "$PSScriptRoot/../src/CommandLine.DocumentationGenerator/data" ` "help,migrate" diff --git a/tools/generate_ref_docs.ps1 b/tools/generate_ref_docs.ps1 index ca4f0aac1f..3ee82ec673 100644 --- a/tools/generate_ref_docs.ps1 +++ b/tools/generate_ref_docs.ps1 @@ -4,7 +4,7 @@ dotnet build generate_ref_docs.sln --no-restore -c Release -v minimal /m dotnet restore "$PSScriptRoot/../src/CommandLine.sln" -v minimal /m dotnet build "$PSScriptRoot/../src/CommandLine.sln" --no-restore -c Release -v minimal /m -& "$PSScriptRoot/../src/CommandLine/bin/Release/net7.0/Roslynator" generate-doc generate_ref_docs.sln ` +& "$PSScriptRoot/../src/CommandLine/bin/Release/net8.0/Roslynator" generate-doc generate_ref_docs.sln ` --properties Configuration=Release ` -o "build/ref" ` --host docusaurus ` diff --git a/tools/reinstall_cli.ps1 b/tools/reinstall_cli.ps1 index 7398896f44..557d587503 100644 --- a/tools/reinstall_cli.ps1 +++ b/tools/reinstall_cli.ps1 @@ -1,4 +1,4 @@ -Remove-Item -Path "$PSScriptRoot/../src/CommandLine/bin/Release/net7.0" -Recurse +Remove-Item -Path "$PSScriptRoot/../src/CommandLine/bin/Release/net8.0" -Recurse Remove-Item -Path "$PSScriptRoot/../src/CommandLine/bin/Release/Roslynator.DotNet.Cli.*.nupkg" dotnet pack "$PSScriptRoot/../src/CommandLine/CommandLine.csproj" -c Release -v minimal /p:RoslynatorDotNetCli=true,Deterministic=true,TreatWarningsAsErrors=true,WarningsNotAsErrors="1591" diff --git a/tools/reinstall_cli_debug.ps1 b/tools/reinstall_cli_debug.ps1 index 13e80a631a..866d3bc91f 100644 --- a/tools/reinstall_cli_debug.ps1 +++ b/tools/reinstall_cli_debug.ps1 @@ -1,4 +1,4 @@ -Remove-Item -Path "$PSScriptRoot/../src/CommandLine/bin/Debug/net7.0" -Recurse +Remove-Item -Path "$PSScriptRoot/../src/CommandLine/bin/Debug/net8.0" -Recurse Remove-Item -Path "$PSScriptRoot/../src/CommandLine/bin/Debug/Roslynator.DotNet.Cli.*.nupkg" dotnet pack "$PSScriptRoot/../src/CommandLine/CommandLine.csproj" -c Debug -v minimal /p:RoslynatorDotNetCli=true,Deterministic=true