Skip to content

Commit

Permalink
Prepare repo for .NET 8 (#1062)
Browse files Browse the repository at this point in the history
* Bump major version

* Update TFMs to net8.0

* Update to NServiceBus 9

* Adjust PreObsolete

* Update workflows

* Update approval file

* Update NServiceBus to 9.0.0-alpha.2

* Remove unneeded ToTransportAddress override

* Bump dependencies

* Fix approval file

* Add public issue to pre-obsolete

* Clean up csproj

* Remove unneeded dependency

* PR Review tweaks

---------

Co-authored-by: Brandon Ording <bording@gmail.com>
  • Loading branch information
kentdr and bording committed Sep 6, 2023
1 parent ebcfa85 commit f69c4fe
Show file tree
Hide file tree
Showing 15 changed files with 107 additions and 276 deletions.
9 changes: 4 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ jobs:
strategy:
matrix:
include:
- os: windows-2019
- os: windows-2022
name: Windows
- os: ubuntu-20.04
- os: ubuntu-22.04
name: Linux
fail-fast: false
steps:
Expand All @@ -33,9 +33,8 @@ jobs:
- name: Setup .NET SDK
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: |
7.0.x
6.0.x
dotnet-version: 8.0.x
dotnet-quality: 'preview'
- name: Build
run: dotnet build src --configuration Release
- name: Upload packages
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ env:
DOTNET_NOLOGO: true
jobs:
release:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4.0.0
Expand All @@ -17,7 +17,8 @@ jobs:
- name: Setup .NET SDK
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 7.0.x
dotnet-version: 8.0.x
dotnet-quality: 'preview'
- name: Build
run: dotnet build src --configuration Release
- name: Sign NuGet packages
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net472;net6.0;net7.0</TargetFrameworks>
<TargetFramework>net8.0</TargetFramework>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)NServiceBusTests.snk</AssemblyOriginatorKeyFile>
<LangVersion>10.0</LangVersion>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Transport\NServiceBus.Transport.AzureStorageQueues.csproj" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="GitHubActionsTestLogger" Version="2.3.1" />
<PackageReference Include="Azure.Data.Tables" Version="12.8.0" />
<PackageReference Include="Azure.Storage.Queues" Version="12.14.0" />
<PackageReference Include="Azure.Storage.Blobs" Version="12.16.0" />
<PackageReference Include="NServiceBus.AcceptanceTests.Sources" Version="8.1.1" />
<PackageReference Include="GitHubActionsTestLogger" Version="2.3.3" />
<PackageReference Include="Azure.Data.Tables" Version="12.8.1" />
<PackageReference Include="Azure.Storage.Queues" Version="12.15.0" />
<PackageReference Include="Azure.Storage.Blobs" Version="12.17.0" />
<PackageReference Include="NServiceBus.AcceptanceTests.Sources" Version="9.0.0-alpha.2" />
<PackageReference Include="NServiceBus.Newtonsoft.Json" Version="3.0.0" />
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
<PackageReference Include="NUnit" Version="3.13.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0-preview-23424-02" />
</ItemGroup>

</Project>
11 changes: 0 additions & 11 deletions src/AcceptanceTests/StringExtensions.cs

This file was deleted.

2 changes: 1 addition & 1 deletion src/Custom.Build.props
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project>

