From d50d7a7920fe1b2a5daa21c56bdc23d11a364936 Mon Sep 17 00:00:00 2001 From: Ivan Maximov Date: Sun, 1 Dec 2024 18:32:55 +0300 Subject: [PATCH 1/5] Force editorconfig + small changes --- Build.ps1 | 11 +++++---- ...figurationLoggerConfigurationExtensions.cs | 4 ++-- .../Properties/AssemblyInfo.cs | 8 ------- .../Serilog.Settings.Configuration.csproj | 10 +++----- .../Configuration/ObjectArgumentValue.cs | 24 +++++++++++++++---- .../{ => Approval}/ApiApprovalTests.cs | 4 ++-- ...erilog.Settings.Configuration.approved.txt | 0 .../Support/ConfigurationReaderTestHelpers.cs | 2 +- test/TestDummies/TestDummies.csproj | 4 ---- 9 files changed, 33 insertions(+), 34 deletions(-) delete mode 100644 src/Serilog.Settings.Configuration/Properties/AssemblyInfo.cs rename test/Serilog.Settings.Configuration.Tests/{ => Approval}/ApiApprovalTests.cs (85%) rename test/Serilog.Settings.Configuration.Tests/{ => Approval}/Serilog.Settings.Configuration.approved.txt (100%) diff --git a/Build.ps1 b/Build.ps1 index e7982849..33920c45 100644 --- a/Build.ps1 +++ b/Build.ps1 @@ -7,7 +7,7 @@ Write-Output "build: Build started" Push-Location $PSScriptRoot try { - if(Test-Path .\artifacts) { + if (Test-Path .\artifacts) { Write-Output "build: Cleaning ./artifacts" Remove-Item ./artifacts -Force -Recurse } @@ -28,8 +28,9 @@ try { Write-Output "build: Package version suffix is $suffix" Write-Output "build: Build version suffix is $buildSuffix" + & dotnet format --no-restore --verify-no-changes --severity error & dotnet build -c Release --version-suffix=$buildSuffix /p:ContinuousIntegrationBuild=true - if($LASTEXITCODE -ne 0) { throw "Build failed" } + if ($LASTEXITCODE -ne 0) { throw "Build failed" } foreach ($src in Get-ChildItem src/*) { Push-Location $src @@ -41,7 +42,7 @@ try { } else { & dotnet pack -c Release --no-build --no-restore -o ../../artifacts } - if($LASTEXITCODE -ne 0) { throw "Packaging failed" } + if ($LASTEXITCODE -ne 0) { throw "Packaging failed" } Pop-Location } @@ -52,7 +53,7 @@ try { Write-Output "build: Testing project in $test" & dotnet test -c Release --no-build --no-restore - if($LASTEXITCODE -ne 0) { throw "Testing failed" } + if ($LASTEXITCODE -ne 0) { throw "Testing failed" } Pop-Location } @@ -65,7 +66,7 @@ try { foreach ($nupkg in Get-ChildItem artifacts/*.nupkg) { & dotnet nuget push -k $env:NUGET_API_KEY -s https://api.nuget.org/v3/index.json "$nupkg" - if($LASTEXITCODE -ne 0) { throw "Publishing failed" } + if ($LASTEXITCODE -ne 0) { throw "Publishing failed" } } if (!($suffix)) { diff --git a/src/Serilog.Settings.Configuration/ConfigurationLoggerConfigurationExtensions.cs b/src/Serilog.Settings.Configuration/ConfigurationLoggerConfigurationExtensions.cs index 0a2bb7d3..25f77ddc 100644 --- a/src/Serilog.Settings.Configuration/ConfigurationLoggerConfigurationExtensions.cs +++ b/src/Serilog.Settings.Configuration/ConfigurationLoggerConfigurationExtensions.cs @@ -218,8 +218,8 @@ public static LoggerConfiguration Configuration( { var configurationReader = readerOptions switch { - { ConfigurationAssemblySource: {} } => GetConfigurationReader(configuration, readerOptions, readerOptions.ConfigurationAssemblySource.Value), - { Assemblies: {} } => GetConfigurationReader(configuration, readerOptions, readerOptions.Assemblies), + { ConfigurationAssemblySource: { } } => GetConfigurationReader(configuration, readerOptions, readerOptions.ConfigurationAssemblySource.Value), + { Assemblies: { } } => GetConfigurationReader(configuration, readerOptions, readerOptions.Assemblies), _ => GetConfigurationReader(configuration, readerOptions ?? new ConfigurationReaderOptions(), readerOptions?.DependencyContext), }; return settingConfiguration.Settings(configurationReader); diff --git a/src/Serilog.Settings.Configuration/Properties/AssemblyInfo.cs b/src/Serilog.Settings.Configuration/Properties/AssemblyInfo.cs deleted file mode 100644 index 2527091f..00000000 --- a/src/Serilog.Settings.Configuration/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System.Runtime.CompilerServices; - -[assembly: InternalsVisibleTo("Serilog.Settings.Configuration.Tests, PublicKey=" + - "0024000004800000940000000602000000240000525341310004000001000100fb8d13fd344a1c" + - "6fe0fe83ef33c1080bf30690765bc6eb0df26ebfdf8f21670c64265b30db09f73a0dea5b3db4c9" + - "d18dbf6d5a25af5ce9016f281014d79dc3b4201ac646c451830fc7e61a2dfd633d34c39f87b818" + - "94191652df5ac63cc40c77f3542f702bda692e6e8a9158353df189007a49da0f3cfd55eb250066" + - "b19485ec")] \ No newline at end of file diff --git a/src/Serilog.Settings.Configuration/Serilog.Settings.Configuration.csproj b/src/Serilog.Settings.Configuration/Serilog.Settings.Configuration.csproj index 0b8d72a5..51e95896 100644 --- a/src/Serilog.Settings.Configuration/Serilog.Settings.Configuration.csproj +++ b/src/Serilog.Settings.Configuration/Serilog.Settings.Configuration.csproj @@ -1,4 +1,4 @@ - + Microsoft.Extensions.Configuration (appsettings.json) support for Serilog. @@ -6,7 +6,6 @@ net462;netstandard2.0;net8.0;net9.0 - true serilog;json;appsettings icon.png README.md @@ -16,15 +15,12 @@ Serilog - - - - - + + diff --git a/src/Serilog.Settings.Configuration/Settings/Configuration/ObjectArgumentValue.cs b/src/Serilog.Settings.Configuration/Settings/Configuration/ObjectArgumentValue.cs index be6e57e4..82a68a63 100644 --- a/src/Serilog.Settings.Configuration/Settings/Configuration/ObjectArgumentValue.cs +++ b/src/Serilog.Settings.Configuration/Settings/Configuration/ObjectArgumentValue.cs @@ -29,7 +29,7 @@ public ObjectArgumentValue(IConfigurationSection section, IReadOnlyCollection logger/sink config parameter? var typeInfo = toType.GetTypeInfo(); if (typeInfo.IsGenericType && - typeInfo.GetGenericTypeDefinition() is {} genericType && genericType == typeof(Action<>)) + typeInfo.GetGenericTypeDefinition() is { } genericType && genericType == typeof(Action<>)) { var configType = typeInfo.GenericTypeArguments[0]; IConfigurationReader configReader = new ConfigurationReader(_section, _configurationAssemblies, resolutionContext); @@ -185,14 +185,28 @@ bool TryCallCtor(Type type, Dictionary suppliedAr } else { - return new { ci, args, isCallable = false, matches, stringMatches, - usedArguments = suppliedNames }; + return new + { + ci, + args, + isCallable = false, + matches, + stringMatches, + usedArguments = suppliedNames + }; } } } - return new { ci, args, isCallable = true, matches, stringMatches, - usedArguments = suppliedNames }; + return new + { + ci, + args, + isCallable = true, + matches, + stringMatches, + usedArguments = suppliedNames + }; }) .Where(binding => binding.isCallable) .OrderByDescending(binding => binding.matches) diff --git a/test/Serilog.Settings.Configuration.Tests/ApiApprovalTests.cs b/test/Serilog.Settings.Configuration.Tests/Approval/ApiApprovalTests.cs similarity index 85% rename from test/Serilog.Settings.Configuration.Tests/ApiApprovalTests.cs rename to test/Serilog.Settings.Configuration.Tests/Approval/ApiApprovalTests.cs index 08bf7f46..fd50fc66 100644 --- a/test/Serilog.Settings.Configuration.Tests/ApiApprovalTests.cs +++ b/test/Serilog.Settings.Configuration.Tests/Approval/ApiApprovalTests.cs @@ -1,4 +1,4 @@ -#if NET7_0 +#if NET9_0 using PublicApiGenerator; using Shouldly; @@ -15,7 +15,7 @@ public void PublicApi_Should_Not_Change_Unintentionally() new() { IncludeAssemblyAttributes = false, - ExcludeAttributes = new[] { "System.Diagnostics.DebuggerDisplayAttribute" }, + ExcludeAttributes = [ "System.Diagnostics.DebuggerDisplayAttribute" ], }); publicApi.ShouldMatchApproved(options => options.WithFilenameGenerator((_, _, fileType, fileExtension) => $"{assembly.GetName().Name!}.{fileType}.{fileExtension}")); diff --git a/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.approved.txt b/test/Serilog.Settings.Configuration.Tests/Approval/Serilog.Settings.Configuration.approved.txt similarity index 100% rename from test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.approved.txt rename to test/Serilog.Settings.Configuration.Tests/Approval/Serilog.Settings.Configuration.approved.txt diff --git a/test/Serilog.Settings.Configuration.Tests/Support/ConfigurationReaderTestHelpers.cs b/test/Serilog.Settings.Configuration.Tests/Support/ConfigurationReaderTestHelpers.cs index ae76b43f..f5e0af53 100644 --- a/test/Serilog.Settings.Configuration.Tests/Support/ConfigurationReaderTestHelpers.cs +++ b/test/Serilog.Settings.Configuration.Tests/Support/ConfigurationReaderTestHelpers.cs @@ -53,7 +53,7 @@ public static IConfigurationRoot GetConfigRoot( { var configBuilder = new ConfigurationBuilder(); - configBuilder.AddJsonString(appsettingsJsonLevel ?? "{}"); + configBuilder.AddJsonString(appsettingsJsonLevel ?? "{}"); configBuilder.AddJsonString(appsettingsDevelopmentJsonLevel ?? "{}"); configBuilder.Add(new ReloadableConfigurationSource(envVariables ?? new Dictionary())); diff --git a/test/TestDummies/TestDummies.csproj b/test/TestDummies/TestDummies.csproj index 25a7376f..43f8c6d8 100644 --- a/test/TestDummies/TestDummies.csproj +++ b/test/TestDummies/TestDummies.csproj @@ -14,8 +14,4 @@ - - - - From d06050eba31e974ec6c2e43891017132906e93b0 Mon Sep 17 00:00:00 2001 From: Ivan Maximov Date: Sun, 1 Dec 2024 18:48:26 +0300 Subject: [PATCH 2/5] Force editorconfig + small changes --- .editorconfig | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.editorconfig b/.editorconfig index 55dcd648..4e2fdc73 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,19 +1,13 @@ root = true [*] +charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true indent_style = space indent_size = 4 -end_of_line = lf [*.{csproj,json,config,yml,props}] indent_size = 2 -[*.sh] -end_of_line = lf - -[*.{cmd, bat}] -end_of_line = crlf - csharp_style_namespace_declarations = file_scoped:suggestion From e8261cc142e0a91ce4cf7a66f55a5b467f5b26ac Mon Sep 17 00:00:00 2001 From: Ivan Maximov Date: Sun, 1 Dec 2024 18:52:38 +0300 Subject: [PATCH 3/5] 1 --- .editorconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index 4e2fdc73..38a28be4 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,7 +1,6 @@ root = true [*] -charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true indent_style = space From 8a6e98f807a31ce535092df0ca2e7b72ec1b1bb6 Mon Sep 17 00:00:00 2001 From: Ivan Maximov Date: Sun, 1 Dec 2024 19:49:37 +0300 Subject: [PATCH 4/5] coverage --- .github/workflows/ci.yml | 5 +++++ Build.ps1 | 2 +- .../Serilog.Settings.Configuration.Tests.csproj | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index acd3bc6f..29423029 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,3 +39,8 @@ jobs: shell: pwsh run: | ./Build.ps1 + - name: Upload coverage to codecov + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: .coverage/*.opencover.xml diff --git a/Build.ps1 b/Build.ps1 index 33920c45..33f4e516 100644 --- a/Build.ps1 +++ b/Build.ps1 @@ -52,7 +52,7 @@ try { Write-Output "build: Testing project in $test" - & dotnet test -c Release --no-build --no-restore + & dotnet test -c Release --no-build --no-restore -p:CollectCoverage=true -p:CoverletOutputFormat=opencover -p:CoverletOutput=.coverage/ if ($LASTEXITCODE -ne 0) { throw "Testing failed" } Pop-Location diff --git a/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj b/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj index d3ac6ccd..f6f5d71b 100644 --- a/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj +++ b/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj @@ -30,6 +30,10 @@ + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + From 6923f3e622b435f7dc744eefc1d500c0a77f774f Mon Sep 17 00:00:00 2001 From: Ivan Maximov Date: Sun, 1 Dec 2024 20:04:54 +0300 Subject: [PATCH 5/5] Revert "coverage" This reverts commit 8a6e98f807a31ce535092df0ca2e7b72ec1b1bb6. --- .github/workflows/ci.yml | 5 ----- Build.ps1 | 2 +- .../Serilog.Settings.Configuration.Tests.csproj | 4 ---- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 29423029..acd3bc6f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,8 +39,3 @@ jobs: shell: pwsh run: | ./Build.ps1 - - name: Upload coverage to codecov - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: .coverage/*.opencover.xml diff --git a/Build.ps1 b/Build.ps1 index 33f4e516..33920c45 100644 --- a/Build.ps1 +++ b/Build.ps1 @@ -52,7 +52,7 @@ try { Write-Output "build: Testing project in $test" - & dotnet test -c Release --no-build --no-restore -p:CollectCoverage=true -p:CoverletOutputFormat=opencover -p:CoverletOutput=.coverage/ + & dotnet test -c Release --no-build --no-restore if ($LASTEXITCODE -ne 0) { throw "Testing failed" } Pop-Location diff --git a/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj b/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj index f6f5d71b..d3ac6ccd 100644 --- a/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj +++ b/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj @@ -30,10 +30,6 @@ - - all - runtime; build; native; contentfiles; analyzers; buildtransitive -