From cf264d72684cd03186ac2fe6807bd347b4a9b6f0 Mon Sep 17 00:00:00 2001 From: Martin Othamar Date: Tue, 27 Jun 2023 20:41:26 +0200 Subject: [PATCH 1/3] Remove old Roslyn3.8 code, simplify projects --- Mediator.sln | 72 ++--------------- README.md | 12 +++ .../Mediator.Benchmarks.Large.csproj | 5 +- .../Mediator.Benchmarks.csproj | 5 +- samples/ASPNET_Core/ASPNET_Core.csproj | 5 +- .../AspNetCoreSample.Application.csproj | 5 +- .../AspNetCoreIndirect.Application.csproj | 5 +- .../AspNetCoreIndirect.BaseClasses.csproj | 2 +- samples/SimpleConsole/SimpleConsole.csproj | 5 +- .../SimpleConsoleAOT/SimpleConsoleAOT.csproj | 5 +- samples/SimpleEndToEnd/SimpleEndToEnd.csproj | 5 +- .../SimpleStreaming/SimpleStreaming.csproj | 5 +- .../Handlers/ICommandHandler.cs | 0 .../Handlers/INotificationHandler.cs | 0 .../Handlers/IQueryHandler.cs | 0 .../Handlers/IRequestHandler.cs | 0 .../Handlers/IStreamCommandHandler.cs | 0 .../Handlers/IStreamQueryHandler.cs | 0 .../Handlers/IStreamRequestHandler.cs | 0 .../IMediator.cs | 0 .../IPublisher.cs | 0 .../ISender.cs | 0 .../InvalidMessageException.cs | 0 .../Mediator.Abstractions.csproj} | 0 .../Messages/IBaseCommand.cs | 0 .../Messages/IBaseQuery.cs | 0 .../Messages/IBaseRequest.cs | 0 .../Messages/ICommand.cs | 0 .../Messages/IMessage.cs | 0 .../Messages/INotification.cs | 0 .../Messages/IQuery.cs | 0 .../Messages/IRequest.cs | 0 .../Messages/IStreamCommand.cs | 0 .../Messages/IStreamMessage.cs | 0 .../Messages/IStreamQuery.cs | 0 .../Messages/IStreamRequest.cs | 0 .../Messages/Unit.cs | 0 .../MissingMessageHandlerException.cs | 0 .../Pipeline/IPipelineBehavior.cs | 0 .../Pipeline/IStreamPipelineBehavior.cs | 0 .../Pipeline/MessageExceptionHandler.cs | 0 .../Pipeline/MessageHandlerDelegate.cs | 0 .../Pipeline/MessagePostProcessor.cs | 0 .../Pipeline/MessagePreProcessor.cs | 0 .../Pipeline/StreamHandlerDelegate.cs | 0 ...ator.SourceGenerator.Implementation.csproj | 37 --------- .../Mediator.SourceGenerator.Roslyn38.csproj | 27 ------- .../MediatorGenerator.cs | 51 ------------ .../Mediator.SourceGenerator.Roslyn40.csproj | 27 ------- .../Analysis/CompilationAnalyzer.cs | 0 .../Analysis/InvocationSyntaxReceiver.cs | 0 .../Analysis/MessageHandler.cs | 0 .../Analysis/NotificationMessage.cs | 0 .../Analysis/NotificationMessageHandler.cs | 0 .../Analysis/RequestMessage.cs | 0 .../Analysis/RequestMessageHandler.cs | 0 .../Analysis/RequestMessageHandlerWrapper.cs | 0 .../Analysis/SymbolMetadata.cs | 0 .../Constants.cs | 0 .../Diagnostics.cs | 0 .../EmbeddedResource.cs | 0 .../Extensions/IsExternalInit.cs | 0 .../Extensions/RoslynExtensions.cs | 0 .../IncrementalMediatorGenerator.cs | 0 .../Mediator.SourceGenerator.csproj | 34 ++++++-- .../MediatorGenerationContext.cs | 0 .../MediatorImplementationGenerator.cs | 0 .../MediatorOptionsGenerator.cs | 0 .../Versioning.cs | 0 .../resources/Mediator.sbn-cs | 0 .../resources/MediatorFallback.sbn-cs | 0 .../resources/MediatorOptions.sbn-cs | 0 .../resources/MediatorOptionsAttribute.sbn-cs | 0 .../Mediator.MemAllocationTests.csproj | 5 +- ...iator.Samples.SourceGenerator.Tests.csproj | 2 +- .../Mediator.SmokeTestConsole.csproj | 7 +- .../SamplesTests.cs | 58 -------------- .../SourceGenVerifier.cs | 78 ------------------- ...ator.SourceGenerator.Roslyn40.Tests.csproj | 52 ------------- .../AssertExtensions.cs | 0 .../Assertions.cs | 0 .../Fixture.cs | 0 .../GeneratorResult.cs | 0 .../Global.cs | 0 .../LifetimeOptionTests.cs | 0 .../Mediator.SourceGenerator.Tests.csproj} | 46 ++++++----- .../ReportingTests.cs | 0 .../SamplesTests.cs | 58 ++++++++++++++ .../SourceGenVerifier.cs | 78 +++++++++++++++++++ .../resources/AbstractHandlerProgram.cs | 0 .../resources/ByteArrayResponseProgram.cs | 0 .../resources/ConfigurationConflictProgram.cs | 0 .../resources/ConstVariablesConfig.cs | 0 .../resources/DeepNamespaceProgram.cs | 0 .../resources/DuplicateHandlersProgram.cs | 0 .../resources/IntCastLifetime.cs | 0 .../resources/InvalidVariablesConfig.cs | 0 .../resources/LocalLiteralVariableConfig.cs | 0 .../LocalVariablesReferencingConstsConfig.cs | 0 .../resources/MultipleAddMediatorCalls.cs | 0 .../resources/MultipleErrorsProgram.cs | 0 .../resources/NoMessagesProgram.cs | 0 .../NotificationWithoutHandlerProgram.cs | 0 .../resources/NullNamespaceVariable.cs | 0 .../resources/RequestWithoutHandlerProgram.cs | 0 .../resources/StaticNestedHandlerProgram.cs | 0 .../resources/StreamingProgram.cs | 0 .../resources/StructHandlerProgram.cs | 0 .../UnassignedLifetimeVariableConfig.cs | 0 .../UnassignedNamespaceVariableConfig.cs | 0 .../resources/UnassignedVariablesConfig.cs | 0 .../Mediator.Tests.Common.csproj | 2 +- .../Mediator.Tests.ScopedLifetime.csproj | 9 +-- .../Mediator.Tests.TransientLifetime.csproj | 9 +-- test/Mediator.Tests/Mediator.Tests.csproj | 5 +- 115 files changed, 243 insertions(+), 473 deletions(-) rename src/{Mediator => Mediator.Abstractions}/Handlers/ICommandHandler.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Handlers/INotificationHandler.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Handlers/IQueryHandler.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Handlers/IRequestHandler.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Handlers/IStreamCommandHandler.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Handlers/IStreamQueryHandler.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Handlers/IStreamRequestHandler.cs (100%) rename src/{Mediator => Mediator.Abstractions}/IMediator.cs (100%) rename src/{Mediator => Mediator.Abstractions}/IPublisher.cs (100%) rename src/{Mediator => Mediator.Abstractions}/ISender.cs (100%) rename src/{Mediator => Mediator.Abstractions}/InvalidMessageException.cs (100%) rename src/{Mediator/Mediator.csproj => Mediator.Abstractions/Mediator.Abstractions.csproj} (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/IBaseCommand.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/IBaseQuery.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/IBaseRequest.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/ICommand.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/IMessage.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/INotification.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/IQuery.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/IRequest.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/IStreamCommand.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/IStreamMessage.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/IStreamQuery.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/IStreamRequest.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Messages/Unit.cs (100%) rename src/{Mediator => Mediator.Abstractions}/MissingMessageHandlerException.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Pipeline/IPipelineBehavior.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Pipeline/IStreamPipelineBehavior.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Pipeline/MessageExceptionHandler.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Pipeline/MessageHandlerDelegate.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Pipeline/MessagePostProcessor.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Pipeline/MessagePreProcessor.cs (100%) rename src/{Mediator => Mediator.Abstractions}/Pipeline/StreamHandlerDelegate.cs (100%) delete mode 100644 src/Mediator.SourceGenerator.Implementation/Mediator.SourceGenerator.Implementation.csproj delete mode 100644 src/Mediator.SourceGenerator.Roslyn38/Mediator.SourceGenerator.Roslyn38.csproj delete mode 100644 src/Mediator.SourceGenerator.Roslyn38/MediatorGenerator.cs delete mode 100644 src/Mediator.SourceGenerator.Roslyn40/Mediator.SourceGenerator.Roslyn40.csproj rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Analysis/CompilationAnalyzer.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Analysis/InvocationSyntaxReceiver.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Analysis/MessageHandler.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Analysis/NotificationMessage.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Analysis/NotificationMessageHandler.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Analysis/RequestMessage.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Analysis/RequestMessageHandler.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Analysis/RequestMessageHandlerWrapper.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Analysis/SymbolMetadata.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Constants.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Diagnostics.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/EmbeddedResource.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Extensions/IsExternalInit.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Extensions/RoslynExtensions.cs (100%) rename src/{Mediator.SourceGenerator.Roslyn40 => Mediator.SourceGenerator}/IncrementalMediatorGenerator.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/MediatorGenerationContext.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/MediatorImplementationGenerator.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/MediatorOptionsGenerator.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/Versioning.cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/resources/Mediator.sbn-cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/resources/MediatorFallback.sbn-cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/resources/MediatorOptions.sbn-cs (100%) rename src/{Mediator.SourceGenerator.Implementation => Mediator.SourceGenerator}/resources/MediatorOptionsAttribute.sbn-cs (100%) delete mode 100644 test/Mediator.SourceGenerator.Roslyn38.Tests/SamplesTests.cs delete mode 100644 test/Mediator.SourceGenerator.Roslyn38.Tests/SourceGenVerifier.cs delete mode 100644 test/Mediator.SourceGenerator.Roslyn40.Tests/Mediator.SourceGenerator.Roslyn40.Tests.csproj rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/AssertExtensions.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/Assertions.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/Fixture.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/GeneratorResult.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn40.Tests => Mediator.SourceGenerator.Tests}/Global.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/LifetimeOptionTests.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests/Mediator.SourceGenerator.Roslyn38.Tests.csproj => Mediator.SourceGenerator.Tests/Mediator.SourceGenerator.Tests.csproj} (76%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/ReportingTests.cs (100%) create mode 100644 test/Mediator.SourceGenerator.Tests/SamplesTests.cs create mode 100644 test/Mediator.SourceGenerator.Tests/SourceGenVerifier.cs rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/AbstractHandlerProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/ByteArrayResponseProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/ConfigurationConflictProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/ConstVariablesConfig.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/DeepNamespaceProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/DuplicateHandlersProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/IntCastLifetime.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/InvalidVariablesConfig.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/LocalLiteralVariableConfig.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/LocalVariablesReferencingConstsConfig.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/MultipleAddMediatorCalls.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/MultipleErrorsProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/NoMessagesProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/NotificationWithoutHandlerProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/NullNamespaceVariable.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/RequestWithoutHandlerProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/StaticNestedHandlerProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/StreamingProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/StructHandlerProgram.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/UnassignedLifetimeVariableConfig.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/UnassignedNamespaceVariableConfig.cs (100%) rename test/{Mediator.SourceGenerator.Roslyn38.Tests => Mediator.SourceGenerator.Tests}/resources/UnassignedVariablesConfig.cs (100%) diff --git a/Mediator.sln b/Mediator.sln index 46ede32..4bde0cf 100644 --- a/Mediator.sln +++ b/Mediator.sln @@ -17,7 +17,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{ED1809FC-7 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator.Tests", "test\Mediator.Tests\Mediator.Tests.csproj", "{488A6892-3435-4E72-9B74-A847F2E4197F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator", "src\Mediator\Mediator.csproj", "{DFB554A5-48A4-4C69-A857-1080B6CE89F9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator.Abstractions", "src\Mediator.Abstractions\Mediator.Abstractions.csproj", "{DFB554A5-48A4-4C69-A857-1080B6CE89F9}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{D3569CDD-7E19-429E-B9AD-75CC05F6C4AA}" EndProject @@ -41,8 +41,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCoreSample.Applicatio EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCoreSample.Domain", "samples\ASPNET_Core_CleanArchitecture\AspNetCoreSample.Domain\AspNetCoreSample.Domain.csproj", "{E98D92E0-2029-47D8-9EEE-E3A19DF9354A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator.SourceGenerator.Roslyn38.Tests", "test\Mediator.SourceGenerator.Roslyn38.Tests\Mediator.SourceGenerator.Roslyn38.Tests.csproj", "{A36EE34F-9EA1-460E-841F-C84BC603929B}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleConsoleAOT", "samples\SimpleConsoleAOT\SimpleConsoleAOT.csproj", "{45FC79C1-76EB-4B30-B54F-DD1762BA15EE}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCoreSample.Infrastructure", "samples\ASPNET_Core_CleanArchitecture\AspNetCoreSample.Infrastructure\AspNetCoreSample.Infrastructure.csproj", "{CE5A582D-3CC6-44D7-AF3F-CD741BA53833}" @@ -72,13 +70,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleStreaming", "samples\ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASPNET_Core", "samples\ASPNET_Core\ASPNET_Core.csproj", "{35D4B136-E164-48A3-ADC3-E22237CCDC9C}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator.SourceGenerator.Roslyn38", "src\Mediator.SourceGenerator.Roslyn38\Mediator.SourceGenerator.Roslyn38.csproj", "{FCB31060-4C23-4BB7-9A95-4C636B43F6B5}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator.SourceGenerator.Roslyn40", "src\Mediator.SourceGenerator.Roslyn40\Mediator.SourceGenerator.Roslyn40.csproj", "{C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator.SourceGenerator.Implementation", "src\Mediator.SourceGenerator.Implementation\Mediator.SourceGenerator.Implementation.csproj", "{22984D49-8DDF-4263-8375-D018643E44B2}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator.SourceGenerator.Roslyn40.Tests", "test\Mediator.SourceGenerator.Roslyn40.Tests\Mediator.SourceGenerator.Roslyn40.Tests.csproj", "{E4EE80C5-179C-4483-9E91-3107B3E1CD5A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator.SourceGenerator.Tests", "test\Mediator.SourceGenerator.Tests\Mediator.SourceGenerator.Tests.csproj", "{E4EE80C5-179C-4483-9E91-3107B3E1CD5A}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator.SmokeTestConsole", "test\Mediator.SmokeTestConsole\Mediator.SmokeTestConsole.csproj", "{65D8C0F8-E4CF-452D-86FB-482FE63C7C89}" EndProject @@ -92,15 +84,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mediator.Benchmarks.Large", EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ASPNET_Core_Indirect", "ASPNET_Core_Indirect", "{BC759BA5-C064-460E-ACB0-9B2DA12B9284}" ProjectSection(SolutionItems) = preProject - samples\ASPNET_Core_Indirect\README.md = samples\ASPNET_Core_Indirect\README.md samples\ASPNET_Core_Indirect\get-weather-forecast.http = samples\ASPNET_Core_Indirect\get-weather-forecast.http + samples\ASPNET_Core_Indirect\README.md = samples\ASPNET_Core_Indirect\README.md EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNetCoreIndirect.BaseClasses", "samples\ASPNET_Core_Indirect\AspNetCoreIndirect.BaseClasses\AspNetCoreIndirect.BaseClasses.csproj", "{EBB07938-94A7-4349-9D0F-F2A6088EB42E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCoreIndirect.BaseClasses", "samples\ASPNET_Core_Indirect\AspNetCoreIndirect.BaseClasses\AspNetCoreIndirect.BaseClasses.csproj", "{EBB07938-94A7-4349-9D0F-F2A6088EB42E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNetCoreIndirect.Application", "samples\ASPNET_Core_Indirect\AspNetCoreIndirect.Application\AspNetCoreIndirect.Application.csproj", "{DB9A7862-14B1-4DAC-878C-D6B02038F068}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCoreIndirect.Application", "samples\ASPNET_Core_Indirect\AspNetCoreIndirect.Application\AspNetCoreIndirect.Application.csproj", "{DB9A7862-14B1-4DAC-878C-D6B02038F068}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNetCoreIndirect.Implementations", "samples\ASPNET_Core_Indirect\AspNetCoreIndirect.Implementations\AspNetCoreIndirect.Implementations.csproj", "{7F7DB4D8-3D94-4648-99FA-E7E06A913FCD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCoreIndirect.Implementations", "samples\ASPNET_Core_Indirect\AspNetCoreIndirect.Implementations\AspNetCoreIndirect.Implementations.csproj", "{7F7DB4D8-3D94-4648-99FA-E7E06A913FCD}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -208,18 +200,6 @@ Global {E98D92E0-2029-47D8-9EEE-E3A19DF9354A}.Release|x64.Build.0 = Release|Any CPU {E98D92E0-2029-47D8-9EEE-E3A19DF9354A}.Release|x86.ActiveCfg = Release|Any CPU {E98D92E0-2029-47D8-9EEE-E3A19DF9354A}.Release|x86.Build.0 = Release|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Debug|x64.ActiveCfg = Debug|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Debug|x64.Build.0 = Debug|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Debug|x86.ActiveCfg = Debug|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Debug|x86.Build.0 = Debug|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Release|Any CPU.Build.0 = Release|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Release|x64.ActiveCfg = Release|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Release|x64.Build.0 = Release|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Release|x86.ActiveCfg = Release|Any CPU - {A36EE34F-9EA1-460E-841F-C84BC603929B}.Release|x86.Build.0 = Release|Any CPU {45FC79C1-76EB-4B30-B54F-DD1762BA15EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {45FC79C1-76EB-4B30-B54F-DD1762BA15EE}.Debug|Any CPU.Build.0 = Debug|Any CPU {45FC79C1-76EB-4B30-B54F-DD1762BA15EE}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -304,42 +284,6 @@ Global {35D4B136-E164-48A3-ADC3-E22237CCDC9C}.Release|x64.Build.0 = Release|Any CPU {35D4B136-E164-48A3-ADC3-E22237CCDC9C}.Release|x86.ActiveCfg = Release|Any CPU {35D4B136-E164-48A3-ADC3-E22237CCDC9C}.Release|x86.Build.0 = Release|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Debug|x64.ActiveCfg = Debug|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Debug|x64.Build.0 = Debug|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Debug|x86.ActiveCfg = Debug|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Debug|x86.Build.0 = Debug|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Release|Any CPU.Build.0 = Release|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Release|x64.ActiveCfg = Release|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Release|x64.Build.0 = Release|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Release|x86.ActiveCfg = Release|Any CPU - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5}.Release|x86.Build.0 = Release|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Debug|x64.ActiveCfg = Debug|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Debug|x64.Build.0 = Debug|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Debug|x86.ActiveCfg = Debug|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Debug|x86.Build.0 = Debug|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Release|Any CPU.Build.0 = Release|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Release|x64.ActiveCfg = Release|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Release|x64.Build.0 = Release|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Release|x86.ActiveCfg = Release|Any CPU - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E}.Release|x86.Build.0 = Release|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Debug|x64.ActiveCfg = Debug|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Debug|x64.Build.0 = Debug|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Debug|x86.ActiveCfg = Debug|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Debug|x86.Build.0 = Debug|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Release|Any CPU.Build.0 = Release|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Release|x64.ActiveCfg = Release|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Release|x64.Build.0 = Release|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Release|x86.ActiveCfg = Release|Any CPU - {22984D49-8DDF-4263-8375-D018643E44B2}.Release|x86.Build.0 = Release|Any CPU {E4EE80C5-179C-4483-9E91-3107B3E1CD5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E4EE80C5-179C-4483-9E91-3107B3E1CD5A}.Debug|Any CPU.Build.0 = Debug|Any CPU {E4EE80C5-179C-4483-9E91-3107B3E1CD5A}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -462,7 +406,6 @@ Global {05746941-ABD5-46C6-9E9A-9B107F6B0076} = {B0120C11-5024-491A-B3AD-821E1D2CD8F2} {BEF59A60-ED18-4F08-A0A4-F99D64F71E18} = {B0120C11-5024-491A-B3AD-821E1D2CD8F2} {E98D92E0-2029-47D8-9EEE-E3A19DF9354A} = {B0120C11-5024-491A-B3AD-821E1D2CD8F2} - {A36EE34F-9EA1-460E-841F-C84BC603929B} = {ED1809FC-733B-4D9E-8FEE-70D3BB0BBD84} {45FC79C1-76EB-4B30-B54F-DD1762BA15EE} = {D3569CDD-7E19-429E-B9AD-75CC05F6C4AA} {CE5A582D-3CC6-44D7-AF3F-CD741BA53833} = {B0120C11-5024-491A-B3AD-821E1D2CD8F2} {B9E8DA69-C6FA-446F-B949-EF48856551D8} = {D3569CDD-7E19-429E-B9AD-75CC05F6C4AA} @@ -470,9 +413,6 @@ Global {6FC1A2EC-7178-4A3E-93DF-1ABDF09F4943} = {ED1809FC-733B-4D9E-8FEE-70D3BB0BBD84} {D24BCAD4-0C17-40D0-8ADC-B8A5E8700047} = {D3569CDD-7E19-429E-B9AD-75CC05F6C4AA} {35D4B136-E164-48A3-ADC3-E22237CCDC9C} = {D3569CDD-7E19-429E-B9AD-75CC05F6C4AA} - {FCB31060-4C23-4BB7-9A95-4C636B43F6B5} = {438C928E-FBB5-45B2-9CD2-7ED3341AC75E} - {C5AD8C4D-D731-4DDD-96BD-A6776A1FF20E} = {438C928E-FBB5-45B2-9CD2-7ED3341AC75E} - {22984D49-8DDF-4263-8375-D018643E44B2} = {438C928E-FBB5-45B2-9CD2-7ED3341AC75E} {E4EE80C5-179C-4483-9E91-3107B3E1CD5A} = {ED1809FC-733B-4D9E-8FEE-70D3BB0BBD84} {65D8C0F8-E4CF-452D-86FB-482FE63C7C89} = {ED1809FC-733B-4D9E-8FEE-70D3BB0BBD84} {EECFACC8-E841-4EF5-A1D7-A64C84B7DBCD} = {ED1809FC-733B-4D9E-8FEE-70D3BB0BBD84} diff --git a/README.md b/README.md index dc7bd0a..3c3b0e1 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,18 @@ > > **Version 3.0** is currently being developed. See status and provide feedback [here (#98)](https://github.com/martinothamar/Mediator/issues/98) +## 3.0 + +Mediator.Abstractions (abstractions + source generator for impl + DI) +Mediator.SourceGenerator (the runtime DI) + +Init scenarios: +* Scoped - lazy init +* Transient - lazy init +* Singleton - eager init + +--- + This is a high performance .NET implementation of the Mediator pattern using the [source generators](https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/) feature introduced in .NET 5. The API and usage is mostly based on the great [MediatR](https://github.com/jbogard/MediatR) library, with some deviations to allow for better performance. Packages are .NET Standard 2.1 compatible. diff --git a/benchmarks/Mediator.Benchmarks.Large/Mediator.Benchmarks.Large.csproj b/benchmarks/Mediator.Benchmarks.Large/Mediator.Benchmarks.Large.csproj index f4f76db..0c20e4e 100644 --- a/benchmarks/Mediator.Benchmarks.Large/Mediator.Benchmarks.Large.csproj +++ b/benchmarks/Mediator.Benchmarks.Large/Mediator.Benchmarks.Large.csproj @@ -38,9 +38,8 @@ - - - + + diff --git a/benchmarks/Mediator.Benchmarks/Mediator.Benchmarks.csproj b/benchmarks/Mediator.Benchmarks/Mediator.Benchmarks.csproj index 680c301..03aa3ce 100644 --- a/benchmarks/Mediator.Benchmarks/Mediator.Benchmarks.csproj +++ b/benchmarks/Mediator.Benchmarks/Mediator.Benchmarks.csproj @@ -39,9 +39,8 @@ - - - + + diff --git a/samples/ASPNET_Core/ASPNET_Core.csproj b/samples/ASPNET_Core/ASPNET_Core.csproj index 6b15e76..bdebdb4 100644 --- a/samples/ASPNET_Core/ASPNET_Core.csproj +++ b/samples/ASPNET_Core/ASPNET_Core.csproj @@ -11,9 +11,8 @@ - - - + + diff --git a/samples/ASPNET_Core_CleanArchitecture/AspNetCoreSample.Application/AspNetCoreSample.Application.csproj b/samples/ASPNET_Core_CleanArchitecture/AspNetCoreSample.Application/AspNetCoreSample.Application.csproj index 0ba6788..83ece0a 100644 --- a/samples/ASPNET_Core_CleanArchitecture/AspNetCoreSample.Application/AspNetCoreSample.Application.csproj +++ b/samples/ASPNET_Core_CleanArchitecture/AspNetCoreSample.Application/AspNetCoreSample.Application.csproj @@ -11,9 +11,8 @@ - - - + + diff --git a/samples/ASPNET_Core_Indirect/AspNetCoreIndirect.Application/AspNetCoreIndirect.Application.csproj b/samples/ASPNET_Core_Indirect/AspNetCoreIndirect.Application/AspNetCoreIndirect.Application.csproj index fd69067..e008105 100644 --- a/samples/ASPNET_Core_Indirect/AspNetCoreIndirect.Application/AspNetCoreIndirect.Application.csproj +++ b/samples/ASPNET_Core_Indirect/AspNetCoreIndirect.Application/AspNetCoreIndirect.Application.csproj @@ -11,9 +11,8 @@ - - - + + diff --git a/samples/ASPNET_Core_Indirect/AspNetCoreIndirect.BaseClasses/AspNetCoreIndirect.BaseClasses.csproj b/samples/ASPNET_Core_Indirect/AspNetCoreIndirect.BaseClasses/AspNetCoreIndirect.BaseClasses.csproj index fa0b9f3..176ea94 100644 --- a/samples/ASPNET_Core_Indirect/AspNetCoreIndirect.BaseClasses/AspNetCoreIndirect.BaseClasses.csproj +++ b/samples/ASPNET_Core_Indirect/AspNetCoreIndirect.BaseClasses/AspNetCoreIndirect.BaseClasses.csproj @@ -11,7 +11,7 @@ - + diff --git a/samples/SimpleConsole/SimpleConsole.csproj b/samples/SimpleConsole/SimpleConsole.csproj index 046245e..d0a02f1 100644 --- a/samples/SimpleConsole/SimpleConsole.csproj +++ b/samples/SimpleConsole/SimpleConsole.csproj @@ -19,9 +19,8 @@ - - - + +