<PropertyGroup>
<MinVerMinimumMajorMinor>12.1</MinVerMinimumMajorMinor>
<MinVerMinimumMajorMinor>13.0</MinVerMinimumMajorMinor>
<MinVerAutoIncrement>minor</MinVerAutoIncrement>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,20 @@ namespace NServiceBus
{
public AccountInfo(string alias, string connectionString) { }
public AccountInfo(string alias, Azure.Storage.Queues.QueueServiceClient queueServiceClient, Azure.Data.Tables.TableServiceClient tableServiceClient) { }
[System.Obsolete("Use the constructor overload that accepts a TableServiceClient. The member curren" +
"tly throws a NotImplementedException. Will be removed in version 13.0.0.", true)]
public AccountInfo(string alias, Azure.Storage.Queues.QueueServiceClient queueServiceClient, object cloudTableClient) { }
public string Alias { get; }
public string ConnectionString { get; }
public NServiceBus.AccountInfo AddEndpoint(string endpointName, System.Collections.Generic.IEnumerable<System.Type> publishedEvents = null, string subscriptionTableName = null) { }
}
public class AccountRoutingSettings
{
public string DefaultAccountAlias { get; set; }
[System.Obsolete("Account aliases using connection strings have been deprecated. Use the AddAccount" +
" overload that accepts a QueueServiceClient instance. The member currently throw" +
"s a NotImplementedException. Will be removed in version 13.0.0.", true)]
public NServiceBus.AccountInfo AddAccount(string alias, string connectionString) { }
public NServiceBus.AccountInfo AddAccount(string alias, Azure.Storage.Queues.QueueServiceClient queueServiceClient, Azure.Data.Tables.TableServiceClient tableServiceClient) { }
[System.Obsolete("Use AddAccount that accepts a TableServiceClient. The member currently throws a N" +
"otImplementedException. Will be removed in version 13.0.0.", true)]
public NServiceBus.AccountInfo AddAccount(string alias, Azure.Storage.Queues.QueueServiceClient queueServiceClient, object cloudTableClient) { }
}
public class AzureStorageQueueTransport : NServiceBus.Transport.TransportDefinition, NServiceBus.Routing.IMessageDrivenSubscriptionTransport
{
public AzureStorageQueueTransport(Azure.Storage.Queues.QueueServiceClient queueServiceClient) { }
public AzureStorageQueueTransport(string connectionString, bool useNativeDelayedDeliveries = true) { }
public AzureStorageQueueTransport(Azure.Storage.Queues.QueueServiceClient queueServiceClient, Azure.Storage.Blobs.BlobServiceClient blobServiceClient, Azure.Data.Tables.TableServiceClient tableServiceClient) { }
[System.Obsolete("Use the constructor overload that accepts a TableServiceClient. The member curren" +
"tly throws a NotImplementedException. Will be removed in version 13.0.0.", true)]
public AzureStorageQueueTransport(Azure.Storage.Queues.QueueServiceClient queueServiceClient, Azure.Storage.Blobs.BlobServiceClient blobServiceClient, object cloudTableClient) { }
public NServiceBus.AccountRoutingSettings AccountRouting { get; }
public int? DegreeOfReceiveParallelism { get; set; }
public NServiceBus.NativeDelayedDeliverySettings DelayedDelivery { get; }
Expand All @@ -47,10 +34,6 @@ namespace NServiceBus
public NServiceBus.SubscriptionSettings Subscriptions { get; }
public override System.Collections.Generic.IReadOnlyCollection<NServiceBus.TransportTransactionMode> GetSupportedTransactionModes() { }
public override System.Threading.Tasks.Task<NServiceBus.Transport.TransportInfrastructure> Initialize(NServiceBus.Transport.HostSettings hostSettings, NServiceBus.Transport.ReceiveSettings[] receiversSettings, string[] sendingAddresses, System.Threading.CancellationToken cancellationToken = default) { }
[System.Obsolete("Inject the ITransportAddressResolver type to access the address translation mecha" +
"nism at runtime. See the NServiceBus version 8 upgrade guide for further details" +
". Will be removed in version 13.0.0.", true)]
public override string ToTransportAddress(NServiceBus.Transport.QueueAddress address) { }
}
public static class AzureStorageTransportExtensions
{
Expand All @@ -72,21 +55,12 @@ namespace NServiceBus
where TSerializationDefinition : NServiceBus.Serialization.SerializationDefinition, new () { }
public static NServiceBus.TransportExtensions<NServiceBus.AzureStorageQueueTransport> SubscriptionTableName(this NServiceBus.TransportExtensions<NServiceBus.AzureStorageQueueTransport> config, string subscriptionTableName) { }
public static NServiceBus.TransportExtensions<NServiceBus.AzureStorageQueueTransport> UnwrapMessagesWith(this NServiceBus.TransportExtensions<NServiceBus.AzureStorageQueueTransport> config, System.Func<Azure.Storage.Queues.Models.QueueMessage, NServiceBus.Azure.Transports.WindowsAzureStorageQueues.MessageWrapper> unwrapper) { }
[System.Obsolete("Provide the TableServiceClient with the UseTransport<AzureStorageQueues> configur" +
"ation as a parameter. The member currently throws a NotImplementedException. Wil" +
"l be removed in version 13.0.0.", true)]
public static NServiceBus.TransportExtensions<NServiceBus.AzureStorageQueueTransport> UseCloudTableClient(this NServiceBus.TransportExtensions<NServiceBus.AzureStorageQueueTransport> config, object cloudTableClient) { }
public static NServiceBus.TransportExtensions<NServiceBus.AzureStorageQueueTransport> UseTransport<T>(this NServiceBus.EndpointConfiguration config)
where T : NServiceBus.AzureStorageQueueTransport { }
public static NServiceBus.TransportExtensions<NServiceBus.AzureStorageQueueTransport> UseTransport<T>(this NServiceBus.EndpointConfiguration config, Azure.Storage.Queues.QueueServiceClient queueServiceClient)
where T : NServiceBus.AzureStorageQueueTransport { }
public static NServiceBus.TransportExtensions<NServiceBus.AzureStorageQueueTransport> UseTransport<T>(this NServiceBus.EndpointConfiguration config, Azure.Storage.Queues.QueueServiceClient queueServiceClient, Azure.Storage.Blobs.BlobServiceClient blobServiceClient, Azure.Data.Tables.TableServiceClient tableServiceClient)
where T : NServiceBus.AzureStorageQueueTransport { }
[System.Obsolete("Use `Provide the TableServiceClient with the UseTransport<AzureStorageQueues> con" +
"figuration as a parameter.` instead. The member currently throws a NotImplemente" +
"dException. Will be removed in version 13.0.0.", true)]
public static NServiceBus.TransportExtensions<NServiceBus.AzureStorageQueueTransport> UseTransport<T>(this NServiceBus.EndpointConfiguration config, Azure.Storage.Queues.QueueServiceClient queueServiceClient, Azure.Storage.Blobs.BlobServiceClient blobServiceClient, object cloudTableClient)
where T : NServiceBus.AzureStorageQueueTransport { }
}
public class DelayedDeliverySettings : NServiceBus.Configuration.AdvancedExtensibility.ExposeSettings
{
Expand Down
6 changes: 1 addition & 5 deletions src/Tests/LegacyApiTests.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#pragma warning disable 0618
#pragma warning disable 0619
namespace NServiceBus.Transport.AzureStorageQueues.Tests
{
using System;
Expand Down Expand Up @@ -52,6 +50,4 @@ public void Legacy_api_shim_sets_corresponding_new_api_properties()
Assert.AreEqual(expectedDefaultAccountAlias, transport.Transport.AccountRouting.DefaultAccountAlias);
}
}
}
#pragma warning restore 0619
#pragma warning restore 0618
}
13 changes: 6 additions & 7 deletions src/Tests/NServiceBus.Transport.AzureStorageQueues.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net472;net6.0;net7.0</TargetFrameworks>
<TargetFramework>net8.0</TargetFramework>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)NServiceBusTests.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
Expand All @@ -11,15 +11,14 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="GitHubActionsTestLogger" Version="2.3.1" />
<PackageReference Include="Azure.Storage.Queues" Version="12.14.0" />
<PackageReference Include="Azure.Storage.Blobs" Version="12.16.0" />
<PackageReference Include="Microsoft.Azure.Cosmos.Table" Version="1.0.8" />
<PackageReference Include="GitHubActionsTestLogger" Version="2.3.3" />
<PackageReference Include="Azure.Storage.Queues" Version="12.15.0" />
<PackageReference Include="Azure.Storage.Blobs" Version="12.17.0" />
<PackageReference Include="Particular.Approvals" Version="0.5.0" />
<PackageReference Include="NServiceBus" Version="8.1.1" />
<PackageReference Include="NServiceBus" Version="9.0.0-alpha.2" />
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
<PackageReference Include="NUnit" Version="3.13.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0-preview-23424-02" />
<PackageReference Include="PublicApiGenerator" Version="11.0.0" />
</ItemGroup>

