From 7e3d074b0fed5d5e71619afeeccc685058a38c47 Mon Sep 17 00:00:00 2001 From: Chris Straw Date: Fri, 26 Dec 2025 14:58:44 -0500 Subject: [PATCH 1/4] CommandBus updates --- src/OLT.Core.CommandBus/OltCommandBus.cs | 44 +++++----- .../OltRegExPatterns.cs | 13 +-- .../CorsExtensionsTests.cs | 88 ------------------- .../DuplicateHandlerCommandHandler.cs | 1 - .../CommandHandlerUnitTest.cs | 53 +++++------ 5 files changed, 57 insertions(+), 142 deletions(-) delete mode 100644 tests/OLT.AspNetCore.Tests/CorsExtensionsTests.cs diff --git a/src/OLT.Core.CommandBus/OltCommandBus.cs b/src/OLT.Core.CommandBus/OltCommandBus.cs index 0679bde8..8386abc6 100644 --- a/src/OLT.Core.CommandBus/OltCommandBus.cs +++ b/src/OLT.Core.CommandBus/OltCommandBus.cs @@ -3,6 +3,7 @@ using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; namespace OLT.Core @@ -23,6 +24,8 @@ protected OltCommandBus( protected virtual TContext Context { get; } protected virtual List Handlers { get; } + public CancellationToken CancellationToken { get; private set; } = CancellationToken.None; + /// /// Attempts to locate for /// @@ -53,8 +56,8 @@ protected virtual IOltCommandHandler GetHandler(IOltCommand command) /// /// /// - protected virtual Task ValidateAsync(IOltCommandHandler handler, IOltCommand command) - { + protected virtual Task ValidateAsync_Internal(IOltCommandHandler handler, IOltCommand command) + { return handler.ValidateAsync(this, command); } @@ -62,12 +65,14 @@ protected virtual Task ValidateAsync(IOltCommandHan /// Validates Command and CommandHandler can Execute /// /// + /// Optional cancellation token. /// /// - /// - public virtual Task ValidateAsync(IOltCommand command) + /// + public virtual Task ValidateAsync(IOltCommand command, CancellationToken cancellationToken = default) { - return this.ValidateAsync(GetHandler(command), command); + this.CancellationToken = cancellationToken; + return this.ValidateAsync_Internal(GetHandler(command), command); } /// @@ -76,9 +81,10 @@ public virtual Task ValidateAsync(IOltCommand comma /// /// /// + [Obsolete("Removing in 10.x, ProcessAsync is deprecated, use IOltCommand")] protected virtual async Task ExecuteAsync(IOltCommandHandler handler, IOltCommand command) { - var validationResult = await ValidateAsync(handler, command); + var validationResult = await ValidateAsync_Internal(handler, command); if (!validationResult.Valid) { throw validationResult.ToException(); @@ -95,16 +101,6 @@ protected virtual async Task ExecuteAsync(IOltCommandHandl } - /////// - /////// Executes Command - /////// - /////// - /////// - ////protected virtual Task ExecuteAsync(IOltCommand command) - ////{ - //// return ExecuteAsync(GetHandler(command), command); - ////} - /// /// Runs in order (or Queues if in Transaction) the /// @@ -115,7 +111,6 @@ protected virtual async Task ExecuteAsync(IOltCommandHandl protected virtual async Task PostExecuteAsync(IOltCommandHandler currentHandler, IOltCommand command, TResult result) where TResult: notnull { - if (currentHandler is IOltPostCommandHandler typedPostHandler) { PostProcessItems.Enqueue(new OltAfterCommandQueueItem(typedPostHandler, command, result)); @@ -138,12 +133,15 @@ protected virtual async Task PostExecuteAsync(IOltCommandHandler curren /// Processes Command using for /// /// + /// Optional cancellation token. /// /// /// /// - public virtual Task ProcessAsync(IOltCommand command) + [Obsolete("Removing in 10.x, ProcessAsync is deprecated, use IOltCommand")] + public virtual Task ProcessAsync(IOltCommand command, CancellationToken cancellationToken = default) { + this.CancellationToken = cancellationToken; return ExecuteAsync(GetHandler(command), command); } @@ -165,20 +163,22 @@ public virtual async Task ProcessAsync(IOltCommand command) } - - /// /// Processes Command using for /// /// + /// Optional cancellation token. /// Returned Result /// /// /// Thrown is command result is null /// + /// /// - public virtual async Task ProcessAsync(IOltCommand command) where TResult : notnull + public virtual async Task ProcessAsync(IOltCommand command, CancellationToken cancellationToken = default) where TResult : notnull { + this.CancellationToken = cancellationToken; + var validationResult = await ValidateAsync(command); if (!validationResult.Valid) { @@ -199,7 +199,7 @@ public virtual async Task ProcessAsync(IOltCommand co return result; } - return await ProcessAsync((IOltCommand)command); + throw new InvalidCastException($"Unable to cast to {typeof(IOltCommandHandler)}"); } } } \ No newline at end of file diff --git a/src/OLT.Extensions.General/OltRegExPatterns.cs b/src/OLT.Extensions.General/OltRegExPatterns.cs index 37b57b57..ccee2ef1 100644 --- a/src/OLT.Extensions.General/OltRegExPatterns.cs +++ b/src/OLT.Extensions.General/OltRegExPatterns.cs @@ -4,10 +4,13 @@ namespace OLT.Constants { public static class OltRegExPatterns { - public static readonly Regex Spaces = new Regex(@"\s+"); //Looks for Spaces - public static readonly Regex DigitsOnly = new Regex(@"[^\d]"); - public static readonly Regex DecimalDigitsOnly = new Regex(@"[^\d\.]"); - public static readonly Regex RemoveSpecialCharacters = new Regex("(?:[^a-z0-9 ]|(?<=['\"])s)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled); - public static readonly Regex ZipRegex = new Regex("\\d{5}(-?\\d{4})?"); + // Default match timeout to avoid catastrophic backtracking / long-running matches + private static readonly TimeSpan DefaultMatchTimeout = TimeSpan.FromMilliseconds(750); + + public static readonly Regex Spaces = new Regex(@"\s+", RegexOptions.None, DefaultMatchTimeout); // Looks for Spaces + public static readonly Regex DigitsOnly = new Regex(@"[^\d]", RegexOptions.None, DefaultMatchTimeout); + public static readonly Regex DecimalDigitsOnly = new Regex(@"[^\d\.]", RegexOptions.None, DefaultMatchTimeout); + public static readonly Regex RemoveSpecialCharacters = new Regex("(?:[^a-z0-9 ]|(?<=['\"])s)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled, DefaultMatchTimeout); + public static readonly Regex ZipRegex = new Regex("\\d{5}(-?\\d{4})?", RegexOptions.None, DefaultMatchTimeout); } } diff --git a/tests/OLT.AspNetCore.Tests/CorsExtensionsTests.cs b/tests/OLT.AspNetCore.Tests/CorsExtensionsTests.cs deleted file mode 100644 index 271a2370..00000000 --- a/tests/OLT.AspNetCore.Tests/CorsExtensionsTests.cs +++ /dev/null @@ -1,88 +0,0 @@ -//#nullable disable -//using Microsoft.AspNetCore.Builder; -//using Microsoft.AspNetCore.Cors.Infrastructure; -//using Microsoft.Extensions.DependencyInjection; -//using Microsoft.Extensions.Logging; -//using Microsoft.Extensions.Options; -//using OLT.Constants; -//using OLT.Core; -//using System; -//using System.Collections.Generic; -//using System.Linq; -//using System.Reflection; -//using Xunit; - -//namespace OLT.AspNetCore.Tests -//{ -// public class CorsExtensionsTests -// { -// [Fact] -// public void UseCorsTests() -// { -// List baseAssemblies = new List { this.GetType().Assembly }; - -// var services = new ServiceCollection(); -// services.AddLogging(config => config.AddConsole()); - -// OltCorsExtensions.AddCors(services, baseAssemblies); - -// using (var scope = services.BuildServiceProvider().CreateScope()) -// { -// var options = scope.ServiceProvider.GetService>(); -// var expectedPolicy = options.Value.GetPolicy(OltAspNetDefaults.CorsPolicies.Wildcard); -// Assert.True(expectedPolicy.AllowAnyOrigin); -// Assert.True(expectedPolicy.AllowAnyMethod); -// Assert.True(expectedPolicy.AllowAnyHeader); -// Assert.False(expectedPolicy.SupportsCredentials); -// } - -// using (var scope = services.BuildServiceProvider().CreateScope()) -// { -// var options = scope.ServiceProvider.GetService>(); -// var expectedPolicy = options.Value.GetPolicy(OltAspNetDefaults.CorsPolicies.Disabled); -// Assert.False(expectedPolicy.AllowAnyOrigin); -// Assert.False(expectedPolicy.AllowAnyMethod); -// Assert.False(expectedPolicy.AllowAnyHeader); -// Assert.False(expectedPolicy.SupportsCredentials); -// } - -// var hostingOptions = new OltAspNetHostingOptions -// { -// CorsPolicyName = string.Empty -// }; - -// var result = OltCorsExtensions.UseCors(new ApplicationBuilder(services.BuildServiceProvider()), hostingOptions); -// Assert.NotNull(result); - -// result = OltCorsExtensions.UseCors(new ApplicationBuilder(services.BuildServiceProvider()), new OltAspNetHostingOptions { CorsPolicyName = OltAspNetDefaults.CorsPolicies.Wildcard }); -// Assert.NotNull(result); - -// result = OltCorsExtensions.UseCors(new ApplicationBuilder(services.BuildServiceProvider()), new OltAspNetHostingOptions { CorsPolicyName = OltAspNetDefaults.CorsPolicies.Disabled }); -// Assert.NotNull(result); - -// } - -// [Fact] -// public void ArgumentExceptions() -// { -// var services = new ServiceCollection(); -// IOltAspNetCoreCorsPolicy nullPolicy = null; -// List nullAssemblies = null; -// List baseAssemblies = new List { this.GetType().Assembly }; - -// Assert.Throws("services", () => OltCorsExtensions.AddCors(null!, baseAssemblies)); -// Assert.Throws("assembliesToScan", () => OltCorsExtensions.AddCors(services, nullAssemblies!)); - -// Assert.Throws("services", () => OltCorsExtensions.AddCors(null!, nullPolicy!)); -// Assert.Throws("policy", () => OltCorsExtensions.AddCors(services, nullPolicy!)); - -// var app = new ApplicationBuilder(services.BuildServiceProvider()); -// OltAspNetHostingOptions nullOptions = null; - - -// Assert.Throws("app", () => OltCorsExtensions.UseCors(null!, nullOptions)); -// Assert.Throws("options", () => OltCorsExtensions.UseCors(app, nullOptions)); - -// } -// } -//} \ No newline at end of file diff --git a/tests/OLT.Core.CommandBus.Tests/Assets/Handlers/DuplicateHandlerCommandHandler.cs b/tests/OLT.Core.CommandBus.Tests/Assets/Handlers/DuplicateHandlerCommandHandler.cs index 958b5491..7d9422c3 100644 --- a/tests/OLT.Core.CommandBus.Tests/Assets/Handlers/DuplicateHandlerCommandHandler.cs +++ b/tests/OLT.Core.CommandBus.Tests/Assets/Handlers/DuplicateHandlerCommandHandler.cs @@ -1,5 +1,4 @@ using FluentValidation.Results; -using System.Threading.Tasks; namespace OLT.Core.CommandBus.Tests.Assets.Handlers { diff --git a/tests/OLT.Core.CommandBus.Tests/CommandHandlerUnitTest.cs b/tests/OLT.Core.CommandBus.Tests/CommandHandlerUnitTest.cs index 81953b2e..b3f4e9c5 100644 --- a/tests/OLT.Core.CommandBus.Tests/CommandHandlerUnitTest.cs +++ b/tests/OLT.Core.CommandBus.Tests/CommandHandlerUnitTest.cs @@ -1,12 +1,10 @@ -using OLT.Core.CommandBus.Tests.Assets; -using System; -using Xunit; -using System.Threading.Tasks; +using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; -using OLT.Core.CommandBus.Tests.Assets.Handlers; +using OLT.Core.CommandBus.Tests.Assets; using OLT.Core.CommandBus.Tests.Assets.EfCore.Entites; +using OLT.Core.CommandBus.Tests.Assets.Handlers; using OLT.Core.CommandBus.Tests.Assets.Models; -using AwesomeAssertions; +using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; namespace OLT.Core.CommandBus.Tests { @@ -19,28 +17,28 @@ public async Task ExceptionTests() { using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new DuplicateHandlerCommand(); await Assert.ThrowsAsync(() => commandBus.ProcessAsync(command)); } using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new NoHandlerCommand(); await Assert.ThrowsAsync(() => commandBus.ProcessAsync(command)); } using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new SimpleCommand(); await Assert.ThrowsAsync(() => commandBus.ProcessAsync(command)); } using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new UserEntityCommand(); await Assert.ThrowsAsync(() => commandBus.ProcessAsync(command)); } @@ -53,32 +51,35 @@ public async Task ResultCastTest() using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new UserEntityCommandWithResult(); - var handler = new UserEntityCommandWithResultHandler(); - var result = await commandBus.ProcessAsync(command); + var handler = new UserEntityCommandWithResultHandler(); Assert.Equal(command.ActionName, handler.ActionName); + var result = await commandBus.ProcessAsync(command); Assert.Equal(typeof(UserEntity), result.GetType()); } + + using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new UserEntityCommand(); var handler = new UserEntityCommandHandler(); - var result = await commandBus.ProcessAsync(command); Assert.Equal(command.ActionName, handler.ActionName); + var result = await commandBus.ProcessAsync(command); Assert.Equal(typeof(UserEntity), result.GetType()); } using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new TypedWithUnTypeHandlerCommand(); var handler = new UnTypedCommandHandler(); - var result = await commandBus.ProcessAsync(command); + //var result = await commandBus.ProcessAsync(command); Assert.Equal(command.ActionName, handler.ActionName); - Assert.Equal(typeof(UserEntity), result.GetType()); + await Assert.ThrowsAsync(() => commandBus.ProcessAsync(command)); + //Assert.Equal(typeof(UserEntity), result.GetType()); } } @@ -88,7 +89,7 @@ public async Task ValidatorTest() { using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new TestPersonCommand(new TestPersonDto()); //Command Validation @@ -106,7 +107,7 @@ public async Task ValidatorTest() using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new TestPersonCommandWithResult(new TestPersonDto()); //Command Validation @@ -125,7 +126,7 @@ public async Task ValidatorTest() using (var provider = BuildProvider()) { var dto = TestPersonDto.FakerDto(); - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new TestPersonCommand(dto); //Command Validation @@ -145,7 +146,7 @@ public async Task ValidatorTest() using (var provider = BuildProvider()) { var dto = TestPersonDto.FakerDto(); - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new TestPersonCommandWithResult(dto); //Command Validation @@ -171,7 +172,7 @@ public async Task PostCommandHandler() using (var provider = BuildProvider()) { var dto = TestPersonDto.FakerDto(); - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new TestPersonCommandWithResult(dto); try { @@ -186,7 +187,7 @@ public async Task PostCommandHandler() using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var dto = TestPersonDto.FakerDto(); var command = new TestPersonCommandWithResult(dto); var handler = new TestPersonCommandWithResultHandler(); @@ -198,7 +199,7 @@ public async Task PostCommandHandler() using (var provider = BuildProvider()) { var dto = TestPersonDto.FakerDto(); - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var command = new TestPersonCommand(dto); try { @@ -214,7 +215,7 @@ public async Task PostCommandHandler() using (var provider = BuildProvider()) { - var commandBus = provider.GetService(); + var commandBus = provider.GetRequiredService(); var dto = TestPersonDto.FakerDto(); var command = new TestPersonCommand(dto); var handler = new TestPersonCommandHandler(); From 62082fff46bb4a4e564434fe57a65e7954fb562c Mon Sep 17 00:00:00 2001 From: Chris Straw Date: Fri, 26 Dec 2025 16:15:38 -0500 Subject: [PATCH 2/4] CommandBus Obsolete Updates --- .../Interfaces/IOltCommandBus.cs | 12 +++++++++--- .../Records/OltCommandResult.cs | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/OLT.Core.CommandBus.Abstractions/Interfaces/IOltCommandBus.cs b/src/OLT.Core.CommandBus.Abstractions/Interfaces/IOltCommandBus.cs index 77f08148..a8d330af 100644 --- a/src/OLT.Core.CommandBus.Abstractions/Interfaces/IOltCommandBus.cs +++ b/src/OLT.Core.CommandBus.Abstractions/Interfaces/IOltCommandBus.cs @@ -1,4 +1,5 @@ using System; +using System.Threading; using System.Threading.Tasks; namespace OLT.Core @@ -10,19 +11,22 @@ public interface IOltCommandBus : IOltInjectableScoped /// Runs Command Validation /// /// + /// Optional cancellation token. /// /// /// - Task ValidateAsync(IOltCommand command); + Task ValidateAsync(IOltCommand command, CancellationToken cancellationToken = default); /// /// Processes Command using for /// /// + /// Optional cancellation token. /// /// /// - Task ProcessAsync(IOltCommand command); + [Obsolete("Removing in 10.x, ProcessAsync is deprecated, use IOltCommand")] + Task ProcessAsync(IOltCommand command, CancellationToken cancellationToken = default); /// @@ -40,11 +44,13 @@ public interface IOltCommandBus : IOltInjectableScoped /// Processes Command using for /// /// + /// Optional cancellation token. /// Returned Result /// /// /// Thrown is command result is null + /// Thrown is command result doesn't match handler type /// - Task ProcessAsync(IOltCommand command) where TResult : notnull; + Task ProcessAsync(IOltCommand command, CancellationToken cancellationToken = default) where TResult : notnull; } } \ No newline at end of file diff --git a/src/OLT.Core.CommandBus.Abstractions/Records/OltCommandResult.cs b/src/OLT.Core.CommandBus.Abstractions/Records/OltCommandResult.cs index 35808eeb..7096ce80 100644 --- a/src/OLT.Core.CommandBus.Abstractions/Records/OltCommandResult.cs +++ b/src/OLT.Core.CommandBus.Abstractions/Records/OltCommandResult.cs @@ -2,7 +2,7 @@ namespace OLT.Core { - [Obsolete("Removing in 10.x, Complete is deprecated, use IOltCommand with OltCommandHandler")] + public record OltCommandResult(object? Result = null) : IOltCommandResult { public static OltCommandResult Complete() @@ -10,7 +10,7 @@ public static OltCommandResult Complete() return new OltCommandResult(); } - + [Obsolete("Removing in 10.x, Complete is deprecated, use IOltCommand with OltCommandHandler")] public static OltCommandResult Complete(T result) //Issue #149 { return new OltCommandResult(result); From 006a831ae5555cc2d2524b0345aeafbbe36c1947 Mon Sep 17 00:00:00 2001 From: Chris Straw Date: Wed, 31 Dec 2025 06:29:19 -0500 Subject: [PATCH 3/4] chg to not null GetDescription enum ext --- .../Code/OltCodeAttributeExtensions.cs | 2 +- .../Extensions/OltAttributeExtensions.cs | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/OLT.Core.Attribute.Abstractions/Code/OltCodeAttributeExtensions.cs b/src/OLT.Core.Attribute.Abstractions/Code/OltCodeAttributeExtensions.cs index c7b05353..a7e199db 100644 --- a/src/OLT.Core.Attribute.Abstractions/Code/OltCodeAttributeExtensions.cs +++ b/src/OLT.Core.Attribute.Abstractions/Code/OltCodeAttributeExtensions.cs @@ -23,7 +23,7 @@ public static class OltCodeAttributeExtensions /// Returns Code value from attribute /// /// - /// Code from or + /// Code from /// public static string GetCodeEnumSafe(this Enum value) { diff --git a/src/OLT.Core.Attribute.Abstractions/Extensions/OltAttributeExtensions.cs b/src/OLT.Core.Attribute.Abstractions/Extensions/OltAttributeExtensions.cs index 761f4bfc..6b8bfd75 100644 --- a/src/OLT.Core.Attribute.Abstractions/Extensions/OltAttributeExtensions.cs +++ b/src/OLT.Core.Attribute.Abstractions/Extensions/OltAttributeExtensions.cs @@ -70,14 +70,13 @@ public static class OltAttributeExtensions /// Gets /// /// - /// or ToString() or - public static string? GetDescription(this Enum value) + /// or ToString() + public static string GetDescription(this Enum value) { var attribute = GetAttributeInstance(value); - return attribute?.Description ?? value?.ToString(); + return attribute?.Description ?? value.ToString(); } - /// /// Searches for or Name matching string /// From 506875908fd83562ef407e510cd15dda3e9cf071 Mon Sep 17 00:00:00 2001 From: Chris Straw Date: Wed, 25 Feb 2026 11:45:28 -0500 Subject: [PATCH 4/4] minor nuget updates, dependentbot tweaks --- .config/dotnet-tools.json | 2 +- .github/dependabot.yml | 8 ++++++-- src/Directory.Build.props | 5 ++++- ...T.Extensions.Configuration.Amazon.SystemManager.csproj | 2 +- .../OLT.Extensions.Configuration.Azure.AppConfig.csproj | 2 +- tests/Directory.Build.props | 4 ++-- ...OLT.Core.EntityFrameworkCore.Abstractions.Tests.csproj | 2 +- ...ntityFrameworkCore.SqlServer.Abstractions.Tests.csproj | 2 +- .../OLT.EF.Core.Services.Tests.Automapper.csproj | 2 +- .../OLT.EF.Core.Services.Tests.Lib.csproj | 2 +- .../OLT.Extensions.Configuration.Tests.csproj | 2 +- 11 files changed, 20 insertions(+), 13 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 2b1313f8..1699ee09 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "dotnet-sonarscanner": { - "version": "11.0.0", + "version": "11.1.0", "commands": [ "dotnet-sonarscanner" ] diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 4bbad09f..8a2682d6 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,7 +3,7 @@ updates: - package-ecosystem: "github-actions" directory: "/" # Location of package manifests schedule: - interval: "weekly" + interval: monthly labels: - "dependencies" - "github-actions" @@ -11,7 +11,11 @@ updates: - package-ecosystem: "nuget" directory: "/tests" schedule: - interval: "weekly" + interval: monthly + ignore: + - dependency-name: "*" + update-types: + - "version-update:semver-patch" labels: - "dependencies" - "nuget" diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 8b97c6a8..232ba1be 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -22,7 +22,10 @@ - + + all + runtime; build; native; contentfiles; analyzers + diff --git a/src/OLT.Extensions.Configuration.Amazon.SystemManager/OLT.Extensions.Configuration.Amazon.SystemManager.csproj b/src/OLT.Extensions.Configuration.Amazon.SystemManager/OLT.Extensions.Configuration.Amazon.SystemManager.csproj index 391fc84b..fae5189b 100644 --- a/src/OLT.Extensions.Configuration.Amazon.SystemManager/OLT.Extensions.Configuration.Amazon.SystemManager.csproj +++ b/src/OLT.Extensions.Configuration.Amazon.SystemManager/OLT.Extensions.Configuration.Amazon.SystemManager.csproj @@ -9,7 +9,7 @@ - + \ No newline at end of file diff --git a/src/OLT.Extensions.Configuration.Azure.AppConfig/OLT.Extensions.Configuration.Azure.AppConfig.csproj b/src/OLT.Extensions.Configuration.Azure.AppConfig/OLT.Extensions.Configuration.Azure.AppConfig.csproj index 6e07d0c5..015383fa 100644 --- a/src/OLT.Extensions.Configuration.Azure.AppConfig/OLT.Extensions.Configuration.Azure.AppConfig.csproj +++ b/src/OLT.Extensions.Configuration.Azure.AppConfig/OLT.Extensions.Configuration.Azure.AppConfig.csproj @@ -11,7 +11,7 @@ - + diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index a3494fa5..6b0724b2 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -9,9 +9,9 @@ - + - + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/tests/OLT.Core.EntityFrameworkCore.Abstractions.Tests/OLT.Core.EntityFrameworkCore.Abstractions.Tests.csproj b/tests/OLT.Core.EntityFrameworkCore.Abstractions.Tests/OLT.Core.EntityFrameworkCore.Abstractions.Tests.csproj index 2207f820..3a5b2de9 100644 --- a/tests/OLT.Core.EntityFrameworkCore.Abstractions.Tests/OLT.Core.EntityFrameworkCore.Abstractions.Tests.csproj +++ b/tests/OLT.Core.EntityFrameworkCore.Abstractions.Tests/OLT.Core.EntityFrameworkCore.Abstractions.Tests.csproj @@ -7,7 +7,7 @@ - + diff --git a/tests/OLT.Core.EntityFrameworkCore.SqlServer.Abstractions.Tests/OLT.Core.EntityFrameworkCore.SqlServer.Abstractions.Tests.csproj b/tests/OLT.Core.EntityFrameworkCore.SqlServer.Abstractions.Tests/OLT.Core.EntityFrameworkCore.SqlServer.Abstractions.Tests.csproj index d9ae0de7..2c86b52e 100644 --- a/tests/OLT.Core.EntityFrameworkCore.SqlServer.Abstractions.Tests/OLT.Core.EntityFrameworkCore.SqlServer.Abstractions.Tests.csproj +++ b/tests/OLT.Core.EntityFrameworkCore.SqlServer.Abstractions.Tests/OLT.Core.EntityFrameworkCore.SqlServer.Abstractions.Tests.csproj @@ -16,7 +16,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/tests/OLT.EF.Core.Services.Tests.Automapper/OLT.EF.Core.Services.Tests.Automapper.csproj b/tests/OLT.EF.Core.Services.Tests.Automapper/OLT.EF.Core.Services.Tests.Automapper.csproj index d624649c..93e51b87 100644 --- a/tests/OLT.EF.Core.Services.Tests.Automapper/OLT.EF.Core.Services.Tests.Automapper.csproj +++ b/tests/OLT.EF.Core.Services.Tests.Automapper/OLT.EF.Core.Services.Tests.Automapper.csproj @@ -11,7 +11,7 @@ - + diff --git a/tests/OLT.EF.Core.Services.Tests.Lib/OLT.EF.Core.Services.Tests.Lib.csproj b/tests/OLT.EF.Core.Services.Tests.Lib/OLT.EF.Core.Services.Tests.Lib.csproj index 0f3ecef2..14bb82d2 100644 --- a/tests/OLT.EF.Core.Services.Tests.Lib/OLT.EF.Core.Services.Tests.Lib.csproj +++ b/tests/OLT.EF.Core.Services.Tests.Lib/OLT.EF.Core.Services.Tests.Lib.csproj @@ -7,7 +7,7 @@ - + diff --git a/tests/OLT.Extensions.Configuration.Tests/OLT.Extensions.Configuration.Tests.csproj b/tests/OLT.Extensions.Configuration.Tests/OLT.Extensions.Configuration.Tests.csproj index 40a4c9a8..c8b95ed4 100644 --- a/tests/OLT.Extensions.Configuration.Tests/OLT.Extensions.Configuration.Tests.csproj +++ b/tests/OLT.Extensions.Configuration.Tests/OLT.Extensions.Configuration.Tests.csproj @@ -8,7 +8,7 @@ - +