From 0fd2fc7ec8fbd2f91c42ed47094284b1ca5b2c0b Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Sat, 13 Jun 2026 16:11:04 +0100 Subject: [PATCH] Centralize NuGet package versions with CPM Migrated all NuGet package versioning to Directory.Packages.props using Central Package Management. Removed explicit Version attributes from .csproj files and updated Dockerfiles to include the new props file. Also performed minor code cleanups for consistency and modernization. This change ensures consistent dependency versions across the solution. --- Directory.Packages.props | 104 ++++++++++++++++++ ...ansactionProcessor.Aggregates.Tests.csproj | 30 ++--- .../TransactionProcessor.Aggregates.csproj | 12 +- .../MerchantDomainEventHandlerTests.cs | 1 - ...erchantStatementDomainEventHandlerTests.cs | 1 - .../TransactionDomainEventHandlerTests.cs | 1 - ...actionProcessor.BusinessLogic.Tests.csproj | 42 +++---- .../TransactionProcessor.BusinessLogic.csproj | 52 ++++----- .../TransactionProcessor.Client.csproj | 6 +- ...actionProcessor.DataTransferObjects.csproj | 6 +- .../TransactionProcessor.Database.csproj | 28 ++--- .../BaseTest.cs | 5 +- .../TransactionProcessor.DatabaseTests.csproj | 24 ++-- .../TransactionProcessor.DomainEvents.csproj | 4 +- ...rocessor.IntegrationTesting.Helpers.csproj | 16 +-- ...ansactionProcessor.IntegrationTests.csproj | 56 +++++----- ...Processor.ProjectionEngine.Database.csproj | 16 +-- ...ionProcessor.ProjectionEngine.Tests.csproj | 26 ++--- ...ansactionProcessor.ProjectionEngine.csproj | 18 +-- ...ocessor.Reconciliation.DomainEvents.csproj | 4 +- .../TransactionProcessor.Repository.csproj | 24 ++-- .../TransactionProcessor.Testing.csproj | 28 ++--- .../TransactionProcessor.Tests.csproj | 44 ++++---- TransactionProcessor.sln | 1 + TransactionProcessor/Dockerfile | 2 + TransactionProcessor/Dockerfilewindows | 2 + .../TransactionProcessor.csproj | 76 ++++++------- 27 files changed, 367 insertions(+), 262 deletions(-) create mode 100644 Directory.Packages.props diff --git a/Directory.Packages.props b/Directory.Packages.props new file mode 100644 index 00000000..c62d98aa --- /dev/null +++ b/Directory.Packages.props @@ -0,0 +1,104 @@ + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TransactionProcessor.Aggregates.Tests/TransactionProcessor.Aggregates.Tests.csproj b/TransactionProcessor.Aggregates.Tests/TransactionProcessor.Aggregates.Tests.csproj index 74f8229c..6064853a 100644 --- a/TransactionProcessor.Aggregates.Tests/TransactionProcessor.Aggregates.Tests.csproj +++ b/TransactionProcessor.Aggregates.Tests/TransactionProcessor.Aggregates.Tests.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -10,26 +10,26 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - + + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + diff --git a/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj b/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj index 7181df2a..ad79a764 100644 --- a/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj +++ b/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -7,11 +7,11 @@ - - - - - + + + + + diff --git a/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/MerchantDomainEventHandlerTests.cs b/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/MerchantDomainEventHandlerTests.cs index dcfa904d..b81d6e37 100644 --- a/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/MerchantDomainEventHandlerTests.cs +++ b/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/MerchantDomainEventHandlerTests.cs @@ -17,7 +17,6 @@ using TransactionProcessor.Repository; using TransactionProcessor.Testing; using Xunit; -using Xunit.Abstractions; namespace TransactionProcessor.BusinessLogic.Tests.DomainEventHandlers { diff --git a/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/MerchantStatementDomainEventHandlerTests.cs b/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/MerchantStatementDomainEventHandlerTests.cs index 86b1ec7e..085581cf 100644 --- a/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/MerchantStatementDomainEventHandlerTests.cs +++ b/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/MerchantStatementDomainEventHandlerTests.cs @@ -12,7 +12,6 @@ using TransactionProcessor.BusinessLogic.EventHandling; using TransactionProcessor.Testing; using Xunit; -using Xunit.Abstractions; namespace TransactionProcessor.BusinessLogic.Tests.DomainEventHandlers; diff --git a/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/TransactionDomainEventHandlerTests.cs b/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/TransactionDomainEventHandlerTests.cs index 3c3bcf08..1587d757 100644 --- a/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/TransactionDomainEventHandlerTests.cs +++ b/TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/TransactionDomainEventHandlerTests.cs @@ -3,7 +3,6 @@ using MediatR; using SimpleResults; using TransactionProcessor.DomainEvents; -using Xunit.Abstractions; namespace TransactionProcessor.BusinessLogic.Tests.DomainEventHandlers { diff --git a/TransactionProcessor.BusinessLogic.Tests/TransactionProcessor.BusinessLogic.Tests.csproj b/TransactionProcessor.BusinessLogic.Tests/TransactionProcessor.BusinessLogic.Tests.csproj index d996b53a..e5f6fbd9 100644 --- a/TransactionProcessor.BusinessLogic.Tests/TransactionProcessor.BusinessLogic.Tests.csproj +++ b/TransactionProcessor.BusinessLogic.Tests/TransactionProcessor.BusinessLogic.Tests.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -7,29 +7,29 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj b/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj index ba7c06f6..c9cc8c8e 100644 --- a/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj +++ b/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj @@ -1,35 +1,35 @@ - + net10.0 - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TransactionProcessor.Client/TransactionProcessor.Client.csproj b/TransactionProcessor.Client/TransactionProcessor.Client.csproj index 32e6da9a..46b3372e 100644 --- a/TransactionProcessor.Client/TransactionProcessor.Client.csproj +++ b/TransactionProcessor.Client/TransactionProcessor.Client.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -6,8 +6,8 @@ - - + + diff --git a/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj b/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj index 9b1b6f8f..6a29b12a 100644 --- a/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj +++ b/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -6,8 +6,8 @@ - - + + diff --git a/TransactionProcessor.Database/TransactionProcessor.Database.csproj b/TransactionProcessor.Database/TransactionProcessor.Database.csproj index efe69bd2..a1ecf28b 100644 --- a/TransactionProcessor.Database/TransactionProcessor.Database.csproj +++ b/TransactionProcessor.Database/TransactionProcessor.Database.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -8,22 +8,22 @@ - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - + + + + + + + + + diff --git a/TransactionProcessor.DatabaseTests/BaseTest.cs b/TransactionProcessor.DatabaseTests/BaseTest.cs index c0d56bb4..d4ae060a 100644 --- a/TransactionProcessor.DatabaseTests/BaseTest.cs +++ b/TransactionProcessor.DatabaseTests/BaseTest.cs @@ -11,7 +11,6 @@ using Shouldly; using TransactionProcessor.Database.Contexts; using TransactionProcessor.Repository; -using Xunit.Abstractions; using Logger = Shared.Logger.Logger; namespace TransactionProcessor.DatabaseTests @@ -20,7 +19,7 @@ public abstract class BaseTest : IAsyncLifetime { protected ITransactionProcessorReadModelRepository Repository; protected ITestOutputHelper TestOutputHelper; - public virtual async Task InitializeAsync() + public virtual async ValueTask InitializeAsync() { Logger.Initialise(new Shared.Logger.NullLogger()); @@ -57,7 +56,7 @@ public async Task GetRepository() this.Repository = new TransactionProcessorReadModelRepository(resolver.Object); } - public virtual async Task DisposeAsync() { + public virtual async ValueTask DisposeAsync() { await this.DockerHelper.StopContainersForScenarioRun(DockerServices.None); } diff --git a/TransactionProcessor.DatabaseTests/TransactionProcessor.DatabaseTests.csproj b/TransactionProcessor.DatabaseTests/TransactionProcessor.DatabaseTests.csproj index c4111a20..25efa11d 100644 --- a/TransactionProcessor.DatabaseTests/TransactionProcessor.DatabaseTests.csproj +++ b/TransactionProcessor.DatabaseTests/TransactionProcessor.DatabaseTests.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -9,24 +9,24 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj b/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj index 94058117..0f1d099b 100644 --- a/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj +++ b/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -6,6 +6,6 @@ enable - + diff --git a/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj b/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj index a7ed24a6..08e1ba90 100644 --- a/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj +++ b/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -7,14 +7,14 @@ - + - - - - - - + + + + + + diff --git a/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj b/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj index 5b4c8cbd..b924ac78 100644 --- a/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj +++ b/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -7,37 +7,37 @@ - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - + + + + + + + diff --git a/TransactionProcessor.ProjectionEngine.Database/TransactionProcessor.ProjectionEngine.Database.csproj b/TransactionProcessor.ProjectionEngine.Database/TransactionProcessor.ProjectionEngine.Database.csproj index 55ce5d16..60a91f9b 100644 --- a/TransactionProcessor.ProjectionEngine.Database/TransactionProcessor.ProjectionEngine.Database.csproj +++ b/TransactionProcessor.ProjectionEngine.Database/TransactionProcessor.ProjectionEngine.Database.csproj @@ -7,14 +7,14 @@ None - - - - - - - - + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj b/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj index de406563..c7f49785 100644 --- a/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj +++ b/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -9,21 +9,21 @@ - - - - - - - - - - - + + + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj b/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj index 45858a8f..5962f0fd 100644 --- a/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj +++ b/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -7,14 +7,14 @@ - - - - - - - - + + + + + + + + diff --git a/TransactionProcessor.Reconciliation.DomainEvents/TransactionProcessor.Reconciliation.DomainEvents.csproj b/TransactionProcessor.Reconciliation.DomainEvents/TransactionProcessor.Reconciliation.DomainEvents.csproj index edd9a81d..8ec49f20 100644 --- a/TransactionProcessor.Reconciliation.DomainEvents/TransactionProcessor.Reconciliation.DomainEvents.csproj +++ b/TransactionProcessor.Reconciliation.DomainEvents/TransactionProcessor.Reconciliation.DomainEvents.csproj @@ -1,10 +1,10 @@ - + net8.0 - + diff --git a/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj b/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj index ee29f9ae..4e09c96d 100644 --- a/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj +++ b/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -8,17 +8,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj b/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj index 01372deb..e5c8f82e 100644 --- a/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj +++ b/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -6,19 +6,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj b/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj index 5c23316b..ad3fb113 100644 --- a/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj +++ b/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -7,30 +7,30 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/TransactionProcessor.sln b/TransactionProcessor.sln index 83dc7f1a..514e77ec 100644 --- a/TransactionProcessor.sln +++ b/TransactionProcessor.sln @@ -46,6 +46,7 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}" ProjectSection(SolutionItems) = preProject .editorconfig = .editorconfig + Directory.Packages.props = Directory.Packages.props EndProjectSection EndProject Global diff --git a/TransactionProcessor/Dockerfile b/TransactionProcessor/Dockerfile index 368cf3cc..68ca4918 100644 --- a/TransactionProcessor/Dockerfile +++ b/TransactionProcessor/Dockerfile @@ -9,6 +9,8 @@ COPY ["TransactionProcessor/NuGet.Config", "TransactionProcessor/"] COPY ["TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj", "TransactionProcessor.DataTransferObjects/"] COPY ["TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj", "TransactionProcessor.BusinessLogic/"] COPY ["TransactionProcessor.Models/TransactionProcessor.Models.csproj", "TransactionProcessor.Models/"] +COPY ["Directory.Packages.props", "."] +COPY . . RUN dotnet restore "TransactionProcessor/TransactionProcessor.csproj" COPY . . WORKDIR "/src/TransactionProcessor" diff --git a/TransactionProcessor/Dockerfilewindows b/TransactionProcessor/Dockerfilewindows index 153d6197..f834c956 100644 --- a/TransactionProcessor/Dockerfilewindows +++ b/TransactionProcessor/Dockerfilewindows @@ -10,6 +10,8 @@ COPY ["TransactionProcessor/NuGet.Config", "TransactionProcessor/"] COPY ["TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj", "TransactionProcessor.DataTransferObjects/"] COPY ["TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj", "TransactionProcessor.BusinessLogic/"] COPY ["TransactionProcessor.Models/TransactionProcessor.Models.csproj", "TransactionProcessor.Models/"] +COPY ["Directory.Packages.props", "."] +COPY . . RUN dotnet restore "TransactionProcessor/TransactionProcessor.csproj" COPY . . WORKDIR "/src/TransactionProcessor" diff --git a/TransactionProcessor/TransactionProcessor.csproj b/TransactionProcessor/TransactionProcessor.csproj index d2c86a62..98b962b7 100644 --- a/TransactionProcessor/TransactionProcessor.csproj +++ b/TransactionProcessor/TransactionProcessor.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -10,46 +10,46 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + +