Skip to content

Commit

Permalink
Merge pull request #80 from escendit/79-add-compatibility-for-orleans…
Browse files Browse the repository at this point in the history
…-81x

Fixed compatibility issue
  • Loading branch information
snovak7 authored Apr 27, 2024
2 parents 12aad97 + a974c95 commit f3e4703
Show file tree
Hide file tree
Showing 13 changed files with 214 additions and 41 deletions.
76 changes: 38 additions & 38 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ItemGroup>
<PackageVersion Include="coverlet.collector" Version="6.0.0" />
<PackageVersion Include="Escendit.Extensions.DependencyInjection.RabbitMQ.Abstractions" Version="0.2.0" />
<PackageVersion Include="Escendit.Extensions.DependencyInjection.RabbitMQ.AmqpProtocol" Version="0.2.0" />
<PackageVersion Include="Escendit.Extensions.DependencyInjection.RabbitMQ.StreamProtocol" Version="0.2.0" />
<PackageVersion Include="Escendit.Tools.Branding" Version="1.0.2" />
<PackageVersion Include="Escendit.Tools.CodeAnalysis.NetAnalyzers" Version="0.5.0" />
<PackageVersion Include="Escendit.Tools.CodeAnalysis.NSubstituteAnalyzers" Version="0.1.0-rc.18" />
<PackageVersion Include="Escendit.Tools.CodeAnalysis.SecurityCodeScanAnalyzers" Version="0.5.0" />
<PackageVersion Include="Escendit.Tools.CodeAnalysis.SonarAnalyzers" Version="0.5.0" />
<PackageVersion Include="Escendit.Tools.CodeAnalysis.StyleCopAnalyzers" Version="0.5.0" />
<PackageVersion Include="Escendit.Tools.CodeAnalysis.xUnitAnalyzers" Version="0.1.0-rc.21" />
<PackageVersion Include="Escendit.Tools.SourceLink.GitHub" Version="0.4.0" />
<PackageVersion Include="GitVersion.MsBuild" Version="5.12.0" />
<PackageVersion Include="JunitXml.TestLogger" Version="3.0.134" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageVersion Include="NSubstitute" Version="5.1.0" />
<PackageVersion Include="xunit" Version="2.6.3" />
<PackageVersion Include="xunit.categories" Version="2.0.8" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.5" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
<PackageVersion Include="Microsoft.Orleans.EventSourcing" Version="7.2.4" />
<PackageVersion Include="Microsoft.Orleans.Runtime" Version="7.2.4" />
<PackageVersion Include="Microsoft.Orleans.Sdk" Version="7.2.4" />
<PackageVersion Include="Microsoft.Orleans.Streaming" Version="7.2.4" />
<PackageVersion Include="Microsoft.Orleans.TestingHost" Version="7.2.4" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
<PackageVersion Include="Microsoft.Orleans.EventSourcing" Version="8.0.0-rc1" />
<PackageVersion Include="Microsoft.Orleans.Runtime" Version="8.0.0-rc1" />
<PackageVersion Include="Microsoft.Orleans.Sdk" Version="8.0.0-rc1" />
<PackageVersion Include="Microsoft.Orleans.Streaming" Version="8.0.0-rc1" />
<PackageVersion Include="Microsoft.Orleans.TestingHost" Version="8.0.0-rc1" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
</ItemGroup>
</Project>
<ItemGroup>
<PackageVersion Include="coverlet.collector" Version="6.0.0"/>
<PackageVersion Include="Escendit.Extensions.DependencyInjection.RabbitMQ.Abstractions" Version="0.2.0"/>
<PackageVersion Include="Escendit.Extensions.DependencyInjection.RabbitMQ.AmqpProtocol" Version="0.2.0"/>
<PackageVersion Include="Escendit.Extensions.DependencyInjection.RabbitMQ.StreamProtocol" Version="0.2.0"/>
<PackageVersion Include="Escendit.Tools.Branding" Version="1.0.2"/>
<PackageVersion Include="Escendit.Tools.CodeAnalysis.NetAnalyzers" Version="0.5.0"/>
<PackageVersion Include="Escendit.Tools.CodeAnalysis.NSubstituteAnalyzers" Version="0.1.0-rc.18"/>
<PackageVersion Include="Escendit.Tools.CodeAnalysis.SecurityCodeScanAnalyzers" Version="0.5.0"/>
<PackageVersion Include="Escendit.Tools.CodeAnalysis.SonarAnalyzers" Version="0.5.0"/>
<PackageVersion Include="Escendit.Tools.CodeAnalysis.StyleCopAnalyzers" Version="0.5.0"/>
<PackageVersion Include="Escendit.Tools.CodeAnalysis.xUnitAnalyzers" Version="0.1.0-rc.21"/>
<PackageVersion Include="Escendit.Tools.SourceLink.GitHub" Version="0.4.0"/>
<PackageVersion Include="GitVersion.MsBuild" Version="5.12.0"/>
<PackageVersion Include="JunitXml.TestLogger" Version="3.0.134"/>
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.8.0"/>
<PackageVersion Include="NSubstitute" Version="5.1.0"/>
<PackageVersion Include="xunit" Version="2.6.3"/>
<PackageVersion Include="xunit.categories" Version="2.0.8"/>
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.5"/>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
<PackageVersion Include="Microsoft.Orleans.EventSourcing" Version="7.2.6"/>
<PackageVersion Include="Microsoft.Orleans.Runtime" Version="7.2.6"/>
<PackageVersion Include="Microsoft.Orleans.Sdk" Version="7.2.6"/>
<PackageVersion Include="Microsoft.Orleans.Streaming" Version="7.2.6"/>
<PackageVersion Include="Microsoft.Orleans.TestingHost" Version="7.2.6"/>
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1"/>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
<PackageVersion Include="Microsoft.Orleans.EventSourcing" Version="8.1.0"/>
<PackageVersion Include="Microsoft.Orleans.Runtime" Version="8.1.0"/>
<PackageVersion Include="Microsoft.Orleans.Sdk" Version="8.1.0"/>
<PackageVersion Include="Microsoft.Orleans.Streaming" Version="8.1.0"/>
<PackageVersion Include="Microsoft.Orleans.TestingHost" Version="8.1.0"/>
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0"/>
</ItemGroup>
</Project>
27 changes: 27 additions & 0 deletions src/Orleans/AmqpProtocol/Builder/RabbitMqClientOptionsBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

