Skip to content

Commit 915a3ef

Browse files
committed
NCBC-4085: Upgrade from net8 to net10
1 parent f0e2a6a commit 915a3ef

12 files changed

Lines changed: 52 additions & 72 deletions

File tree

Couchbase.Analytics.sln

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Couchbase.Analytics.Perform
2222
EndProject
2323
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fit", "fit", "{A58FEC0E-429F-460F-AF40-52DC21C93576}"
2424
EndProject
25-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Couchbase.Analytics.Performer.UnitTests", "fit\Couchbase.Analytics.Performer.UnitTests\Couchbase.Analytics.Performer.UnitTests.csproj", "{65B53BDA-D674-4CD8-A5DC-763A8F816F0B}"
26-
EndProject
2725
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Couchbase.Core", "src\Couchbase.Core\Couchbase.Core.csproj", "{0B9D51A9-E71B-4151-A177-73BE3BE34FCD}"
2826
EndProject
2927
Global
@@ -39,7 +37,6 @@ Global
3937
{3E0EE6AE-0579-4AFE-B4A1-14C6C72DF5F5} = {98962587-231C-4D1F-AC3D-4C21302C331B}
4038
{890378AD-7F74-4C86-923B-24DB7539574F} = {98962587-231C-4D1F-AC3D-4C21302C331B}
4139
{04159D2F-74A8-4200-818F-B279DBCBBC5A} = {A58FEC0E-429F-460F-AF40-52DC21C93576}
42-
{65B53BDA-D674-4CD8-A5DC-763A8F816F0B} = {A58FEC0E-429F-460F-AF40-52DC21C93576}
4340
{0B9D51A9-E71B-4151-A177-73BE3BE34FCD} = {50354FD0-1B81-4AAE-990A-80549EA6C4CF}
4441
EndGlobalSection
4542
GlobalSection(ProjectConfigurationPlatforms) = postSolution
@@ -59,10 +56,6 @@ Global
5956
{04159D2F-74A8-4200-818F-B279DBCBBC5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
6057
{04159D2F-74A8-4200-818F-B279DBCBBC5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
6158
{04159D2F-74A8-4200-818F-B279DBCBBC5A}.Release|Any CPU.Build.0 = Release|Any CPU
62-
{65B53BDA-D674-4CD8-A5DC-763A8F816F0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
63-
{65B53BDA-D674-4CD8-A5DC-763A8F816F0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
64-
{65B53BDA-D674-4CD8-A5DC-763A8F816F0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
65-
{65B53BDA-D674-4CD8-A5DC-763A8F816F0B}.Release|Any CPU.Build.0 = Release|Any CPU
6659
{0B9D51A9-E71B-4151-A177-73BE3BE34FCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
6760
{0B9D51A9-E71B-4151-A177-73BE3BE34FCD}.Debug|Any CPU.Build.0 = Debug|Any CPU
6861
{0B9D51A9-E71B-4151-A177-73BE3BE34FCD}.Release|Any CPU.ActiveCfg = Release|Any CPU

Directory.Packages.props

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,44 +7,42 @@
77
<ItemGroup>
88
<PackageVersion Include="Contrib.Grpc.Core.M1" Version="2.46.7" />
99
<PackageVersion Include="Grpc.Core" Version="2.46.6" />
10-
<PackageVersion Include="Google.Protobuf" Version="3.31.1" />
10+
<PackageVersion Include="Google.Protobuf" Version="3.33.1" />
1111
<PackageVersion Include="Grpc.AspNetCore" Version="2.71.0" />
1212
<PackageVersion Include="Grpc.Net.Client" Version="2.71.0" />
13-
<PackageVersion Include="Grpc.Tools" Version="2.72.0" />
14-
<PackageVersion Include="Serilog" Version="3.1.1" />
15-
<PackageVersion Include="Serilog.Extensions.Logging" Version="8.0.0" />
16-
<PackageVersion Include="Serilog.Sinks.Console" Version="5.0.1" />
17-
<PackageVersion Include="Serilog.Sinks.File" Version="5.0.0" />
13+
<PackageVersion Include="Grpc.Tools" Version="2.76.0" />
14+
<PackageVersion Include="Serilog" Version="4.3.0" />
15+
<PackageVersion Include="Serilog.Extensions.Logging" Version="10.0.0" />
16+
<PackageVersion Include="Serilog.Sinks.Console" Version="6.1.1" />
17+
<PackageVersion Include="Serilog.Sinks.File" Version="7.0.0" />
1818
</ItemGroup>
1919
<!-- Performer -->
2020
<ItemGroup>
2121
<PackageVersion Include="DnsClient" Version="1.8.0" />
22-
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="9.0.5" />
23-
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.5" />
24-
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="9.0.5" />
25-
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.5" />
26-
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.5" />
27-
<PackageVersion Include="System.Linq.Async" Version="6.0.1" />
28-
<PackageVersion Include="System.Net.Http.Json" Version="9.0.6" />
22+
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.0" />
23+
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.0" />
24+
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.0" />
25+
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.0" />
26+
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
27+
<PackageVersion Include="System.Linq.AsyncEnumerable" Version="10.0.0" />
28+
<PackageVersion Include="System.Net.Http.Json" Version="10.0.0" />
2929
</ItemGroup>
3030
<ItemGroup>
31-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
31+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
3232
<PackageVersion Include="Moq" Version="4.20.72" />
3333
<PackageVersion Include="xunit" Version="2.9.3" />
3434
<PackageVersion Include="xunit.abstractions" Version="2.0.3" />
35-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
35+
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
3636
<PackageVersion Include="xunit.core" Version="2.9.3" />
3737
<PackageVersion Include="xunit.assert" Version="2.9.3" />
3838
<PackageVersion Include="xunit.extensibility.core" Version="2.9.3" />
3939
</ItemGroup>
40-
41-
<PropertyGroup>
42-
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
43-
</PropertyGroup>
44-
45-
<Target DependsOnTargets="ResolveReferences" Name="CopyProjectReferencesToPackage">
46-
<ItemGroup>
47-
<BuildOutputInPackage Include="@(ReferenceCopyLocalPaths->WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))"/>
48-
</ItemGroup>
49-
</Target>
40+
<PropertyGroup>
41+
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
42+
</PropertyGroup>
43+
<Target DependsOnTargets="ResolveReferences" Name="CopyProjectReferencesToPackage">
44+
<ItemGroup>
45+
<BuildOutputInPackage Include="@(ReferenceCopyLocalPaths-&gt;WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))" />
46+
</ItemGroup>
47+
</Target>
5048
</Project>

fit/Couchbase.Analytics.Performer.UnitTests/Couchbase.Analytics.Performer.UnitTests.csproj

Lines changed: 0 additions & 10 deletions
This file was deleted.

fit/Couchbase.Analytics.Performer.UnitTests/Program.cs

Lines changed: 0 additions & 9 deletions
This file was deleted.

fit/Couchbase.Analytics.Performer/Couchbase.Analytics.Performer.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net8.0</TargetFramework>
5+
<TargetFramework>net10.0</TargetFramework>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>
88
<RootNamespace>Couchbase.Analytics.Performer</RootNamespace>

src/Couchbase.Analytics/Couchbase.Analytics.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
<RootNamespace>Couchbase.AnalyticsClient</RootNamespace>
@@ -27,7 +27,7 @@
2727
<PackageReference Include="DnsClient" />
2828
<PackageReference Include="Microsoft.Extensions.Logging" />
2929
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
30-
<PackageReference Include="System.Linq.Async" />
30+
<PackageReference Include="System.Linq.AsyncEnumerable" />
3131
<PackageReference Include="System.Net.Http.Json" />
3232
</ItemGroup>
3333

src/Couchbase.Analytics/Internal/HTTP/CouchbaseHttpClientFactory.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,14 @@ private void ConfigureClientCertificates(SocketsHttpHandler handler)
121121
/// <param name="handler">The Http Handler</param>
122122
private void ConfigureDnsResolverCallback(SocketsHttpHandler handler)
123123
{
124-
var connector = new DnsEndpointConnector(
125-
new CountBasedDnsRefreshStrategy(1), // Refresh DNS entries on every request
126-
_timeoutOptions.ConnectTimeout,
127-
EndpointSelectionMode.RandomFromUnusedEndpoints
128-
);
129-
130124
handler.ConnectCallback = async (context, cancellation) =>
131125
{
126+
using var connector = new DnsEndpointConnector(
127+
new CountBasedDnsRefreshStrategy(1), // Refresh DNS entries on every request
128+
_timeoutOptions.ConnectTimeout,
129+
EndpointSelectionMode.RandomFromUnusedEndpoints
130+
);
131+
132132
var socket = await connector.ConnectAsync(context.DnsEndPoint, cancellation).ConfigureAwait(false);
133133
return new NetworkStream(socket, ownsSocket: true);
134134
};

src/Couchbase.Core/Couchbase.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
</PropertyGroup>

tests/Couchbase.Analytics.FunctionalTests/Couchbase.Analytics.FunctionalTests.csproj

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
<AssemblyName>Couchbase.AnalyticsClient.FunctionalTests</AssemblyName>
@@ -22,7 +22,10 @@
2222
<PackageReference Include="Moq" />
2323
<PackageReference Include="xunit" />
2424
<PackageReference Include="xunit.abstractions" />
25-
<PackageReference Include="xunit.runner.visualstudio" />
25+
<PackageReference Include="xunit.runner.visualstudio">
26+
<PrivateAssets>all</PrivateAssets>
27+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
28+
</PackageReference>
2629
</ItemGroup>
2730

2831
<ItemGroup>

tests/Couchbase.Analytics.FunctionalTests/Internal/CouchbaseHttpClientTests.cs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ private enum IpReplacementStrategy
2727
}
2828

2929
private readonly Analytics2Fixture _fixture;
30-
private static ITestOutputHelper? _outputHelper;
30+
private ITestOutputHelper? _outputHelper;
3131
public CouchbaseHttpClientTests(Analytics2Fixture fixture, ITestOutputHelper? outputHelper)
3232
{
3333
_fixture = fixture;
@@ -43,10 +43,12 @@ private class TestDnsEndpointResolver : IDnsEndpointResolver
4343
private IDnsRefreshStrategy _refreshStrategy;
4444
private IPAddress[]? _cachedAddresses;
4545
private IpReplacementStrategy _ipReplacementStrategy;
46+
private readonly ITestOutputHelper _outputHelper;
4647

47-
public TestDnsEndpointResolver(IDnsRefreshStrategy refreshStrategy, IpReplacementStrategy ipReplacement = IpReplacementStrategy.None)
48+
public TestDnsEndpointResolver(IDnsRefreshStrategy refreshStrategy, ITestOutputHelper? outputHelper, IpReplacementStrategy ipReplacement = IpReplacementStrategy.None)
4849
{
4950
_refreshStrategy = refreshStrategy;
51+
_outputHelper = outputHelper;
5052
_ipReplacementStrategy = ipReplacement;
5153
}
5254

@@ -148,7 +150,7 @@ public async Task Test_Requests_Should_Succeed_If_Some_IPs_Are_Unreachable()
148150
_fixture.ResetCluster(SmallTimeoutOptions);
149151
GetAnalyticsService(out var service, out var serviceProvider);
150152
// First, do not replace any IPs, so we can test the normal case
151-
var testResolver = new TestDnsEndpointResolver(new CountBasedDnsRefreshStrategy(1), ipReplacement: IpReplacementStrategy.None);
153+
var testResolver = new TestDnsEndpointResolver(new CountBasedDnsRefreshStrategy(1), _outputHelper, ipReplacement: IpReplacementStrategy.None);
152154
InjectFakeDnsEndpointResolver(serviceProvider, testResolver);
153155
var response = await service.SendAsync("SELECT \"hello\" as greeting", new QueryOptions());
154156
await foreach (var result in response.ConfigureAwait(false))
@@ -163,7 +165,7 @@ public async Task Test_Requests_Should_Succeed_If_One_IP_Is_Unreachable()
163165
{
164166
_fixture.ResetCluster(SmallTimeoutOptions);
165167
GetAnalyticsService(out var service, out var serviceProvider);
166-
var testResolverMissingOneIP = new TestDnsEndpointResolver(new CountBasedDnsRefreshStrategy(1), ipReplacement: IpReplacementStrategy.Single);
168+
var testResolverMissingOneIP = new TestDnsEndpointResolver(new CountBasedDnsRefreshStrategy(1), _outputHelper, ipReplacement: IpReplacementStrategy.Single);
167169
InjectFakeDnsEndpointResolver(serviceProvider, testResolverMissingOneIP);
168170
var response = await service.SendAsync("SELECT \"hello\" as greeting", new QueryOptions());
169171
await foreach (var result in response.ConfigureAwait(false))
@@ -178,7 +180,7 @@ public async Task Test_Requests_Should_Succeed_If_Multiple_IPs_Are_Unreachable()
178180
{
179181
_fixture.ResetCluster(SmallTimeoutOptions);
180182
GetAnalyticsService(out var service, out var serviceProvider);
181-
var testResolverMissingMultipleIPs = new TestDnsEndpointResolver(new CountBasedDnsRefreshStrategy(1), ipReplacement: IpReplacementStrategy.Multiple);
183+
var testResolverMissingMultipleIPs = new TestDnsEndpointResolver(new CountBasedDnsRefreshStrategy(1), _outputHelper, ipReplacement: IpReplacementStrategy.Multiple);
182184
InjectFakeDnsEndpointResolver(serviceProvider, testResolverMissingMultipleIPs);
183185
var response = await service.SendAsync("SELECT \"hello\" as greeting", new QueryOptions());
184186
Assert.NotNull(response);
@@ -194,7 +196,7 @@ public async Task Test_Requests_Should_Fail_If_All_IPs_Are_Unreachable()
194196
{
195197
_fixture.ResetCluster(SmallTimeoutOptions);
196198
GetAnalyticsService(out var service, out var serviceProvider);
197-
var testResolver = new TestDnsEndpointResolver(new CountBasedDnsRefreshStrategy(1), ipReplacement: IpReplacementStrategy.All);
199+
var testResolver = new TestDnsEndpointResolver(new CountBasedDnsRefreshStrategy(1), _outputHelper, ipReplacement: IpReplacementStrategy.All);
198200
InjectFakeDnsEndpointResolver(serviceProvider, testResolver);
199201
await Assert.ThrowsAsync<AnalyticsException>(() => service.SendAsync("SELECT \"hello\" as greeting", new QueryOptions()));
200202
}

0 commit comments

Comments
 (0)