Expand Down
12 changes: 1 addition & 11 deletions src/Transport/AzureStorageQueueTransport.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,11 @@ namespace NServiceBus
using Transport;
using Transport.AzureStorageQueues;
using Unicast.Messages;
using QueueAddress = Transport.QueueAddress;

/// <summary>
/// Transport definition for AzureStorageQueue
/// </summary>
public partial class AzureStorageQueueTransport : TransportDefinition, IMessageDrivenSubscriptionTransport
public class AzureStorageQueueTransport : TransportDefinition, IMessageDrivenSubscriptionTransport
{
internal AzureStorageQueueTransport()
: base(TransportTransactionMode.ReceiveOnly, supportsDelayedDelivery: true, supportsPublishSubscribe: false, supportsTTBR: true)
Expand Down Expand Up @@ -306,15 +305,6 @@ await queueCreator.CreateQueueIfNecessary(queuesToCreate, cancellationToken)
return infrastructure;
}

/// <inheritdoc />
[ObsoleteEx(Message = "Inject the ITransportAddressResolver type to access the address translation mechanism at runtime. See the NServiceBus version 8 upgrade guide for further details.",
TreatAsErrorFromVersion = "12",
RemoveInVersion = "13")]
#pragma warning disable CS0672 // Member overrides obsolete member
public override string ToTransportAddress(QueueAddress address)
=> AzureStorageQueueInfrastructure.TranslateAddress(address, QueueAddressGenerator);
#pragma warning restore CS0672 // Member overrides obsolete member

void ValidateReceiversSettings(ReceiveSettings[] receivers)
{
var isSendOnly = receivers.Length == 0;
Expand Down

0 comments on commit f69c4fe

Please sign in to comment.