diff --git a/.editorconfig b/.editorconfig index f8cdcdc..a861d3c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,8 +1,8 @@ # ATC coding rules - https://github.com/atc-net/atc-coding-rules -# Version: 1.0.9 -# Updated: 01-02-2022 +# Version: 1.0.0 +# Updated: 25-09-2023 # Location: Root -# Distribution: DotNet6 +# Distribution: DotNet8 # Inspired by: https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/code-style-rule-options ########################################## @@ -87,6 +87,7 @@ dotnet_separate_import_directive_groups = false # .NET Code Style Settings # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#net-code-style-settings [*.{cs,csx,cake}] + # "this." and "Me." qualifiers # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#this-and-me dotnet_style_qualification_for_field = false @@ -146,12 +147,17 @@ dotnet_style_operator_placement_when_wrapping = end_of_line # C# Code Style Settings # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#c-code-style-settings [*.{cs,csx,cake}] + # Implicit and explicit types # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#implicit-and-explicit-types csharp_style_var_for_built_in_types = true # IDE0007 and IDE0008 csharp_style_var_when_type_is_apparent = true # IDE0007 and IDE0008 csharp_style_var_elsewhere = true # IDE0007 and IDE0008 +# Namespace declaration preferences +# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0160-ide0161?view=vs-2022 +csharp_style_namespace_declarations = file_scoped # IDE0160 and IDE0161 + # Expression-bodied members # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#expression-bodied-members csharp_style_expression_bodied_constructors = when_on_single_line # IDE0021 @@ -195,8 +201,8 @@ csharp_style_unused_value_assignment_preference = discard_variable # Index and range preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#index-and-range-preferences -csharp_style_prefer_index_operator = true # IDE0056 -csharp_style_prefer_range_operator = true # IDE0057 +csharp_style_prefer_index_operator = true:suggestion # IDE0056 +csharp_style_prefer_range_operator = true:suggestion # IDE0057 # Miscellaneous preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#miscellaneous-preferences @@ -444,10 +450,12 @@ dotnet_naming_rule.parameters_rule.severity = warning dotnet_diagnostic.MA0003.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0003.md dotnet_diagnostic.MA0004.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0004.md dotnet_diagnostic.MA0006.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0006.md +dotnet_diagnostic.MA0011.severity = none # Duplicate of CA1305 dotnet_diagnostic.MA0016.severity = error # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0016.md dotnet_diagnostic.MA0025.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0025.md dotnet_diagnostic.MA0026.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0026.md dotnet_diagnostic.MA0028.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0028.md +dotnet_diagnostic.MA0038.severity = none # Duplicate of CA1822 dotnet_diagnostic.MA0048.severity = error # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0048.md @@ -455,8 +463,12 @@ dotnet_diagnostic.MA0048.severity = error # https://github.com/atc-net # https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ dotnet_diagnostic.CA1014.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/CA1014.md dotnet_diagnostic.CA1068.severity = error # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/CA1068.md +dotnet_diagnostic.CA1305.severity = error dotnet_diagnostic.CA1707.severity = error # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/CA1707.md +dotnet_diagnostic.CA1812.severity = none +dotnet_diagnostic.CA1822.severity = suggestion dotnet_diagnostic.CA2007.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/CA2007.md +dotnet_diagnostic.IDE0005.severity = warning # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/IDE0005.md dotnet_diagnostic.IDE0058.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/IDE0058.md @@ -481,6 +493,7 @@ dotnet_diagnostic.SA1202.severity = none # https://github.com/atc-net dotnet_diagnostic.SA1204.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/StyleCop/SA1204.md dotnet_diagnostic.SA1413.severity = error # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/StyleCop/SA1413.md dotnet_diagnostic.SA1600.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/StyleCop/SA1600.md +dotnet_diagnostic.SA1601.severity = none dotnet_diagnostic.SA1602.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/StyleCop/SA1602.md dotnet_diagnostic.SA1604.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/StyleCop/SA1604.md dotnet_diagnostic.SA1623.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/StyleCop/SA1623.md @@ -494,6 +507,11 @@ dotnet_diagnostic.SA1649.severity = error # https://github.com/atc-net dotnet_diagnostic.S1135.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/SonarAnalyzerCSharp/S1135.md +########################################## +# Custom - File Extension Settings +########################################## + + ########################################## # Custom - Code Analyzers Rules ########################################## diff --git a/.github/workflows/post-integration.yml b/.github/workflows/post-integration.yml index ebd2771..a6f3019 100644 --- a/.github/workflows/post-integration.yml +++ b/.github/workflows/post-integration.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: ๐Ÿ›’ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 token: ${{ secrets.PAT_WORKFLOWS }} @@ -30,16 +30,16 @@ jobs: with: setAllVars: true - - name: โš™๏ธ Setup dotnet 6.0.x - uses: actions/setup-dotnet@v1 + - name: โš™๏ธ Setup dotnet 8.0.x + uses: actions/setup-dotnet@v4 with: - dotnet-version: '6.0.x' + dotnet-version: '8.0.x' - name: โš™๏ธ Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: 17 - distribution: 'zulu' + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: 'zulu' - name: ๐Ÿงน Clean run: dotnet clean -c Release && dotnet nuget locals all --clear diff --git a/.github/workflows/pre-integration.yml b/.github/workflows/pre-integration.yml index fcae61b..7a7009f 100644 --- a/.github/workflows/pre-integration.yml +++ b/.github/workflows/pre-integration.yml @@ -15,14 +15,14 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: ๐Ÿ›’ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 - - name: โš™๏ธ Setup dotnet 6.0.x - uses: actions/setup-dotnet@v1 + - name: โš™๏ธ Setup dotnet 8.0.x + uses: actions/setup-dotnet@v4 with: - dotnet-version: '6.0.x' + dotnet-version: '8.0.x' - name: ๐Ÿงน Clean run: dotnet clean -c Release && dotnet nuget locals all --clear @@ -39,14 +39,14 @@ jobs: - dotnet-build steps: - name: ๐Ÿ›’ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 - - name: โš™๏ธ Setup dotnet 6.0.x - uses: actions/setup-dotnet@v1 + - name: โš™๏ธ Setup dotnet 8.0.x + uses: actions/setup-dotnet@v4 with: - dotnet-version: '6.0.x' + dotnet-version: '8.0.x' - name: ๐Ÿ” Restore packages run: dotnet restore diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0af18be..0822c83 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: ๐Ÿ›’ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 token: ${{ secrets.PAT_WORKFLOWS }} @@ -27,10 +27,10 @@ jobs: with: setAllVars: true - - name: โš™๏ธ Setup dotnet 6.0.x - uses: actions/setup-dotnet@v1 + - name: โš™๏ธ Setup dotnet 8.0.x + uses: actions/setup-dotnet@v4 with: - dotnet-version: '6.0.x' + dotnet-version: '8.0.x' - name: ๐Ÿงน Clean run: dotnet clean -c Release && dotnet nuget locals all --clear diff --git a/Directory.Build.props b/Directory.Build.props index fdce92f..3f780fa 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -16,9 +16,9 @@ enable - 10.0 + 12.0 enable - net6.0 + net8.0 true 1573,1591,1712 @@ -43,10 +43,10 @@ - + - + \ No newline at end of file diff --git a/atc-coding-rules-updater.json b/atc-coding-rules-updater.json index 08df6a5..65e3cb3 100644 --- a/atc-coding-rules-updater.json +++ b/atc-coding-rules-updater.json @@ -1,6 +1,19 @@ { - "mappings": { - "src": { "Paths": [ "src" ] }, - "test": { "Paths": [ "test" ] } - } + "projectTarget": "DotNet8", + "useLatestMinorNugetVersion": true, + "useTemporarySuppressions": false, + "temporarySuppressionAsExcel": false, + "analyzerProviderCollectingMode": "LocalCache", + "mappings": { + "src": { + "paths": [ + "src" + ] + }, + "test": { + "paths": [ + "test" + ] + } + } } \ No newline at end of file diff --git a/atc-coding-rules-updater.ps1 b/atc-coding-rules-updater.ps1 index df1a648..3d555a8 100644 --- a/atc-coding-rules-updater.ps1 +++ b/atc-coding-rules-updater.ps1 @@ -9,4 +9,4 @@ atc-coding-rules-updater ` run ` -p $currentPath ` --optionsPath $currentPath'\atc-coding-rules-updater.json' ` - -v \ No newline at end of file + --verbose \ No newline at end of file diff --git a/src/.editorconfig b/src/.editorconfig index c2b78c6..970bed4 100644 --- a/src/.editorconfig +++ b/src/.editorconfig @@ -1,8 +1,8 @@ # ATC coding rules - https://github.com/atc-net/atc-coding-rules -# Version: 1.0.9 -# Updated: 01-02-2022 +# Version: 1.0.0 +# Updated: 25-09-2023 # Location: src -# Distribution: DotNet6 +# Distribution: DotNet8 # Inspired by: https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/code-style-rule-options ########################################## diff --git a/src/Atc.Test/Atc.Test.csproj b/src/Atc.Test/Atc.Test.csproj index a72635f..7f00624 100644 --- a/src/Atc.Test/Atc.Test.csproj +++ b/src/Atc.Test/Atc.Test.csproj @@ -14,12 +14,12 @@ - - - - - - + + + + + + \ No newline at end of file diff --git a/src/Atc.Test/SubstituteExtensions.cs b/src/Atc.Test/SubstituteExtensions.cs index ff5d428..593680c 100644 --- a/src/Atc.Test/SubstituteExtensions.cs +++ b/src/Atc.Test/SubstituteExtensions.cs @@ -8,6 +8,10 @@ namespace Atc.Test; "AsyncUsage", "AsyncFixer03:Fire-and-forget async-void methods or delegates", Justification = "Calls on substitutes are made for validation, await is not required.")] +[SuppressMessage( + "AsyncUsage", + "MA0147:Avoid async void method for delegate", + Justification = "OK.")] public static class SubstituteExtensions { /// diff --git a/src/Directory.Build.props b/src/Directory.Build.props index c9a3e71..93e4ae2 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -22,7 +22,6 @@ Library - net5.0 true @@ -54,7 +53,7 @@ - + diff --git a/test/.editorconfig b/test/.editorconfig index 8fd2216..c8bf541 100644 --- a/test/.editorconfig +++ b/test/.editorconfig @@ -1,8 +1,8 @@ # ATC coding rules - https://github.com/atc-net/atc-coding-rules -# Version: 1.0.9 -# Updated: 01-02-2022 +# Version: 1.0.0 +# Updated: 25-09-2023 # Location: test -# Distribution: DotNet6 +# Distribution: DotNet8 # Inspired by: https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/code-style-rule-options ########################################## @@ -27,6 +27,7 @@ dotnet_diagnostic.MA0016.severity = none # https://github.com/atc-net # Microsoft - Code Analysis # https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ dotnet_diagnostic.CA1068.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/CA1068.md +dotnet_diagnostic.CA1602.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/CA1602.md dotnet_diagnostic.CA1707.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/CA1707.md dotnet_diagnostic.CA2007.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/CA2007.md @@ -61,4 +62,4 @@ dotnet_diagnostic.CA1812.severity = none # Test classes used as gener dotnet_diagnostic.SA1202.severity = none # Private helper methods makes sense to keep at top of test classes, as tests are added to bottom. dotnet_diagnostic.CA2201.severity = none # Instantiating Exceptions as test data should be allowed. dotnet_diagnostic.CA1711.severity = none # Identifiers should not have incorrect suffix -dotnet_diagnostic.S2344.severity = none # Enumeration type names should not have "Flags" or "Enum" suffixes +dotnet_diagnostic.S2344.severity = none # Enumeration type names should not have "Flags" or "Enum" suffixes \ No newline at end of file diff --git a/test/Atc.Test.Tests/Atc.Test.Tests.csproj b/test/Atc.Test.Tests/Atc.Test.Tests.csproj index 40fb6e8..7189f60 100644 --- a/test/Atc.Test.Tests/Atc.Test.Tests.csproj +++ b/test/Atc.Test.Tests/Atc.Test.Tests.csproj @@ -1,19 +1,19 @@ - net6.0 + net8.0 false - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/test/Directory.Build.props b/test/Directory.Build.props index ca600f9..91d531f 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -11,7 +11,7 @@ - +