From 89087268de2672c4f17eed12b4f4437f5a3439e8 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 15:03:44 -0500 Subject: [PATCH 01/30] Bump major version --- src/Custom.Build.props | 2 +- .../obsoletes-v4.cs | 60 ------------------- 2 files changed, 1 insertion(+), 61 deletions(-) delete mode 100644 src/NServiceBus.AzureFunctions.InProcess.ServiceBus/obsoletes-v4.cs diff --git a/src/Custom.Build.props b/src/Custom.Build.props index dd483374..91a40cc2 100644 --- a/src/Custom.Build.props +++ b/src/Custom.Build.props @@ -6,7 +6,7 @@ - 4.1 + 5.0 minor diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/obsoletes-v4.cs b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/obsoletes-v4.cs deleted file mode 100644 index cff615dc..00000000 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/obsoletes-v4.cs +++ /dev/null @@ -1,60 +0,0 @@ -#pragma warning disable 1591 - -namespace NServiceBus -{ - using System; - using Microsoft.Azure.Functions.Extensions.DependencyInjection; - using Microsoft.Extensions.Configuration; - using Transport; - - public partial class ServiceBusTriggeredEndpointConfiguration - { - [ObsoleteEx(ReplacementTypeOrMember = "UseNServiceBus(ENDPOINTNAME, CONNECTIONSTRING)", - TreatAsErrorFromVersion = "4", - RemoveInVersion = "5")] - public string ServiceBusConnectionString { get; set; } - - [ObsoleteEx( - TreatAsErrorFromVersion = "4", - RemoveInVersion = "5")] - public ServiceBusTriggeredEndpointConfiguration(IConfiguration configuration) - => throw new NotImplementedException(); - - [ObsoleteEx( - TreatAsErrorFromVersion = "4", - RemoveInVersion = "5")] - public ServiceBusTriggeredEndpointConfiguration(string endpointName, IConfiguration configuration = null) - => throw new NotImplementedException(); - - [ObsoleteEx( - TreatAsErrorFromVersion = "4", - RemoveInVersion = "5")] - public ServiceBusTriggeredEndpointConfiguration(string endpointName, string connectionStringName = null) - => throw new NotImplementedException(); - - [ObsoleteEx( - TreatAsErrorFromVersion = "4", - RemoveInVersion = "5")] - public ServiceBusTriggeredEndpointConfiguration(string endpointName) - => throw new NotImplementedException(); - - [ObsoleteEx( - TreatAsErrorFromVersion = "4", - RemoveInVersion = "5")] - protected TransportExtensions UseTransport() - where TTransport : TransportDefinition, new() - => throw new NotImplementedException(); - } - - public static partial class FunctionsHostBuilderExtensions - { - [ObsoleteEx( - TreatAsErrorFromVersion = "4", - RemoveInVersion = "5")] - public static void UseNServiceBus( - this IFunctionsHostBuilder functionsHostBuilder, - Func configurationFactory) => new NotImplementedException(); - } -} - -#pragma warning restore 1591 \ No newline at end of file From 79a06dd07900fbf37a07bba7e3809ebc4b91834f Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 15:05:41 -0500 Subject: [PATCH 02/30] Add Fody reference --- .../NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index 6c9ee2ec..acff9603 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -16,6 +16,7 @@ + From dfa5e21b59df56e6a9b8ad21430e94dd982abce2 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 15:08:09 -0500 Subject: [PATCH 03/30] Bump TFM to net8.0 --- src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj | 2 +- .../NServiceBus.AzureFunctions.Analyzer.Tests.csproj | 2 +- .../NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj | 2 +- .../NServiceBus.AzureFunctions.SourceGenerator.Tests.csproj | 2 +- src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs | 2 +- .../ServiceBus.AcceptanceTests.csproj | 2 +- src/ServiceBus.Tests/ServiceBus.Tests.csproj | 2 +- src/Testing.Handlers/Testing.Handlers.csproj | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj b/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj index 0c390782..4f030bc6 100644 --- a/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj +++ b/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 v4 true $(BaseIntermediateOutputPath)\GeneratedFiles diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/NServiceBus.AzureFunctions.Analyzer.Tests.csproj b/src/NServiceBus.AzureFunctions.Analyzer.Tests/NServiceBus.AzureFunctions.Analyzer.Tests.csproj index 8f90641a..0566199b 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/NServiceBus.AzureFunctions.Analyzer.Tests.csproj +++ b/src/NServiceBus.AzureFunctions.Analyzer.Tests/NServiceBus.AzureFunctions.Analyzer.Tests.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index acff9603..00fcac2f 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 true ..\NServiceBus.snk diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/NServiceBus.AzureFunctions.SourceGenerator.Tests.csproj b/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/NServiceBus.AzureFunctions.SourceGenerator.Tests.csproj index e919a7e8..10d6b4da 100644 --- a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/NServiceBus.AzureFunctions.SourceGenerator.Tests.csproj +++ b/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/NServiceBus.AzureFunctions.SourceGenerator.Tests.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 true ..\NServiceBusTests.snk diff --git a/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs b/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs index adbe3c16..2b9f2b85 100644 --- a/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs +++ b/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs @@ -47,7 +47,7 @@ public Task CreateRunner(RunDescriptor runDescriptor) => sendsAtomicWithReceive, ServiceBusMessageActionsFactory)); - protected IList Messages { get; } = new List(); + protected IList Messages { get; } = []; protected bool DoNotFailOnErrorMessages { get; init; } diff --git a/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj b/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj index f84a0265..91bf3c64 100644 --- a/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj +++ b/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 true ..\NServiceBusTests.snk diff --git a/src/ServiceBus.Tests/ServiceBus.Tests.csproj b/src/ServiceBus.Tests/ServiceBus.Tests.csproj index 11bfea5a..3a5887f2 100644 --- a/src/ServiceBus.Tests/ServiceBus.Tests.csproj +++ b/src/ServiceBus.Tests/ServiceBus.Tests.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 true ..\NServiceBusTests.snk diff --git a/src/Testing.Handlers/Testing.Handlers.csproj b/src/Testing.Handlers/Testing.Handlers.csproj index 8e209c3d..89473b06 100644 --- a/src/Testing.Handlers/Testing.Handlers.csproj +++ b/src/Testing.Handlers/Testing.Handlers.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 From 41ab1e3f54f6a1d5c995a925f9ea669a1c3ed77b Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 15:13:30 -0500 Subject: [PATCH 04/30] Update to NServiceBus 9 packages --- .../NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj | 6 +++--- .../Serverless/TransportWrapper/ServerlessTransport.cs | 6 ------ src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs | 4 ++-- .../ServiceBus.AcceptanceTests.csproj | 6 +++--- src/Testing.Handlers/Testing.Handlers.csproj | 2 +- 5 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index 00fcac2f..5b3c4fe2 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -13,9 +13,9 @@ - - - + + + diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Serverless/TransportWrapper/ServerlessTransport.cs b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Serverless/TransportWrapper/ServerlessTransport.cs index 6e91394e..11442fc9 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Serverless/TransportWrapper/ServerlessTransport.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Serverless/TransportWrapper/ServerlessTransport.cs @@ -55,12 +55,6 @@ public override async Task Initialize(HostSettings host return serverlessTransportInfrastructure; } -#pragma warning disable CS0672 // Member overrides obsolete member -#pragma warning disable CS0618 // Type or member is obsolete - public override string ToTransportAddress(QueueAddress address) => transportExtensions.Transport.ToTransportAddress(address); -#pragma warning restore CS0618 // Type or member is obsolete -#pragma warning restore CS0672 // Member overrides obsolete member - public override IReadOnlyCollection GetSupportedTransactionModes() => supportedTransactionModes; diff --git a/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs b/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs index 2b9f2b85..1056915a 100644 --- a/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs +++ b/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs @@ -227,11 +227,11 @@ await receiver.AbandonMessageAsync(receivedMessage, } } - public override async Task Stop() + public override async Task Stop(CancellationToken cancellationToken = default) { try { - await host.StopAsync(); + await host.StopAsync(cancellationToken); if (!doNotFailOnErrorMessages) { diff --git a/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj b/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj index 91bf3c64..64aa29d4 100644 --- a/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj +++ b/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj @@ -14,14 +14,14 @@ - + - - + + diff --git a/src/Testing.Handlers/Testing.Handlers.csproj b/src/Testing.Handlers/Testing.Handlers.csproj index 89473b06..dfb7f957 100644 --- a/src/Testing.Handlers/Testing.Handlers.csproj +++ b/src/Testing.Handlers/Testing.Handlers.csproj @@ -5,7 +5,7 @@ - + From 141e64f603164225807edc7f93fdb3e73c069e75 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 15:14:25 -0500 Subject: [PATCH 05/30] Separate public and private packages --- .../NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index 5b3c4fe2..5daabd2e 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -16,6 +16,9 @@ + + + From 036a7f3973618510e306002ea728f30393127679 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 15:21:18 -0500 Subject: [PATCH 06/30] Use latest Particular.Analyzers --- src/Custom.Build.props | 1 - src/IntegrationTests.HostV4/HttpSender.cs | 10 ++++++---- .../When_starting_the_function_host.cs | 4 ++-- .../AnalyzerTestFixture.cs | 6 +++--- .../InProcessFunctionEndpoint.cs | 4 ++-- .../PipelineInvokingMessageProcessor.cs | 16 ++++++++-------- src/ServiceBus.AcceptanceTests/.editorconfig | 4 ++++ .../FunctionEndpointComponent.cs | 2 +- 8 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/Custom.Build.props b/src/Custom.Build.props index 91a40cc2..5b885869 100644 --- a/src/Custom.Build.props +++ b/src/Custom.Build.props @@ -1,7 +1,6 @@ - 0.9.0 netstandard2.0 diff --git a/src/IntegrationTests.HostV4/HttpSender.cs b/src/IntegrationTests.HostV4/HttpSender.cs index 3525a484..fddd196e 100644 --- a/src/IntegrationTests.HostV4/HttpSender.cs +++ b/src/IntegrationTests.HostV4/HttpSender.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System.Threading; +using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Extensions; using Microsoft.AspNetCore.Mvc; @@ -7,6 +8,8 @@ using Microsoft.Extensions.Logging; using NServiceBus; +using ExecutionContext = Microsoft.Azure.WebJobs.ExecutionContext; + class HttpSender { readonly IFunctionEndpoint functionEndpoint; @@ -17,15 +20,14 @@ public HttpSender(IFunctionEndpoint functionEndpoint) } [FunctionName("InProcessHttpSenderV4")] - public async Task Run( - [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest request, ExecutionContext executionContext, ILogger logger) + public async Task Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest request, ExecutionContext executionContext, ILogger logger, CancellationToken cancellationToken = default) { logger.LogInformation("C# HTTP trigger function received a request at {0}", request.GetEncodedPathAndQuery()); var sendOptions = new SendOptions(); sendOptions.RouteToThisEndpoint(); - await functionEndpoint.Send(new TriggerMessage(), sendOptions, executionContext, logger).ConfigureAwait(false); + await functionEndpoint.Send(new TriggerMessage(), sendOptions, executionContext, logger, cancellationToken).ConfigureAwait(false); return new OkObjectResult($"{nameof(TriggerMessage)} sent."); } diff --git a/src/IntegrationTests.HostV4/When_starting_the_function_host.cs b/src/IntegrationTests.HostV4/When_starting_the_function_host.cs index 3efe6ac8..9fb7a972 100644 --- a/src/IntegrationTests.HostV4/When_starting_the_function_host.cs +++ b/src/IntegrationTests.HostV4/When_starting_the_function_host.cs @@ -163,7 +163,7 @@ public async Task Should_not_blow_up() hasResult = true; } - catch (OperationCanceledException) + catch (OperationCanceledException) when (cancellationTokenSource.Token.IsCancellationRequested) { } catch (Exception ex) @@ -186,7 +186,7 @@ public async Task Should_not_blow_up() { await funcProcess.WaitForExitAsync(cancellationTokenSource.Token); } - catch (OperationCanceledException) + catch (OperationCanceledException) when (cancellationTokenSource.Token.IsCancellationRequested) { funcProcess.Kill(); } diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs b/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs index e13dc872..1643c046 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs +++ b/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs @@ -30,7 +30,7 @@ protected async Task Assert(string[] expectedDiagnosticIds, string markupCode, s var (code, markupSpans) = Parse(markupCode); var project = CreateProject(code); - await WriteCode(project); + await WriteCode(project, cancellationToken); var compilerDiagnostics = (await Task.WhenAll(project.Documents .Select(doc => doc.GetCompilerDiagnostics(cancellationToken)))) @@ -59,7 +59,7 @@ protected async Task Assert(string[] expectedDiagnosticIds, string markupCode, s NUnit.Framework.Assert.That(actualSpansAndIds, Is.EqualTo(expectedSpansAndIds).AsCollection); } - protected static async Task WriteCode(Project project) + protected static async Task WriteCode(Project project, CancellationToken cancellationToken = default) { if (!VerboseLogging) { @@ -69,7 +69,7 @@ protected static async Task WriteCode(Project project) foreach (var document in project.Documents) { Console.WriteLine(document.Name); - var code = await document.GetCode(); + var code = await document.GetCode(cancellationToken); foreach (var (line, index) in code.Replace("\r\n", "\n").Split('\n') .Select((line, index) => (line, index))) { diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/InProcessFunctionEndpoint.cs b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/InProcessFunctionEndpoint.cs index b439475e..fd3d4996 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/InProcessFunctionEndpoint.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/InProcessFunctionEndpoint.cs @@ -35,7 +35,7 @@ public async Task ProcessAtomic( { await InitializeEndpointIfNecessary(cancellationToken).ConfigureAwait(false); } - catch (Exception) + catch (Exception ex) when (ex is not OperationCanceledException || !cancellationToken.IsCancellationRequested) { await messageActions.AbandonMessageAsync(message, cancellationToken: cancellationToken).ConfigureAwait(false); throw; @@ -157,7 +157,7 @@ public Task Unsubscribe(Type eventType, ExecutionContext executionContext, ILogg "NServiceBus.Extensions.DependencyInjection.dll" }; - internal async Task InitializeEndpointIfNecessary(CancellationToken cancellationToken) + internal async Task InitializeEndpointIfNecessary(CancellationToken cancellationToken = default) { if (messageProcessor == null) { diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Serverless/TransportWrapper/PipelineInvokingMessageProcessor.cs b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Serverless/TransportWrapper/PipelineInvokingMessageProcessor.cs index 109ce5b4..e592c0c6 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Serverless/TransportWrapper/PipelineInvokingMessageProcessor.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Serverless/TransportWrapper/PipelineInvokingMessageProcessor.cs @@ -16,7 +16,7 @@ class PipelineInvokingMessageProcessor : IMessageReceiver, IMessageProcessor public PipelineInvokingMessageProcessor(IMessageReceiver baseTransportReceiver) => this.baseTransportReceiver = baseTransportReceiver; public Task Initialize(PushRuntimeSettings limitations, OnMessage onMessage, OnError onError, - CancellationToken cancellationToken) + CancellationToken cancellationToken = default) { this.onMessage = onMessage; this.onError = onError; @@ -37,9 +37,9 @@ public async Task ProcessNonAtomic( await onMessage(messageContext, cancellationToken).ConfigureAwait(false); } - catch (Exception exception) + catch (Exception ex) when (ex is not OperationCanceledException || !cancellationToken.IsCancellationRequested) { - var errorContext = CreateErrorContext(message, new TransportTransaction(), exception); + var errorContext = CreateErrorContext(message, new TransportTransaction(), ex); var errorHandleResult = await onError(errorContext, cancellationToken).ConfigureAwait(false); @@ -69,12 +69,12 @@ public async Task ProcessAtomic( azureServiceBusTransaction.Commit(); } } - catch (Exception exception) + catch (Exception ex) when (ex is not OperationCanceledException || !cancellationToken.IsCancellationRequested) { ErrorHandleResult result; using (var azureServiceBusTransaction = CreateTransaction(message.PartitionKey, serviceBusClient)) { - var errorContext = CreateErrorContext(message, azureServiceBusTransaction.TransportTransaction, exception); + var errorContext = CreateErrorContext(message, azureServiceBusTransaction.TransportTransaction, ex); result = await onError(errorContext, cancellationToken).ConfigureAwait(false); @@ -122,7 +122,7 @@ MessageContext CreateMessageContext(ServiceBusReceivedMessage message, Transport return messageContext; } - static async Task SafeCompleteMessageAsync(ServiceBusMessageActions messageActions, ServiceBusReceivedMessage message, AzureServiceBusTransportTransaction azureServiceBusTransaction, CancellationToken cancellationToken = default) + static async Task SafeCompleteMessageAsync(ServiceBusMessageActions messageActions, ServiceBusReceivedMessage message, AzureServiceBusTransportTransaction azureServiceBusTransaction, CancellationToken cancellationToken) { using var scope = azureServiceBusTransaction.ToTransactionScope(); await messageActions.CompleteMessageAsync(message, cancellationToken).ConfigureAwait(false); @@ -136,12 +136,12 @@ static AzureServiceBusTransportTransaction CreateTransaction(string messageParti Timeout = TransactionManager.MaximumTimeout }); - public Task StartReceive(CancellationToken cancellationToken) => Task.CompletedTask; + public Task StartReceive(CancellationToken cancellationToken = default) => Task.CompletedTask; // No-op because the rate at which Azure Functions pushes messages to the pipeline can't be controlled. public Task ChangeConcurrency(PushRuntimeSettings limitations, CancellationToken cancellationToken = default) => Task.CompletedTask; - public Task StopReceive(CancellationToken cancellationToken) => Task.CompletedTask; + public Task StopReceive(CancellationToken cancellationToken = default) => Task.CompletedTask; public ISubscriptionManager Subscriptions => baseTransportReceiver.Subscriptions; public string Id => baseTransportReceiver.Id; diff --git a/src/ServiceBus.AcceptanceTests/.editorconfig b/src/ServiceBus.AcceptanceTests/.editorconfig index 0f61b0e1..493b55ff 100644 --- a/src/ServiceBus.AcceptanceTests/.editorconfig +++ b/src/ServiceBus.AcceptanceTests/.editorconfig @@ -3,5 +3,9 @@ # Justification: Test project dotnet_diagnostic.CA2007.severity = none +# may be enabled in future +dotnet_diagnostic.PS0018.severity = suggestion # A task-returning method should have a CancellationToken parameter unless it has a parameter implementing ICancellableContext + # Justification: Tests don't support cancellation and don't need to forward IMessageHandlerContext.CancellationToken dotnet_diagnostic.NSB0002.severity = suggestion +dotnet_diagnostic.PS0013.severity = suggestion diff --git a/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs b/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs index 1056915a..f7bda9f8 100644 --- a/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs +++ b/src/ServiceBus.AcceptanceTests/FunctionEndpointComponent.cs @@ -204,7 +204,7 @@ public override async Task ComponentsStarted(CancellationToken cancellationToken cancellationToken); await receiver.CompleteMessageAsync(receivedMessage, cancellationToken); } - catch (Exception) + catch (Exception ex) when (ex is not OperationCanceledException || !cancellationToken.IsCancellationRequested) { await receiver.AbandonMessageAsync(receivedMessage, cancellationToken: cancellationToken); From 0d3d312896da2f9afb05ddd2563ad632532ef820 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 16:27:13 -0500 Subject: [PATCH 07/30] Remove ifdef --- .../AnalyzerTestFixture.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs b/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs index 1643c046..e7bfdb72 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs +++ b/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs @@ -107,11 +107,8 @@ static AnalyzerTestFixture() ProjectReferences = ImmutableList.Create( MetadataReference.CreateFromFile(typeof(object).GetTypeInfo().Assembly.Location), MetadataReference.CreateFromFile(typeof(Enumerable).GetTypeInfo().Assembly.Location), - MetadataReference.CreateFromFile(typeof(System.Linq.Expressions.Expression).GetTypeInfo().Assembly - .Location), -#if NET + MetadataReference.CreateFromFile(typeof(System.Linq.Expressions.Expression).GetTypeInfo().Assembly.Location), MetadataReference.CreateFromFile(Assembly.Load("System.Runtime").Location), -#endif MetadataReference.CreateFromFile(typeof(IFunctionEndpoint).GetTypeInfo().Assembly.Location), MetadataReference.CreateFromFile(typeof(EndpointConfiguration).GetTypeInfo().Assembly.Location), MetadataReference.CreateFromFile(typeof(AzureServiceBusTransport).GetTypeInfo().Assembly.Location)); From b37cc515823b25395eeaa53ca033dc7d1985c2dc Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 16:28:14 -0500 Subject: [PATCH 08/30] Use collection expressions --- .../AnalyzerTestFixture.cs | 6 ++++-- .../Extensions/CompilationExtensions.cs | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs b/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs index e7bfdb72..62b54a9c 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs +++ b/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs @@ -104,14 +104,16 @@ protected Project CreateProject(string[] code) static AnalyzerTestFixture() { - ProjectReferences = ImmutableList.Create( + ProjectReferences = + [ MetadataReference.CreateFromFile(typeof(object).GetTypeInfo().Assembly.Location), MetadataReference.CreateFromFile(typeof(Enumerable).GetTypeInfo().Assembly.Location), MetadataReference.CreateFromFile(typeof(System.Linq.Expressions.Expression).GetTypeInfo().Assembly.Location), MetadataReference.CreateFromFile(Assembly.Load("System.Runtime").Location), MetadataReference.CreateFromFile(typeof(IFunctionEndpoint).GetTypeInfo().Assembly.Location), MetadataReference.CreateFromFile(typeof(EndpointConfiguration).GetTypeInfo().Assembly.Location), - MetadataReference.CreateFromFile(typeof(AzureServiceBusTransport).GetTypeInfo().Assembly.Location)); + MetadataReference.CreateFromFile(typeof(AzureServiceBusTransport).GetTypeInfo().Assembly.Location), + ]; } static readonly ImmutableList ProjectReferences; diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/Extensions/CompilationExtensions.cs b/src/NServiceBus.AzureFunctions.Analyzer.Tests/Extensions/CompilationExtensions.cs index 45086c62..13c0cf2a 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/Extensions/CompilationExtensions.cs +++ b/src/NServiceBus.AzureFunctions.Analyzer.Tests/Extensions/CompilationExtensions.cs @@ -44,7 +44,7 @@ public static async Task> GetAnalyzerDiagnostics(this Co logAnalyzerExecutionTime: false); var diagnostics = await compilation - .WithAnalyzers(ImmutableArray.Create(analyzer), analysisOptions) + .WithAnalyzers([analyzer], analysisOptions) .GetAnalyzerDiagnosticsAsync(cancellationToken); if (exceptions.Any()) From 6bbbc8669ee19106d383b1f3f75d02384455edb9 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 16:32:15 -0500 Subject: [PATCH 09/30] Remove unused Guard --- .../Utils/Guard.cs | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Utils/Guard.cs diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Utils/Guard.cs b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Utils/Guard.cs deleted file mode 100644 index b286731e..00000000 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/Utils/Guard.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace NServiceBus -{ - using System; - - static class Guard - { - public static void AgainstNullAndEmpty(string argumentName, string value) - { - if (string.IsNullOrWhiteSpace(value)) - { - throw new ArgumentNullException(argumentName); - } - } - } -} \ No newline at end of file From f827b7567fdb7801d1bd93711f9496b0e1b680e6 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 16:37:54 -0500 Subject: [PATCH 10/30] Add setting for .NET8 inproc host --- src/IntegrationTests.HostV4/local.settings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/IntegrationTests.HostV4/local.settings.json b/src/IntegrationTests.HostV4/local.settings.json index 71e6cd3e..56b7480a 100644 --- a/src/IntegrationTests.HostV4/local.settings.json +++ b/src/IntegrationTests.HostV4/local.settings.json @@ -2,6 +2,7 @@ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", + "FUNCTIONS_INPROC_NET8_ENABLED": "1", "FUNCTIONS_WORKER_RUNTIME": "dotnet", "AzureWebJobsServiceBus": "", From 83b236ae5c3e042c4900bba406b6f70031ff3977 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 16:43:23 -0500 Subject: [PATCH 11/30] Remove props file that is no longer needed --- .../IntegrationTests.HostV4.csproj | 3 --- ...iceBus.AzureFunctions.InProcess.ServiceBus.csproj | 5 ----- ...viceBus.AzureFunctions.InProcess.ServiceBus.props | 12 ------------ 3 files changed, 20 deletions(-) delete mode 100644 src/NServiceBus.AzureFunctions.InProcess.ServiceBus/build/NServiceBus.AzureFunctions.InProcess.ServiceBus.props diff --git a/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj b/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj index 4f030bc6..7b508354 100644 --- a/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj +++ b/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj @@ -29,7 +29,4 @@ - - - \ No newline at end of file diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index 5daabd2e..cd00350e 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -28,11 +28,6 @@ - - - - - diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/build/NServiceBus.AzureFunctions.InProcess.ServiceBus.props b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/build/NServiceBus.AzureFunctions.InProcess.ServiceBus.props deleted file mode 100644 index 449a9eb9..00000000 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/build/NServiceBus.AzureFunctions.InProcess.ServiceBus.props +++ /dev/null @@ -1,12 +0,0 @@ - - - CS8032 - - - - - - - - - \ No newline at end of file From 7184f87899364c29dc13d0c85e0485cf13bbaaef Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 16:55:07 -0500 Subject: [PATCH 12/30] Rename Analyzer project --- .../.editorconfig | 0 .../AnalyzerTestFixture.cs | 2 +- .../ConfigurationAnalyzerTests.cs | 2 +- .../ConfigurationAnalyzerTestsCSharp8.cs | 2 +- .../Extensions/CompilationExtensions.cs | 2 +- .../Extensions/DocumentExtensions.cs | 2 +- ...ServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj} | 2 +- .../OptionsAnalyzerTests.cs | 2 +- .../TransportConfigurationAnalyzerTests.cs | 2 +- .../.editorconfig | 0 .../AzureFunctionsDiagnostics.cs | 2 +- .../ConfigurationAnalyzer.cs | 2 +- .../Extensions/SyntaxNodeAnalysisContextExtension.cs | 0 .../NServiceBus.AzureFunctions.InProcess.Analyzer.csproj} | 0 src/NServiceBus.AzureFunctions.InProcess.ServiceBus.sln | 4 ++-- .../NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj | 2 +- 16 files changed, 13 insertions(+), 13 deletions(-) rename src/{NServiceBus.AzureFunctions.Analyzer.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/.editorconfig (100%) rename src/{NServiceBus.AzureFunctions.Analyzer.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/AnalyzerTestFixture.cs (99%) rename src/{NServiceBus.AzureFunctions.Analyzer.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/ConfigurationAnalyzerTests.cs (98%) rename src/{NServiceBus.AzureFunctions.Analyzer.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/ConfigurationAnalyzerTestsCSharp8.cs (94%) rename src/{NServiceBus.AzureFunctions.Analyzer.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/Extensions/CompilationExtensions.cs (96%) rename src/{NServiceBus.AzureFunctions.Analyzer.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/Extensions/DocumentExtensions.cs (97%) rename src/{NServiceBus.AzureFunctions.Analyzer.Tests/NServiceBus.AzureFunctions.Analyzer.Tests.csproj => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj} (83%) rename src/{NServiceBus.AzureFunctions.Analyzer.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/OptionsAnalyzerTests.cs (96%) rename src/{NServiceBus.AzureFunctions.Analyzer.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/TransportConfigurationAnalyzerTests.cs (98%) rename src/{NServiceBus.AzureFunctions.Analyzer => NServiceBus.AzureFunctions.InProcess.Analyzer}/.editorconfig (100%) rename src/{NServiceBus.AzureFunctions.Analyzer => NServiceBus.AzureFunctions.InProcess.Analyzer}/AzureFunctionsDiagnostics.cs (99%) rename src/{NServiceBus.AzureFunctions.Analyzer => NServiceBus.AzureFunctions.InProcess.Analyzer}/ConfigurationAnalyzer.cs (99%) rename src/{NServiceBus.AzureFunctions.Analyzer => NServiceBus.AzureFunctions.InProcess.Analyzer}/Extensions/SyntaxNodeAnalysisContextExtension.cs (100%) rename src/{NServiceBus.AzureFunctions.Analyzer/NServiceBus.AzureFunctions.Analyzer.csproj => NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj} (100%) diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/.editorconfig b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/.editorconfig similarity index 100% rename from src/NServiceBus.AzureFunctions.Analyzer.Tests/.editorconfig rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/.editorconfig diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/AnalyzerTestFixture.cs similarity index 99% rename from src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/AnalyzerTestFixture.cs index 62b54a9c..3ee6b02c 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/AnalyzerTestFixture.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/AnalyzerTestFixture.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.Analyzer.Tests +namespace NServiceBus.AzureFunctions.InProcess.Analyzer.Tests { using System; using System.Collections.Generic; diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/ConfigurationAnalyzerTests.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ConfigurationAnalyzerTests.cs similarity index 98% rename from src/NServiceBus.AzureFunctions.Analyzer.Tests/ConfigurationAnalyzerTests.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ConfigurationAnalyzerTests.cs index ffca45aa..f8b568b9 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/ConfigurationAnalyzerTests.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ConfigurationAnalyzerTests.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.Analyzer.Tests +namespace NServiceBus.AzureFunctions.InProcess.Analyzer.Tests { using System.Threading.Tasks; using NUnit.Framework; diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/ConfigurationAnalyzerTestsCSharp8.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ConfigurationAnalyzerTestsCSharp8.cs similarity index 94% rename from src/NServiceBus.AzureFunctions.Analyzer.Tests/ConfigurationAnalyzerTestsCSharp8.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ConfigurationAnalyzerTestsCSharp8.cs index cce95f33..023a3ffb 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/ConfigurationAnalyzerTestsCSharp8.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ConfigurationAnalyzerTestsCSharp8.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.Analyzer.Tests +namespace NServiceBus.AzureFunctions.InProcess.Analyzer.Tests { using System.Threading.Tasks; using Microsoft.CodeAnalysis.CSharp; diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/Extensions/CompilationExtensions.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/Extensions/CompilationExtensions.cs similarity index 96% rename from src/NServiceBus.AzureFunctions.Analyzer.Tests/Extensions/CompilationExtensions.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/Extensions/CompilationExtensions.cs index 13c0cf2a..2eadb657 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/Extensions/CompilationExtensions.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/Extensions/CompilationExtensions.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.Analyzer.Tests +namespace NServiceBus.AzureFunctions.InProcess.Analyzer.Tests { using System; using System.Collections.Generic; diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/Extensions/DocumentExtensions.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/Extensions/DocumentExtensions.cs similarity index 97% rename from src/NServiceBus.AzureFunctions.Analyzer.Tests/Extensions/DocumentExtensions.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/Extensions/DocumentExtensions.cs index b02a6207..deeeae96 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/Extensions/DocumentExtensions.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/Extensions/DocumentExtensions.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.Analyzer.Tests +namespace NServiceBus.AzureFunctions.InProcess.Analyzer.Tests { using System.Collections.Generic; using System.Linq; diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/NServiceBus.AzureFunctions.Analyzer.Tests.csproj b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj similarity index 83% rename from src/NServiceBus.AzureFunctions.Analyzer.Tests/NServiceBus.AzureFunctions.Analyzer.Tests.csproj rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj index 0566199b..c12b4bd6 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/NServiceBus.AzureFunctions.Analyzer.Tests.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/OptionsAnalyzerTests.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/OptionsAnalyzerTests.cs similarity index 96% rename from src/NServiceBus.AzureFunctions.Analyzer.Tests/OptionsAnalyzerTests.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/OptionsAnalyzerTests.cs index 8ffc2493..dd99d090 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/OptionsAnalyzerTests.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/OptionsAnalyzerTests.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.Analyzer.Tests +namespace NServiceBus.AzureFunctions.InProcess.Analyzer.Tests { using System.Threading.Tasks; using NUnit.Framework; diff --git a/src/NServiceBus.AzureFunctions.Analyzer.Tests/TransportConfigurationAnalyzerTests.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/TransportConfigurationAnalyzerTests.cs similarity index 98% rename from src/NServiceBus.AzureFunctions.Analyzer.Tests/TransportConfigurationAnalyzerTests.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/TransportConfigurationAnalyzerTests.cs index 264709b2..23697da5 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer.Tests/TransportConfigurationAnalyzerTests.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/TransportConfigurationAnalyzerTests.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.Analyzer.Tests +namespace NServiceBus.AzureFunctions.InProcess.Analyzer.Tests { using System.Threading.Tasks; using NUnit.Framework; diff --git a/src/NServiceBus.AzureFunctions.Analyzer/.editorconfig b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/.editorconfig similarity index 100% rename from src/NServiceBus.AzureFunctions.Analyzer/.editorconfig rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer/.editorconfig diff --git a/src/NServiceBus.AzureFunctions.Analyzer/AzureFunctionsDiagnostics.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs similarity index 99% rename from src/NServiceBus.AzureFunctions.Analyzer/AzureFunctionsDiagnostics.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs index 9d944d6f..17261838 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer/AzureFunctionsDiagnostics.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.Analyzer +namespace NServiceBus.AzureFunctions.InProcess.Analyzer { using Microsoft.CodeAnalysis; diff --git a/src/NServiceBus.AzureFunctions.Analyzer/ConfigurationAnalyzer.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/ConfigurationAnalyzer.cs similarity index 99% rename from src/NServiceBus.AzureFunctions.Analyzer/ConfigurationAnalyzer.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer/ConfigurationAnalyzer.cs index 1c8b1ab6..4f550ff8 100644 --- a/src/NServiceBus.AzureFunctions.Analyzer/ConfigurationAnalyzer.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/ConfigurationAnalyzer.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.Analyzer +namespace NServiceBus.AzureFunctions.InProcess.Analyzer { using System.Collections.Generic; using System.Collections.Immutable; diff --git a/src/NServiceBus.AzureFunctions.Analyzer/Extensions/SyntaxNodeAnalysisContextExtension.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/Extensions/SyntaxNodeAnalysisContextExtension.cs similarity index 100% rename from src/NServiceBus.AzureFunctions.Analyzer/Extensions/SyntaxNodeAnalysisContextExtension.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer/Extensions/SyntaxNodeAnalysisContextExtension.cs diff --git a/src/NServiceBus.AzureFunctions.Analyzer/NServiceBus.AzureFunctions.Analyzer.csproj b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj similarity index 100% rename from src/NServiceBus.AzureFunctions.Analyzer/NServiceBus.AzureFunctions.Analyzer.csproj rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus.sln b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus.sln index 5a67fcd9..985a70ab 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus.sln +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus.sln @@ -23,9 +23,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServiceBus.AcceptanceTests" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTests.HostV4", "IntegrationTests.HostV4\IntegrationTests.HostV4.csproj", "{D4B26C04-CD88-4356-922F-CCF69D74F442}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NServiceBus.AzureFunctions.Analyzer", "NServiceBus.AzureFunctions.Analyzer\NServiceBus.AzureFunctions.Analyzer.csproj", "{0D840DDA-A554-4764-871E-3ACB7A454FF9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NServiceBus.AzureFunctions.InProcess.Analyzer", "NServiceBus.AzureFunctions.InProcess.Analyzer\NServiceBus.AzureFunctions.InProcess.Analyzer.csproj", "{0D840DDA-A554-4764-871E-3ACB7A454FF9}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NServiceBus.AzureFunctions.Analyzer.Tests", "NServiceBus.AzureFunctions.Analyzer.Tests\NServiceBus.AzureFunctions.Analyzer.Tests.csproj", "{BA6AF5D9-9784-498A-9E9E-8A726A35B0EE}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NServiceBus.AzureFunctions.InProcess.Analyzer.Tests", "NServiceBus.AzureFunctions.InProcess.Analyzer.Tests\NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj", "{BA6AF5D9-9784-498A-9E9E-8A726A35B0EE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index cd00350e..76500c8a 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -25,7 +25,7 @@ - + From d77c4e4c7eaafe3a6165594ad2ec03f29695b53a Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 16:56:55 -0500 Subject: [PATCH 13/30] Clean up trailing whitespace --- .../ConfigurationAnalyzerTests.cs | 8 ++++---- .../ConfigurationAnalyzerTestsCSharp8.cs | 4 ++-- .../OptionsAnalyzerTests.cs | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ConfigurationAnalyzerTests.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ConfigurationAnalyzerTests.cs index f8b568b9..37687f1e 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ConfigurationAnalyzerTests.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ConfigurationAnalyzerTests.cs @@ -17,9 +17,9 @@ public class ConfigurationAnalyzerTests : AnalyzerTestFixture public Task DiagnosticIsReportedForOptions(string optionsType, string method, string diagnosticId) { var source = - $@"using NServiceBus; + $@"using NServiceBus; class Foo {{ void Bar({optionsType} options) From 9d16f4aa320daf8047aceee2b79f57d3db36d4f3 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 17:07:55 -0500 Subject: [PATCH 14/30] Move source generator into Analyzer project --- .../IntegrationTests.HostV4.csproj | 2 +- ...ovals.Can_enable_transactions.approved.txt | 0 ...verride_trigger_function_name.approved.txt | 0 ...orApprovals.NameIsStringValue.approved.txt | 0 ...not_generate_trigger_function.approved.txt | 0 ...ls.Two_optionals_out_of_order.approved.txt | 0 ...orApprovals.Use_two_optionals.approved.txt | 0 ...ngFullyQualifiedAttributeName.approved.txt | 0 ...ratorApprovals.UsingNamespace.approved.txt | 0 ...eFunctions.InProcess.Analyzer.Tests.csproj | 6 +++- .../SourceGeneratorApprovals.cs | 2 +- ...s.AzureFunctions.InProcess.Analyzer.csproj | 4 +++ .../TriggerFunctionGenerator.cs | 2 +- ...us.AzureFunctions.InProcess.ServiceBus.sln | 12 -------- ...AzureFunctions.InProcess.ServiceBus.csproj | 8 +----- ...zureFunctions.SourceGenerator.Tests.csproj | 27 ------------------ .../.editorconfig | 5 ---- ...eBus.AzureFunctions.SourceGenerator.csproj | 28 ------------------- 18 files changed, 13 insertions(+), 83 deletions(-) rename src/{NServiceBus.AzureFunctions.SourceGenerator.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/ApprovalFiles/SourceGeneratorApprovals.Can_enable_transactions.approved.txt (100%) rename src/{NServiceBus.AzureFunctions.SourceGenerator.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/ApprovalFiles/SourceGeneratorApprovals.Can_override_trigger_function_name.approved.txt (100%) rename src/{NServiceBus.AzureFunctions.SourceGenerator.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/ApprovalFiles/SourceGeneratorApprovals.NameIsStringValue.approved.txt (100%) rename src/{NServiceBus.AzureFunctions.SourceGenerator.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/ApprovalFiles/SourceGeneratorApprovals.No_attribute_should_not_generate_trigger_function.approved.txt (100%) rename src/{NServiceBus.AzureFunctions.SourceGenerator.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/ApprovalFiles/SourceGeneratorApprovals.Two_optionals_out_of_order.approved.txt (100%) rename src/{NServiceBus.AzureFunctions.SourceGenerator.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/ApprovalFiles/SourceGeneratorApprovals.Use_two_optionals.approved.txt (100%) rename src/{NServiceBus.AzureFunctions.SourceGenerator.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/ApprovalFiles/SourceGeneratorApprovals.UsingFullyQualifiedAttributeName.approved.txt (100%) rename src/{NServiceBus.AzureFunctions.SourceGenerator.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/ApprovalFiles/SourceGeneratorApprovals.UsingNamespace.approved.txt (100%) rename src/{NServiceBus.AzureFunctions.SourceGenerator.Tests => NServiceBus.AzureFunctions.InProcess.Analyzer.Tests}/SourceGeneratorApprovals.cs (99%) rename src/{NServiceBus.AzureFunctions.SourceGenerator => NServiceBus.AzureFunctions.InProcess.Analyzer}/TriggerFunctionGenerator.cs (99%) delete mode 100644 src/NServiceBus.AzureFunctions.SourceGenerator.Tests/NServiceBus.AzureFunctions.SourceGenerator.Tests.csproj delete mode 100644 src/NServiceBus.AzureFunctions.SourceGenerator/.editorconfig delete mode 100644 src/NServiceBus.AzureFunctions.SourceGenerator/NServiceBus.AzureFunctions.SourceGenerator.csproj diff --git a/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj b/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj index 7b508354..9f843d75 100644 --- a/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj +++ b/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj @@ -8,8 +8,8 @@ + - diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.Can_enable_transactions.approved.txt b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.Can_enable_transactions.approved.txt similarity index 100% rename from src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.Can_enable_transactions.approved.txt rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.Can_enable_transactions.approved.txt diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.Can_override_trigger_function_name.approved.txt b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.Can_override_trigger_function_name.approved.txt similarity index 100% rename from src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.Can_override_trigger_function_name.approved.txt rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.Can_override_trigger_function_name.approved.txt diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.NameIsStringValue.approved.txt b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.NameIsStringValue.approved.txt similarity index 100% rename from src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.NameIsStringValue.approved.txt rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.NameIsStringValue.approved.txt diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.No_attribute_should_not_generate_trigger_function.approved.txt b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.No_attribute_should_not_generate_trigger_function.approved.txt similarity index 100% rename from src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.No_attribute_should_not_generate_trigger_function.approved.txt rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.No_attribute_should_not_generate_trigger_function.approved.txt diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.Two_optionals_out_of_order.approved.txt b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.Two_optionals_out_of_order.approved.txt similarity index 100% rename from src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.Two_optionals_out_of_order.approved.txt rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.Two_optionals_out_of_order.approved.txt diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.Use_two_optionals.approved.txt b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.Use_two_optionals.approved.txt similarity index 100% rename from src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.Use_two_optionals.approved.txt rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.Use_two_optionals.approved.txt diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.UsingFullyQualifiedAttributeName.approved.txt b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.UsingFullyQualifiedAttributeName.approved.txt similarity index 100% rename from src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.UsingFullyQualifiedAttributeName.approved.txt rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.UsingFullyQualifiedAttributeName.approved.txt diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.UsingNamespace.approved.txt b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.UsingNamespace.approved.txt similarity index 100% rename from src/NServiceBus.AzureFunctions.SourceGenerator.Tests/ApprovalFiles/SourceGeneratorApprovals.UsingNamespace.approved.txt rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/ApprovalFiles/SourceGeneratorApprovals.UsingNamespace.approved.txt diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj index c12b4bd6..8e16fd8c 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj @@ -1,4 +1,4 @@ - + net8.0 @@ -17,4 +17,8 @@ + + + + diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/SourceGeneratorApprovals.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/SourceGeneratorApprovals.cs similarity index 99% rename from src/NServiceBus.AzureFunctions.SourceGenerator.Tests/SourceGeneratorApprovals.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/SourceGeneratorApprovals.cs index 285c1ffd..ccdca617 100644 --- a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/SourceGeneratorApprovals.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/SourceGeneratorApprovals.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.SourceGenerator.Tests +namespace NServiceBus.AzureFunctions.InProcess.Analyzer.Tests { using System; using System.Collections.Generic; diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj index 761ec1c2..4e5e7d27 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj @@ -21,4 +21,8 @@ + + + + diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator/TriggerFunctionGenerator.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/TriggerFunctionGenerator.cs similarity index 99% rename from src/NServiceBus.AzureFunctions.SourceGenerator/TriggerFunctionGenerator.cs rename to src/NServiceBus.AzureFunctions.InProcess.Analyzer/TriggerFunctionGenerator.cs index b7b90d8f..bcdf5cb6 100644 --- a/src/NServiceBus.AzureFunctions.SourceGenerator/TriggerFunctionGenerator.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/TriggerFunctionGenerator.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.AzureFunctions.SourceGenerator +namespace NServiceBus.AzureFunctions.InProcess.Analyzer { using System.Linq; using System.Text; diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus.sln b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus.sln index 985a70ab..105b6ae4 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus.sln +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus.sln @@ -15,10 +15,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution items", "Solution EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Testing.Handlers", "Testing.Handlers\Testing.Handlers.csproj", "{F922CF8D-9012-4D04-84FF-3C923F79A075}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NServiceBus.AzureFunctions.SourceGenerator", "NServiceBus.AzureFunctions.SourceGenerator\NServiceBus.AzureFunctions.SourceGenerator.csproj", "{D2345DCC-2A8D-4B30-9701-F276597D6858}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NServiceBus.AzureFunctions.SourceGenerator.Tests", "NServiceBus.AzureFunctions.SourceGenerator.Tests\NServiceBus.AzureFunctions.SourceGenerator.Tests.csproj", "{22BE8002-D99B-461B-B472-F2361A849E47}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServiceBus.AcceptanceTests", "ServiceBus.AcceptanceTests\ServiceBus.AcceptanceTests.csproj", "{259C7716-0038-493C-831F-A9193C94741C}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTests.HostV4", "IntegrationTests.HostV4\IntegrationTests.HostV4.csproj", "{D4B26C04-CD88-4356-922F-CCF69D74F442}" @@ -45,14 +41,6 @@ Global {F922CF8D-9012-4D04-84FF-3C923F79A075}.Debug|Any CPU.Build.0 = Debug|Any CPU {F922CF8D-9012-4D04-84FF-3C923F79A075}.Release|Any CPU.ActiveCfg = Release|Any CPU {F922CF8D-9012-4D04-84FF-3C923F79A075}.Release|Any CPU.Build.0 = Release|Any CPU - {D2345DCC-2A8D-4B30-9701-F276597D6858}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D2345DCC-2A8D-4B30-9701-F276597D6858}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D2345DCC-2A8D-4B30-9701-F276597D6858}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D2345DCC-2A8D-4B30-9701-F276597D6858}.Release|Any CPU.Build.0 = Release|Any CPU - {22BE8002-D99B-461B-B472-F2361A849E47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {22BE8002-D99B-461B-B472-F2361A849E47}.Debug|Any CPU.Build.0 = Debug|Any CPU - {22BE8002-D99B-461B-B472-F2361A849E47}.Release|Any CPU.ActiveCfg = Release|Any CPU - {22BE8002-D99B-461B-B472-F2361A849E47}.Release|Any CPU.Build.0 = Release|Any CPU {259C7716-0038-493C-831F-A9193C94741C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {259C7716-0038-493C-831F-A9193C94741C}.Debug|Any CPU.Build.0 = Debug|Any CPU {259C7716-0038-493C-831F-A9193C94741C}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index 76500c8a..e516da10 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -7,7 +7,7 @@ - + @@ -28,12 +28,6 @@ - - - - - - diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/NServiceBus.AzureFunctions.SourceGenerator.Tests.csproj b/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/NServiceBus.AzureFunctions.SourceGenerator.Tests.csproj deleted file mode 100644 index 10d6b4da..00000000 --- a/src/NServiceBus.AzureFunctions.SourceGenerator.Tests/NServiceBus.AzureFunctions.SourceGenerator.Tests.csproj +++ /dev/null @@ -1,27 +0,0 @@ - - - - net8.0 - true - ..\NServiceBusTests.snk - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator/.editorconfig b/src/NServiceBus.AzureFunctions.SourceGenerator/.editorconfig deleted file mode 100644 index fcccce5b..00000000 --- a/src/NServiceBus.AzureFunctions.SourceGenerator/.editorconfig +++ /dev/null @@ -1,5 +0,0 @@ -[*.cs] - -# Justification: Not using the analzyer release tracking feature -dotnet_diagnostic.RS2008.severity = none - diff --git a/src/NServiceBus.AzureFunctions.SourceGenerator/NServiceBus.AzureFunctions.SourceGenerator.csproj b/src/NServiceBus.AzureFunctions.SourceGenerator/NServiceBus.AzureFunctions.SourceGenerator.csproj deleted file mode 100644 index 48ef387b..00000000 --- a/src/NServiceBus.AzureFunctions.SourceGenerator/NServiceBus.AzureFunctions.SourceGenerator.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - - netstandard2.0 - true - true - ..\NServiceBus.snk - false - false - - - - - - - - - - - $(MinVerMajor).$(MinVerMinor).$(MinVerPatch).0 - - - - - - - - \ No newline at end of file From 4dd48c74f1dfa9d07745d3344e9e6ee6f77d8e24 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 17:25:09 -0500 Subject: [PATCH 15/30] Move source generator diagnostic descriptors --- .../SourceGeneratorApprovals.cs | 4 ++-- .../AzureFunctionsDiagnostics.cs | 19 ++++++++++++++++++- ...s.AzureFunctions.InProcess.Analyzer.csproj | 4 ---- .../TriggerFunctionGenerator.cs | 18 ++---------------- 4 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/SourceGeneratorApprovals.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/SourceGeneratorApprovals.cs index ccdca617..f713e7fb 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/SourceGeneratorApprovals.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/SourceGeneratorApprovals.cs @@ -108,7 +108,7 @@ public void Invalid_name_should_cause_an_error(string endpointName) "; var (_, diagnostics) = GetGeneratedOutput(source, suppressGeneratedDiagnosticsErrors: true); - Assert.That(diagnostics.Any(d => d.Severity == DiagnosticSeverity.Error && d.Id == TriggerFunctionGenerator.InvalidEndpointNameError.Id), Is.True); + Assert.That(diagnostics.Any(d => d.Severity == DiagnosticSeverity.Error && d.Id == AzureFunctionsDiagnostics.InvalidEndpointNameErrorId), Is.True); } [TestCase(null)] @@ -123,7 +123,7 @@ public void Invalid_trigger_function_name_should_cause_an_error(string triggerFu "; var (_, diagnostics) = GetGeneratedOutput(source, suppressGeneratedDiagnosticsErrors: true); - Assert.That(diagnostics.Any(d => d.Severity == DiagnosticSeverity.Error && d.Id == TriggerFunctionGenerator.InvalidTriggerFunctionNameError.Id), Is.True); + Assert.That(diagnostics.Any(d => d.Severity == DiagnosticSeverity.Error && d.Id == AzureFunctionsDiagnostics.InvalidTriggerFunctionNameErrorId), Is.True); } [Test] diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs index 17261838..8b2b0084 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs @@ -4,6 +4,8 @@ public static class AzureFunctionsDiagnostics { + public const string InvalidEndpointNameErrorId = "NSBFUNC001"; + public const string InvalidTriggerFunctionNameErrorId = "NSBFUNC002"; public const string PurgeOnStartupNotAllowedId = "NSBFUNC003"; public const string LimitMessageProcessingToNotAllowedId = "NSBFUNC004"; public const string DefineCriticalErrorActionNotAllowedId = "NSBFUNC005"; @@ -18,12 +20,27 @@ public static class AzureFunctionsDiagnostics public const string PrefetchCountNotAllowedId = "NSBFUNC014"; public const string PrefetchMultiplierNotAllowedId = "NSBFUNC015"; public const string TimeToWaitBeforeTriggeringCircuitBreakerNotAllowedId = "NSBFUNC016"; - public const string EntityMaximumSizeNotAllowedId = "NSBFUNC017"; public const string EnablePartitioningNotAllowedId = "NSBFUNC018"; const string DiagnosticCategory = "NServiceBus.AzureFunctions"; + internal static readonly DiagnosticDescriptor InvalidEndpointNameError = new DiagnosticDescriptor( + id: InvalidEndpointNameErrorId, + title: "Invalid Endpoint Name", + messageFormat: "Endpoint name is invalid and cannot be used to generate trigger function", + category: "TriggerFunctionGenerator", + DiagnosticSeverity.Error, + isEnabledByDefault: true); + + internal static readonly DiagnosticDescriptor InvalidTriggerFunctionNameError = new DiagnosticDescriptor( + id: InvalidTriggerFunctionNameErrorId, + title: "Invalid Trigger Function Name", + messageFormat: "Trigger function name is invalid and cannot be used to generate trigger function", + category: "TriggerFunctionGenerator", + DiagnosticSeverity.Error, + isEnabledByDefault: true); + internal static readonly DiagnosticDescriptor PurgeOnStartupNotAllowed = new DiagnosticDescriptor( id: PurgeOnStartupNotAllowedId, title: "PurgeOnStartup is not supported in Azure Functions", diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj index 4e5e7d27..761ec1c2 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj @@ -21,8 +21,4 @@ - - - - diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/TriggerFunctionGenerator.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/TriggerFunctionGenerator.cs index bcdf5cb6..215a82f1 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/TriggerFunctionGenerator.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/TriggerFunctionGenerator.cs @@ -9,20 +9,6 @@ [Generator] public class TriggerFunctionGenerator : ISourceGenerator { - internal static readonly DiagnosticDescriptor InvalidEndpointNameError = new DiagnosticDescriptor(id: "NSBFUNC001", - title: "Invalid Endpoint Name", - messageFormat: "Endpoint name is invalid and cannot be used to generate trigger function", - category: "TriggerFunctionGenerator", - DiagnosticSeverity.Error, - isEnabledByDefault: true); - - internal static readonly DiagnosticDescriptor InvalidTriggerFunctionNameError = new DiagnosticDescriptor(id: "NSBFUNC002", - title: "Invalid Trigger Function Name", - messageFormat: "Trigger function name is invalid and cannot be used to generate trigger function", - category: "TriggerFunctionGenerator", - DiagnosticSeverity.Error, - isEnabledByDefault: true); - public void Initialize(GeneratorInitializationContext context) { context.RegisterForSyntaxNotifications(() => new SyntaxReceiver()); @@ -97,14 +83,14 @@ public void Execute(GeneratorExecutionContext context) // Generate an error if empty/null/space is used as endpoint name if (string.IsNullOrWhiteSpace(syntaxReceiver.endpointName)) { - context.ReportDiagnostic(Diagnostic.Create(InvalidEndpointNameError, Location.None, syntaxReceiver.endpointName)); + context.ReportDiagnostic(Diagnostic.Create(AzureFunctionsDiagnostics.InvalidEndpointNameError, Location.None, syntaxReceiver.endpointName)); return; } // Generate an error if empty/null/space is used as trigger function name if (string.IsNullOrWhiteSpace(syntaxReceiver.triggerFunctionName)) { - context.ReportDiagnostic(Diagnostic.Create(InvalidTriggerFunctionNameError, Location.None, syntaxReceiver.triggerFunctionName)); + context.ReportDiagnostic(Diagnostic.Create(AzureFunctionsDiagnostics.InvalidTriggerFunctionNameError, Location.None, syntaxReceiver.triggerFunctionName)); return; } From a6b7cf05d65e3458d8f2e28958c9eb86f4f64363 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 17:30:46 -0500 Subject: [PATCH 16/30] Sort descriptors by id number --- .../AzureFunctionsDiagnostics.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs index 8b2b0084..c29af635 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/AzureFunctionsDiagnostics.cs @@ -122,6 +122,15 @@ public static class AzureFunctionsDiagnostics isEnabledByDefault: true ); + internal static readonly DiagnosticDescriptor TransportTransactionModeNotAllowed = new DiagnosticDescriptor( + id: TransportTransactionModeNotAllowedId, + title: "TransportTransactionMode is not supported in Azure Functions", + messageFormat: "Transport TransactionMode is controlled by the Azure Service Bus trigger and cannot be configured via the NServiceBus transport configuration API when using Azure Functions.", + category: DiagnosticCategory, + defaultSeverity: DiagnosticSeverity.Error, + isEnabledByDefault: true + ); + internal static readonly DiagnosticDescriptor MaxAutoLockRenewalDurationNotAllowed = new DiagnosticDescriptor( id: MaxAutoLockRenewalDurationNotAllowedId, title: "MaxAutoLockRenewalDuration is not supported in Azure Functions", @@ -175,14 +184,5 @@ public static class AzureFunctionsDiagnostics defaultSeverity: DiagnosticSeverity.Error, isEnabledByDefault: true ); - - internal static readonly DiagnosticDescriptor TransportTransactionModeNotAllowed = new DiagnosticDescriptor( - id: TransportTransactionModeNotAllowedId, - title: "TransportTransactionMode is not supported in Azure Functions", - messageFormat: "Transport TransactionMode is controlled by the Azure Service Bus trigger and cannot be configured via the NServiceBus transport configuration API when using Azure Functions.", - category: DiagnosticCategory, - defaultSeverity: DiagnosticSeverity.Error, - isEnabledByDefault: true - ); } } \ No newline at end of file From 47b3aa8c8ec361ca393c74578a209038a6e42864 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 17:35:51 -0500 Subject: [PATCH 17/30] Update Microsoft.CodeAnalysis.CSharp.Workspaces --- .../NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj | 1 + .../NServiceBus.AzureFunctions.InProcess.Analyzer.csproj | 3 ++- .../NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj index 8e16fd8c..f9db7e5e 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj @@ -18,6 +18,7 @@ + diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj index 761ec1c2..d4176503 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj @@ -7,11 +7,12 @@ ..\NServiceBus.snk false false + true - + diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index e516da10..6b73dac5 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -25,7 +25,7 @@ - + From 96d98ef45fa3c185bbb2fab2c6fb92fb6f129978 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 17:46:17 -0500 Subject: [PATCH 18/30] Update Particular.Approvals --- src/ServiceBus.Tests/ServiceBus.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ServiceBus.Tests/ServiceBus.Tests.csproj b/src/ServiceBus.Tests/ServiceBus.Tests.csproj index 3a5887f2..be0fad1a 100644 --- a/src/ServiceBus.Tests/ServiceBus.Tests.csproj +++ b/src/ServiceBus.Tests/ServiceBus.Tests.csproj @@ -19,7 +19,7 @@ - + From a9575a9fa379e749b47209da732b3cf3cc0f93a2 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 17:53:27 -0500 Subject: [PATCH 19/30] Update path for permissions fix --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72615f33..2a9e9e73 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,7 +51,7 @@ jobs: shell: bash - name: Fix Azure Functions Core Tools permissions - Linux if: runner.os == 'Linux' - run: sudo chmod +x /usr/lib/azure-functions-core-tools/in-proc6/func + run: sudo chmod +x /usr/lib/azure-functions-core-tools/in-proc8/func - name: Build run: dotnet build src --configuration Release - name: Upload packages From 50ef5952f63acfa5ff9355a455a6d78c674922ed Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Wed, 27 Nov 2024 18:05:32 -0500 Subject: [PATCH 20/30] Update APIApprovals --- .../APIApprovals.Approve.approved.txt | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/src/ServiceBus.Tests/ApprovalFiles/APIApprovals.Approve.approved.txt b/src/ServiceBus.Tests/ApprovalFiles/APIApprovals.Approve.approved.txt index 8883e515..c9533039 100644 --- a/src/ServiceBus.Tests/ApprovalFiles/APIApprovals.Approve.approved.txt +++ b/src/ServiceBus.Tests/ApprovalFiles/APIApprovals.Approve.approved.txt @@ -11,9 +11,6 @@ namespace NServiceBus public static class FunctionsHostBuilderExtensions { public static void UseNServiceBus(this Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder functionsHostBuilder, System.Action configurationFactory = null) { } - [System.Obsolete("The member currently throws a NotImplementedException. Will be removed in version" + - " 5.0.0.", true)] - public static void UseNServiceBus(this Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder functionsHostBuilder, System.Func configurationFactory) { } public static void UseNServiceBus(this Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder functionsHostBuilder, System.Func configurationFactory) { } public static void UseNServiceBus(this Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder functionsHostBuilder, string endpointName, System.Action configurationFactory = null) { } public static void UseNServiceBus(this Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder functionsHostBuilder, string endpointName, string connectionString, System.Action configurationFactory = null) { } @@ -46,31 +43,12 @@ namespace NServiceBus } public class ServiceBusTriggeredEndpointConfiguration { - [System.Obsolete("The member currently throws a NotImplementedException. Will be removed in version" + - " 5.0.0.", true)] - public ServiceBusTriggeredEndpointConfiguration(Microsoft.Extensions.Configuration.IConfiguration configuration) { } - [System.Obsolete("The member currently throws a NotImplementedException. Will be removed in version" + - " 5.0.0.", true)] - public ServiceBusTriggeredEndpointConfiguration(string endpointName) { } - [System.Obsolete("The member currently throws a NotImplementedException. Will be removed in version" + - " 5.0.0.", true)] - public ServiceBusTriggeredEndpointConfiguration(string endpointName, Microsoft.Extensions.Configuration.IConfiguration configuration = null) { } - [System.Obsolete("The member currently throws a NotImplementedException. Will be removed in version" + - " 5.0.0.", true)] - public ServiceBusTriggeredEndpointConfiguration(string endpointName, string connectionStringName = null) { } public NServiceBus.EndpointConfiguration AdvancedConfiguration { get; } public NServiceBus.RoutingSettings Routing { get; } - [System.Obsolete("Use `UseNServiceBus(ENDPOINTNAME, CONNECTIONSTRING)` instead. Will be removed in " + - "version 5.0.0.", true)] - public string ServiceBusConnectionString { get; set; } public NServiceBus.AzureServiceBusTransport Transport { get; } public void DoNotSendMessagesToErrorQueue() { } public void LogDiagnostics() { } public NServiceBus.Serialization.SerializationExtensions UseSerialization() where T : NServiceBus.Serialization.SerializationDefinition, new () { } - [System.Obsolete("The member currently throws a NotImplementedException. Will be removed in version" + - " 5.0.0.", true)] - protected NServiceBus.TransportExtensions UseTransport() - where TTransport : NServiceBus.Transport.TransportDefinition, new () { } } } \ No newline at end of file From 2f3ec61d76a1c287903a45718e79b20cf3c429c9 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Thu, 13 Feb 2025 18:58:03 -0500 Subject: [PATCH 21/30] Remove unneeded editorconfig settings --- .../.editorconfig | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/.editorconfig b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/.editorconfig index 671d13ff..fb00cd90 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/.editorconfig +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/.editorconfig @@ -2,12 +2,3 @@ # ConfigureAwait(false) dotnet_diagnostic.CA2007.severity = none - -# Use pattern matching (may change code meaning) -dotnet_diagnostic.IDE0078.severity = none - -# Use pattern matching -dotnet_diagnostic.IDE0083.severity = none - -# Convert switch statement to expression -dotnet_diagnostic.IDE0066.severity = none From 2989b4acb246fd38084b3ab4c80b16ea37616561 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Thu, 13 Feb 2025 19:00:27 -0500 Subject: [PATCH 22/30] Update testing packages --- .../IntegrationTests.HostV4.csproj | 8 ++++---- ...viceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj | 8 ++++---- .../ServiceBus.AcceptanceTests.csproj | 8 ++++---- src/ServiceBus.Tests/ServiceBus.Tests.csproj | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj b/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj index 9f843d75..5410723e 100644 --- a/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj +++ b/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj @@ -14,10 +14,10 @@ - - - - + + + + diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj index f9db7e5e..d186628d 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj @@ -11,10 +11,10 @@ - - - - + + + + diff --git a/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj b/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj index 64aa29d4..dd338f3d 100644 --- a/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj +++ b/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj @@ -13,10 +13,10 @@ - - - - + + + + diff --git a/src/ServiceBus.Tests/ServiceBus.Tests.csproj b/src/ServiceBus.Tests/ServiceBus.Tests.csproj index be0fad1a..f213110b 100644 --- a/src/ServiceBus.Tests/ServiceBus.Tests.csproj +++ b/src/ServiceBus.Tests/ServiceBus.Tests.csproj @@ -12,10 +12,10 @@ - - - - + + + + From 22ac05c88bf6ad4dc629644712c788d55f9e9453 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Thu, 13 Feb 2025 19:01:15 -0500 Subject: [PATCH 23/30] Update PublicApiGenerator --- src/ServiceBus.Tests/ServiceBus.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ServiceBus.Tests/ServiceBus.Tests.csproj b/src/ServiceBus.Tests/ServiceBus.Tests.csproj index f213110b..3a09497b 100644 --- a/src/ServiceBus.Tests/ServiceBus.Tests.csproj +++ b/src/ServiceBus.Tests/ServiceBus.Tests.csproj @@ -20,7 +20,7 @@ - + From 67ff689fca467d2d5931d0a006819c41762e7225 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Thu, 13 Feb 2025 19:02:36 -0500 Subject: [PATCH 24/30] Update NServiceBus packages --- .../NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj | 6 +++--- .../ServiceBus.AcceptanceTests.csproj | 4 ++-- src/Testing.Handlers/Testing.Handlers.csproj | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index 6b73dac5..3dd5570f 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -13,9 +13,9 @@ - - - + + + diff --git a/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj b/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj index dd338f3d..afda94e9 100644 --- a/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj +++ b/src/ServiceBus.AcceptanceTests/ServiceBus.AcceptanceTests.csproj @@ -20,8 +20,8 @@ - - + + diff --git a/src/Testing.Handlers/Testing.Handlers.csproj b/src/Testing.Handlers/Testing.Handlers.csproj index dfb7f957..0cb8e021 100644 --- a/src/Testing.Handlers/Testing.Handlers.csproj +++ b/src/Testing.Handlers/Testing.Handlers.csproj @@ -5,7 +5,7 @@ - + From 55ec23101d7e288075c1b5fbe6ecad338a293765 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Thu, 13 Feb 2025 19:03:22 -0500 Subject: [PATCH 25/30] Update Obsolete.Fody --- .../NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index 3dd5570f..e303b776 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -20,7 +20,7 @@ - + From 4ff33fcf405d9bda1fac9c070a43dce1bfc5ef38 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Thu, 13 Feb 2025 19:04:15 -0500 Subject: [PATCH 26/30] Update Particular.Packaging --- .../NServiceBus.AzureFunctions.InProcess.Analyzer.csproj | 2 +- .../NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj index d4176503..0b5cbe17 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer/NServiceBus.AzureFunctions.InProcess.Analyzer.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj index e303b776..7fcfa8a1 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/NServiceBus.AzureFunctions.InProcess.ServiceBus.csproj @@ -21,7 +21,7 @@ - + From c7e908e25c031b75a34bad6e8cafad73ed2c5dfd Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Thu, 13 Feb 2025 19:05:13 -0500 Subject: [PATCH 27/30] Update Particular.Approvals --- .../NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj | 2 +- src/ServiceBus.Tests/ServiceBus.Tests.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj index d186628d..c7a80098 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj +++ b/src/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests/NServiceBus.AzureFunctions.InProcess.Analyzer.Tests.csproj @@ -19,7 +19,7 @@ - + diff --git a/src/ServiceBus.Tests/ServiceBus.Tests.csproj b/src/ServiceBus.Tests/ServiceBus.Tests.csproj index 3a09497b..53529e1f 100644 --- a/src/ServiceBus.Tests/ServiceBus.Tests.csproj +++ b/src/ServiceBus.Tests/ServiceBus.Tests.csproj @@ -19,7 +19,7 @@ - + From a0d919c873b25325c103642375480ecfc54ef7a9 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Thu, 13 Feb 2025 19:07:44 -0500 Subject: [PATCH 28/30] Update workflow --- .github/workflows/ci.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2a9e9e73..d9eb180f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,9 +35,7 @@ jobs: - name: Setup .NET SDK uses: actions/setup-dotnet@v4.3.0 with: - dotnet-version: | - 8.0.x - 6.0.x + dotnet-version: 8.0.x - name: Setup Azure Functions Core Tools - Windows if: runner.os == 'Windows' run: | From a694b5d2f1c0ca5a9cff2a33c77d389f9aa8af01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96hlund?= Date: Fri, 14 Feb 2025 07:41:54 +0100 Subject: [PATCH 29/30] Exclude system.clientmodel from scanning --- .../InProcessFunctionEndpoint.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/InProcessFunctionEndpoint.cs b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/InProcessFunctionEndpoint.cs index fd3d4996..95863bd5 100644 --- a/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/InProcessFunctionEndpoint.cs +++ b/src/NServiceBus.AzureFunctions.InProcess.ServiceBus/InProcessFunctionEndpoint.cs @@ -154,7 +154,8 @@ public Task Unsubscribe(Type eventType, ExecutionContext executionContext, ILogg "Microsoft.Identity.Client.dll", "Microsoft.Identity.Client.Extensions.Msal.dll", "NCrontab.Signed.dll", - "NServiceBus.Extensions.DependencyInjection.dll" + "NServiceBus.Extensions.DependencyInjection.dll", + "System.ClientModel.dll" }; internal async Task InitializeEndpointIfNecessary(CancellationToken cancellationToken = default) From 42bec1f486a17b37d67bf2836306b65c04f111fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96hlund?= Date: Fri, 14 Feb 2025 08:03:45 +0100 Subject: [PATCH 30/30] Apply workaround to https://github.com/Azure/azure-functions-host/issues/10575 --- src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj b/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj index 5410723e..134bbfed 100644 --- a/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj +++ b/src/IntegrationTests.HostV4/IntegrationTests.HostV4.csproj @@ -20,6 +20,10 @@ + + + +