namespace Escendit.Orleans.Streaming.RabbitMQ.AmqpProtocol.Builder;

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using RabbitMQ.Builder;

Expand All @@ -11,28 +12,54 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.AmqpProtocol.Builder;
/// </summary>
internal class RabbitMqClientOptionsBuilder : IRabbitMqClientOptionsBuilder
{
#if NET8_0_OR_GREATER
/// <summary>
/// Initializes a new instance of the <see cref="RabbitMqClientOptionsBuilder"/> class.
/// </summary>
/// <param name="name">The name.</param>
/// <param name="services">The services.</param>
/// <param name="configuration">The configuration.</param>
/// <param name="configurator">The configurator.</param>
public RabbitMqClientOptionsBuilder(
string name,
IServiceCollection services,
IConfiguration configuration,
ClusterClientPersistentStreamConfigurator configurator)
{
Name = name;
Services = services;
Configuration = configuration;
Configurator = configurator;
}
#else
/// <summary>
/// Initializes a new instance of the <see cref="RabbitMqClientOptionsBuilder"/> class.
/// </summary>
/// <param name="name">The name.</param>
/// <param name="services">The services.</param>
/// <param name="configurator">The configurator.</param>
public RabbitMqClientOptionsBuilder(
string name,
IServiceCollection services,
ClusterClientPersistentStreamConfigurator configurator)
{
Name = name;
Services = services;
Configurator = configurator;
}
#endif

/// <inheritdoc/>
public string Name { get; }

/// <inheritdoc/>
public IServiceCollection Services { get; }

#if NET8_0_OR_GREATER
/// <inheritdoc/>
public IConfiguration Configuration { get; }
#endif

/// <inheritdoc/>
public ClusterClientPersistentStreamConfigurator Configurator { get; }

Expand Down
23 changes: 23 additions & 0 deletions src/Orleans/AmqpProtocol/Builder/RabbitMqSiloOptionsBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

namespace Escendit.Orleans.Streaming.RabbitMQ.AmqpProtocol.Builder;

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using RabbitMQ.Builder;

Expand All @@ -11,6 +12,22 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.AmqpProtocol.Builder;
/// </summary>
internal class RabbitMqSiloOptionsBuilder : IRabbitMqSiloOptionsBuilder
{
#if NET8_0_OR_GREATER
/// <summary>
/// Initializes a new instance of the <see cref="RabbitMqSiloOptionsBuilder"/> class.
/// </summary>
/// <param name="name">The name.</param>
/// <param name="services">The services.</param>
/// <param name="configuration">The configuration.</param>
/// <param name="configurator">The configurator.</param>
public RabbitMqSiloOptionsBuilder(string name, IServiceCollection services, IConfiguration configuration, SiloPersistentStreamConfigurator configurator)
{
Name = name;
Services = services;
Configuration = configuration;
Configurator = configurator;
}
#else
/// <summary>
/// Initializes a new instance of the <see cref="RabbitMqSiloOptionsBuilder"/> class.
/// </summary>
Expand All @@ -23,13 +40,19 @@ public RabbitMqSiloOptionsBuilder(string name, IServiceCollection services, Silo
Services = services;
Configurator = configurator;
}
#endif

/// <inheritdoc/>
public string Name { get; }

/// <inheritdoc/>
public IServiceCollection Services { get; }

#if NET8_0_OR_GREATER
/// <inheritdoc/>
public IConfiguration Configuration { get; }
#endif

/// <inheritdoc/>
public SiloPersistentStreamConfigurator Configurator { get; }

Expand Down
8 changes: 7 additions & 1 deletion src/Orleans/AmqpProtocol/Hosting/ClientBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,13 @@ public static IRabbitMqClientOptionsBuilder UseAmqpProtocol(this IRabbitMqClient
configurator.Configure<ConnectionOptions>(options => options.Configure(configureOptions));
clientBuilder.ConfigureServices(services => services
.AddRabbitMqConnection(clientBuilder.Name, configureOptions));
return new RabbitMqClientOptionsBuilder(clientBuilder.Name, clientBuilder.Services, configurator)
return new RabbitMqClientOptionsBuilder(
clientBuilder.Name,
clientBuilder.Services,
#if NET8_0_OR_GREATER
clientBuilder.Configuration,
#endif
configurator)
.AddSimpleQueueCache()
.AddHashRingStreamQueueMapper();
}
Expand Down
3 changes: 3 additions & 0 deletions src/Orleans/AmqpProtocol/Hosting/SiloBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ public static IRabbitMqSiloOptionsBuilder UseAmqpProtocol(this IRabbitMqSiloProt
return new RabbitMqSiloOptionsBuilder(
siloBuilder.Name,
siloBuilder.Services,
#if NET8_0_OR_GREATER
siloBuilder.Configuration,
#endif
new SiloConfigurator(
siloBuilder.Name,
configureDelegate => siloBuilder
Expand Down
21 changes: 21 additions & 0 deletions src/Orleans/RabbitMQ/Builder/RabbitMqClientProtocolBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,28 @@

namespace Escendit.Orleans.Streaming.RabbitMQ.Builder;

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

/// <summary>
/// Escendit.Orleans.Streaming.RabbitMQ.Tests Client Protocol Builder.
/// </summary>
public class RabbitMqClientProtocolBuilder : IRabbitMqClientProtocolBuilder
{
#if NET8_0_OR_GREATER
/// <summary>
/// Initializes a new instance of the <see cref="RabbitMqClientProtocolBuilder"/> class.
/// </summary>
/// <param name="name">The name.</param>
/// <param name="services">The services.</param>
/// <param name="configuration">The configuration.</param>
public RabbitMqClientProtocolBuilder(string name, IServiceCollection services, IConfiguration configuration)
{
Name = name;
Services = services;
Configuration = configuration;
}
#else
/// <summary>
/// Initializes a new instance of the <see cref="RabbitMqClientProtocolBuilder"/> class.
/// </summary>
Expand All @@ -20,13 +35,19 @@ public RabbitMqClientProtocolBuilder(string name, IServiceCollection services)
Name = name;
Services = services;
}
#endif

/// <inheritdoc />
public string Name { get; }

/// <inheritdoc />
public IServiceCollection Services { get; }

#if NET8_0_OR_GREATER
/// <inheritdoc/>
public IConfiguration Configuration { get; }
#endif

/// <inheritdoc />
public IServiceCollection Build()
{
Expand Down
21 changes: 21 additions & 0 deletions src/Orleans/RabbitMQ/Builder/RabbitMqSiloProtocolBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,28 @@

namespace Escendit.Orleans.Streaming.RabbitMQ.Builder;

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

/// <summary>
/// Escendit.Orleans.Streaming.RabbitMQ.Tests Silo Protocol Builder.
/// </summary>
public class RabbitMqSiloProtocolBuilder : IRabbitMqSiloProtocolBuilder
{
#if NET8_0_OR_GREATER
/// <summary>
/// Initializes a new instance of the <see cref="RabbitMqSiloProtocolBuilder"/> class.
/// </summary>
/// <param name="name">The name.</param>
/// <param name="services">The initial services.</param>
/// <param name="configuration">The configuration.</param>
public RabbitMqSiloProtocolBuilder(string name, IServiceCollection services, IConfiguration configuration)
{
Name = name;
Services = services;
Configuration = configuration;
}
#else
/// <summary>
/// Initializes a new instance of the <see cref="RabbitMqSiloProtocolBuilder"/> class.
/// </summary>
Expand All @@ -20,13 +35,19 @@ public RabbitMqSiloProtocolBuilder(string name, IServiceCollection services)
Name = name;
Services = services;
}
#endif

/// <inheritdoc />
public string Name { get; }

/// <inheritdoc />
public IServiceCollection Services { get; }

#if NET8_0_OR_GREATER
/// <inheritdoc />
public IConfiguration Configuration { get; }
#endif

/// <inheritdoc />
public IServiceCollection Build()
{
Expand Down
4 changes: 4 additions & 0 deletions src/Orleans/RabbitMQ/Hosting/ClientBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@ public static IRabbitMqClientProtocolBuilder AddRabbitMq(
{
ArgumentNullException.ThrowIfNull(clientBuilder);
ArgumentNullException.ThrowIfNull(name);
#if NET8_0_OR_GREATER
return new RabbitMqClientProtocolBuilder(name, clientBuilder.Services, clientBuilder.Configuration);
#else
return new RabbitMqClientProtocolBuilder(name, clientBuilder.Services);
#endif
}

/// <summary>
Expand Down
11 changes: 10 additions & 1 deletion src/Orleans/RabbitMQ/Hosting/SiloBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,16 @@ public static IRabbitMqSiloProtocolBuilder AddRabbitMq(
{
ArgumentNullException.ThrowIfNull(siloBuilder);
ArgumentNullException.ThrowIfNull(name);
return new RabbitMqSiloProtocolBuilder(name, siloBuilder.Services);
#if NET8_0_OR_GREATER
return new RabbitMqSiloProtocolBuilder(
name,
siloBuilder.Services,
siloBuilder.Configuration);
#else
return new RabbitMqSiloProtocolBuilder(
name,
siloBuilder.Services);
#endif
}

/// <summary>
Expand Down
Loading

0 comments on commit f3e4703

Please sign in to comment.