From c4e956cdb411c4362d0e8eccbe02e04dcf92b108 Mon Sep 17 00:00:00 2001
From: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
Date: Thu, 5 Mar 2026 12:47:56 +0000
Subject: [PATCH] fix(build): Option 2 - "keep channels il-repacked" (#453)
* Repacked channel
* transitive for sdk
* restore solution
* comment tweaks
* Fix print line
---
Directory.Packages.props | 3 +-
src/Speckle.Automate.Sdk/packages.lock.json | 45 +++++++----------
src/Speckle.Objects/packages.lock.json | 45 +++++++----------
.../RepackedChannel.cs | 49 +++++++++++++++++++
.../Speckle.Sdk.Dependencies.csproj | 32 ++++++++++++
.../packages.lock.json | 43 ++++++++--------
src/Speckle.Sdk/Pipelines/Send/DiskStore.cs | 15 +++---
src/Speckle.Sdk/Speckle.Sdk.csproj | 1 -
src/Speckle.Sdk/packages.lock.json | 42 +++++++---------
.../packages.lock.json | 11 +++--
.../packages.lock.json | 11 +++--
11 files changed, 180 insertions(+), 117 deletions(-)
create mode 100644 src/Speckle.Sdk.Dependencies/RepackedChannel.cs
diff --git a/Directory.Packages.props b/Directory.Packages.props
index f2f4c427..8c51176a 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -15,6 +15,7 @@
+
@@ -27,7 +28,7 @@
-
+
diff --git a/src/Speckle.Automate.Sdk/packages.lock.json b/src/Speckle.Automate.Sdk/packages.lock.json
index dd5d4c56..f7174f7c 100644
--- a/src/Speckle.Automate.Sdk/packages.lock.json
+++ b/src/Speckle.Automate.Sdk/packages.lock.json
@@ -86,14 +86,6 @@
"resolved": "6.0.0",
"contentHash": "yg72rrYDapfsIUrul7aF6wwNnTJBOFvuA9VdDTQpPa8AlAriHbufeXYLBcodKjfUdkCnaiggX1U/nEP08Zb5GA=="
},
- "Microsoft.Bcl.AsyncInterfaces": {
- "type": "Transitive",
- "resolved": "10.0.0",
- "contentHash": "vFuwSLj9QJBbNR0NeNO4YVASUbokxs+i/xbuu8B+Fs4FAZg5QaFa6eGrMaRqTzzNI5tAb97T7BhSxtLckFyiRA==",
- "dependencies": {
- "System.Threading.Tasks.Extensions": "4.6.3"
- }
- },
"Microsoft.Build.Tasks.Git": {
"type": "Transitive",
"resolved": "8.0.0",
@@ -250,8 +242,8 @@
},
"System.Runtime.CompilerServices.Unsafe": {
"type": "Transitive",
- "resolved": "6.1.2",
- "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
+ "resolved": "6.0.0",
+ "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
},
"System.Runtime.InteropServices.WindowsRuntime": {
"type": "Transitive",
@@ -273,10 +265,10 @@
},
"System.Threading.Tasks.Extensions": {
"type": "Transitive",
- "resolved": "4.6.3",
- "contentHash": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==",
+ "resolved": "4.5.4",
+ "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
"dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "6.1.2"
+ "System.Runtime.CompilerServices.Unsafe": "4.5.3"
}
},
"speckle.objects": {
@@ -295,12 +287,14 @@
"Microsoft.Extensions.Logging": "[2.2.0, )",
"Speckle.DoubleNumerics": "[4.1.0, )",
"Speckle.Newtonsoft.Json": "[13.0.2, )",
- "Speckle.Sdk.Dependencies": "[1.0.0, )",
- "System.Threading.Channels": "[10.0.0, )"
+ "Speckle.Sdk.Dependencies": "[1.0.0, )"
}
},
"speckle.sdk.dependencies": {
- "type": "Project"
+ "type": "Project",
+ "dependencies": {
+ "Microsoft.Bcl.AsyncInterfaces": "[9.0.4, )"
+ }
},
"GraphQL.Client": {
"type": "CentralTransitive",
@@ -313,6 +307,15 @@
"System.Reactive": "5.0.0"
}
},
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "CentralTransitive",
+ "requested": "[9.0.4, )",
+ "resolved": "9.0.4",
+ "contentHash": "9VGI5kxIvrNG2mqLQZnUR6y/3fcnygD8eNpHR+CqfbnIXvea6nehnYknDKQTxZVPMpzpNca+7DxLBmpdB3q0Bw==",
+ "dependencies": {
+ "System.Threading.Tasks.Extensions": "4.5.4"
+ }
+ },
"Microsoft.CSharp": {
"type": "CentralTransitive",
"requested": "[4.7.0, )",
@@ -358,16 +361,6 @@
"requested": "[13.0.2, )",
"resolved": "13.0.2",
"contentHash": "g1BejUZwax5PRfL6xHgLEK23sqHWOgOj9hE7RvfRRlN00AGt8GnPYt8HedSK7UB3HiRW8zCA9Pn0iiYxCK24BA=="
- },
- "System.Threading.Channels": {
- "type": "CentralTransitive",
- "requested": "[10.0.0, )",
- "resolved": "10.0.0",
- "contentHash": "fwRdkJpKisUEVNaEdsL5w5EwidzuVw0BOTfzDvYB1Yg8sq1pqNfUZxBOVFgSj6i6tNhpT3HP8BEDXf1+kFkTDA==",
- "dependencies": {
- "Microsoft.Bcl.AsyncInterfaces": "10.0.0",
- "System.Threading.Tasks.Extensions": "4.6.3"
- }
}
},
"net8.0": {
diff --git a/src/Speckle.Objects/packages.lock.json b/src/Speckle.Objects/packages.lock.json
index 9ac413aa..1fe1cf2d 100644
--- a/src/Speckle.Objects/packages.lock.json
+++ b/src/Speckle.Objects/packages.lock.json
@@ -54,14 +54,6 @@
"resolved": "6.0.0",
"contentHash": "yg72rrYDapfsIUrul7aF6wwNnTJBOFvuA9VdDTQpPa8AlAriHbufeXYLBcodKjfUdkCnaiggX1U/nEP08Zb5GA=="
},
- "Microsoft.Bcl.AsyncInterfaces": {
- "type": "Transitive",
- "resolved": "10.0.0",
- "contentHash": "vFuwSLj9QJBbNR0NeNO4YVASUbokxs+i/xbuu8B+Fs4FAZg5QaFa6eGrMaRqTzzNI5tAb97T7BhSxtLckFyiRA==",
- "dependencies": {
- "System.Threading.Tasks.Extensions": "4.6.3"
- }
- },
"Microsoft.Build.Tasks.Git": {
"type": "Transitive",
"resolved": "8.0.0",
@@ -213,8 +205,8 @@
},
"System.Runtime.CompilerServices.Unsafe": {
"type": "Transitive",
- "resolved": "6.1.2",
- "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
+ "resolved": "4.5.3",
+ "contentHash": "3TIsJhD1EiiT0w2CcDMN/iSSwnNnsrnbzeVHSKkaEgV85txMprmuO+Yq2AdSbeVGcg28pdNDTPK87tJhX7VFHw=="
},
"System.Runtime.InteropServices.WindowsRuntime": {
"type": "Transitive",
@@ -226,10 +218,10 @@
},
"System.Threading.Tasks.Extensions": {
"type": "Transitive",
- "resolved": "4.6.3",
- "contentHash": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==",
+ "resolved": "4.5.4",
+ "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
"dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "6.1.2"
+ "System.Runtime.CompilerServices.Unsafe": "4.5.3"
}
},
"speckle.sdk": {
@@ -242,12 +234,14 @@
"Microsoft.Extensions.Logging": "[2.2.0, )",
"Speckle.DoubleNumerics": "[4.1.0, )",
"Speckle.Newtonsoft.Json": "[13.0.2, )",
- "Speckle.Sdk.Dependencies": "[1.0.0, )",
- "System.Threading.Channels": "[10.0.0, )"
+ "Speckle.Sdk.Dependencies": "[1.0.0, )"
}
},
"speckle.sdk.dependencies": {
- "type": "Project"
+ "type": "Project",
+ "dependencies": {
+ "Microsoft.Bcl.AsyncInterfaces": "[9.0.4, )"
+ }
},
"GraphQL.Client": {
"type": "CentralTransitive",
@@ -260,6 +254,15 @@
"System.Reactive": "5.0.0"
}
},
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "CentralTransitive",
+ "requested": "[9.0.4, )",
+ "resolved": "9.0.4",
+ "contentHash": "9VGI5kxIvrNG2mqLQZnUR6y/3fcnygD8eNpHR+CqfbnIXvea6nehnYknDKQTxZVPMpzpNca+7DxLBmpdB3q0Bw==",
+ "dependencies": {
+ "System.Threading.Tasks.Extensions": "4.5.4"
+ }
+ },
"Microsoft.CSharp": {
"type": "CentralTransitive",
"requested": "[4.7.0, )",
@@ -305,16 +308,6 @@
"requested": "[13.0.2, )",
"resolved": "13.0.2",
"contentHash": "g1BejUZwax5PRfL6xHgLEK23sqHWOgOj9hE7RvfRRlN00AGt8GnPYt8HedSK7UB3HiRW8zCA9Pn0iiYxCK24BA=="
- },
- "System.Threading.Channels": {
- "type": "CentralTransitive",
- "requested": "[10.0.0, )",
- "resolved": "10.0.0",
- "contentHash": "fwRdkJpKisUEVNaEdsL5w5EwidzuVw0BOTfzDvYB1Yg8sq1pqNfUZxBOVFgSj6i6tNhpT3HP8BEDXf1+kFkTDA==",
- "dependencies": {
- "Microsoft.Bcl.AsyncInterfaces": "10.0.0",
- "System.Threading.Tasks.Extensions": "4.6.3"
- }
}
},
"net8.0": {
diff --git a/src/Speckle.Sdk.Dependencies/RepackedChannel.cs b/src/Speckle.Sdk.Dependencies/RepackedChannel.cs
new file mode 100644
index 00000000..a5f2e73b
--- /dev/null
+++ b/src/Speckle.Sdk.Dependencies/RepackedChannel.cs
@@ -0,0 +1,49 @@
+using System.Threading.Channels;
+
+namespace Speckle.Sdk.Dependencies;
+
+///
+/// For various reasons related to our use of ILRepack.FullAuto,
+/// we cannot use Channels from the SDK project.
+/// We have to keep usage of it inside the Sdk.Dependencies project.
+///
+/// For the sake of quick development, I've wrapped the class here in a type
+/// that is safe to use from the SDK project.
+///
+/// As and when we need more functions, we can add them here.
+///
+/// And yes... I'm not very happy about the way we've set this up
+///
+///
+public sealed class RepackedChannel
+{
+ private readonly Channel _channel;
+
+ public RepackedChannel(int capacity, bool singleReader, bool singleWriter)
+ {
+ _channel = Channel.CreateBounded(
+ new BoundedChannelOptions(capacity)
+ {
+ FullMode = BoundedChannelFullMode.Wait,
+ SingleReader = singleReader,
+ SingleWriter = singleWriter,
+ }
+ );
+ }
+
+ public void CompleteWriter() => _channel.Writer.Complete();
+
+ public ValueTask WriteAsync(T item, CancellationToken cancellationToken) =>
+ _channel.Writer.WriteAsync(item, cancellationToken);
+
+ public IAsyncEnumerable ReadAllAsync(CancellationToken cancellationToken) =>
+ _channel.Reader.ReadAllAsync(cancellationToken);
+
+ // public async Task ReadAllAsync(Func callback, CancellationToken cancellationToken)
+ // {
+ // await foreach (T item in _channel.Reader.ReadAllAsync(cancellationToken))
+ // {
+ // await callback.Invoke(item).ConfigureAwait(false);
+ // }
+ // }
+}
diff --git a/src/Speckle.Sdk.Dependencies/Speckle.Sdk.Dependencies.csproj b/src/Speckle.Sdk.Dependencies/Speckle.Sdk.Dependencies.csproj
index 043b7876..fe91aa91 100644
--- a/src/Speckle.Sdk.Dependencies/Speckle.Sdk.Dependencies.csproj
+++ b/src/Speckle.Sdk.Dependencies/Speckle.Sdk.Dependencies.csproj
@@ -28,4 +28,36 @@
+
+
+
+
+
+
+ <_ILRepackIncludeAssemblies_Items Include="$(OutputPath)System.Numerics.Vectors.dll" />
+ <_ILRepackIncludeAssemblies_Items Include="$(OutputPath)System.Runtime.CompilerServices.Unsafe.dll" />
+ <_ILRepackIncludeAssemblies_Items Include="$(OutputPath)System.Memory.dll" />
+ <_ILRepackIncludeAssemblies_Items Include="$(OutputPath)Open.ChannelExtensions.dll" />
+ <_ILRepackIncludeAssemblies_Items Include="$(OutputPath)System.Threading.Channels.dll" />
+ <_ILRepackIncludeAssemblies_Items Include="$(OutputPath)System.Collections.Immutable.dll" />
+ <_ILRepackIncludeAssemblies_Items Include="$(OutputPath)Polly.dll" />
+ <_ILRepackIncludeAssemblies_Items Include="$(OutputPath)Polly.Contrib.WaitAndRetry.dll" />
+ <_ILRepackIncludeAssemblies_Items Include="$(OutputPath)Polly.Extensions.Http.dll" />
+ <_ILRepackIncludeAssemblies_Items Include="$(OutputPath)Microsoft.Extensions.ObjectPool.dll" />
+ <_ILRepackExcludeAssemblies_Items Include="$(OutputPath)*.dll" Exclude="@(_ILRepackIncludeAssemblies_Items)" />
+
+
+
+ @(_ILRepackExcludeAssemblies_Items)
+
+
diff --git a/src/Speckle.Sdk.Dependencies/packages.lock.json b/src/Speckle.Sdk.Dependencies/packages.lock.json
index 760480ee..ad39f5df 100644
--- a/src/Speckle.Sdk.Dependencies/packages.lock.json
+++ b/src/Speckle.Sdk.Dependencies/packages.lock.json
@@ -11,6 +11,15 @@
"ILRepack": "2.0.33"
}
},
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "Direct",
+ "requested": "[9.0.4, )",
+ "resolved": "9.0.4",
+ "contentHash": "9VGI5kxIvrNG2mqLQZnUR6y/3fcnygD8eNpHR+CqfbnIXvea6nehnYknDKQTxZVPMpzpNca+7DxLBmpdB3q0Bw==",
+ "dependencies": {
+ "System.Threading.Tasks.Extensions": "4.5.4"
+ }
+ },
"Microsoft.Extensions.ObjectPool": {
"type": "Direct",
"requested": "[9.0.4, )",
@@ -82,12 +91,12 @@
},
"System.Threading.Channels": {
"type": "Direct",
- "requested": "[10.0.0, )",
- "resolved": "10.0.0",
- "contentHash": "fwRdkJpKisUEVNaEdsL5w5EwidzuVw0BOTfzDvYB1Yg8sq1pqNfUZxBOVFgSj6i6tNhpT3HP8BEDXf1+kFkTDA==",
+ "requested": "[9.0.4, )",
+ "resolved": "9.0.4",
+ "contentHash": "4qBn2H6/aXBpE/Pm3wY5yusY/pEvQz99NlWHrTUji0qCmOdbhhjaALcpmbfW2ksxlPM6i6S+QFLkpOQdyfeKYQ==",
"dependencies": {
- "Microsoft.Bcl.AsyncInterfaces": "10.0.0",
- "System.Threading.Tasks.Extensions": "4.6.3"
+ "Microsoft.Bcl.AsyncInterfaces": "9.0.4",
+ "System.Threading.Tasks.Extensions": "4.5.4"
}
},
"ILRepack": {
@@ -95,14 +104,6 @@
"resolved": "2.0.33",
"contentHash": "xb2h1CsOepoYwdXEPui9VcQglwABQwNf9cccZbf+acarEzF5PUp8Xx71nFXIhOgEdm6wrxAoF6xAxK4m/XFRUQ=="
},
- "Microsoft.Bcl.AsyncInterfaces": {
- "type": "Transitive",
- "resolved": "10.0.0",
- "contentHash": "vFuwSLj9QJBbNR0NeNO4YVASUbokxs+i/xbuu8B+Fs4FAZg5QaFa6eGrMaRqTzzNI5tAb97T7BhSxtLckFyiRA==",
- "dependencies": {
- "System.Threading.Tasks.Extensions": "4.6.3"
- }
- },
"Microsoft.Build.Tasks.Git": {
"type": "Transitive",
"resolved": "8.0.0",
@@ -149,15 +150,15 @@
},
"System.Runtime.CompilerServices.Unsafe": {
"type": "Transitive",
- "resolved": "6.1.2",
- "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
+ "resolved": "6.0.0",
+ "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
},
"System.Threading.Tasks.Extensions": {
"type": "Transitive",
- "resolved": "4.6.3",
- "contentHash": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==",
+ "resolved": "4.5.4",
+ "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
"dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "6.1.2"
+ "System.Runtime.CompilerServices.Unsafe": "4.5.3"
}
}
},
@@ -228,9 +229,9 @@
},
"System.Threading.Channels": {
"type": "Direct",
- "requested": "[10.0.0, )",
- "resolved": "10.0.0",
- "contentHash": "fwRdkJpKisUEVNaEdsL5w5EwidzuVw0BOTfzDvYB1Yg8sq1pqNfUZxBOVFgSj6i6tNhpT3HP8BEDXf1+kFkTDA=="
+ "requested": "[9.0.4, )",
+ "resolved": "9.0.4",
+ "contentHash": "4qBn2H6/aXBpE/Pm3wY5yusY/pEvQz99NlWHrTUji0qCmOdbhhjaALcpmbfW2ksxlPM6i6S+QFLkpOQdyfeKYQ=="
},
"ILRepack": {
"type": "Transitive",
diff --git a/src/Speckle.Sdk/Pipelines/Send/DiskStore.cs b/src/Speckle.Sdk/Pipelines/Send/DiskStore.cs
index 0ac685fb..140f9ad2 100644
--- a/src/Speckle.Sdk/Pipelines/Send/DiskStore.cs
+++ b/src/Speckle.Sdk/Pipelines/Send/DiskStore.cs
@@ -1,7 +1,7 @@
using System.IO.Compression;
-using System.Threading.Channels;
using Microsoft.Extensions.Logging;
using Speckle.InterfaceGenerator;
+using Speckle.Sdk.Dependencies;
using Speckle.Sdk.Helpers;
namespace Speckle.Sdk.Pipelines.Send;
@@ -14,7 +14,7 @@ public sealed class DiskStoreFactory(ILogger logger) : IDiskStoreFact
public sealed class DiskStore
{
- private readonly Channel _channel;
+ private readonly RepackedChannel _channel;
private readonly Task _writeToDiskTask;
private readonly ILogger _logger;
private readonly CancellationToken _cancellationToken;
@@ -24,17 +24,16 @@ public sealed class DiskStore
_logger = logger;
_cancellationToken = cancellationToken;
- _channel = Channel.CreateBounded(
- new BoundedChannelOptions(1000) { FullMode = BoundedChannelFullMode.Wait, SingleReader = true }
- );
+ _channel = new RepackedChannel(1000, true, false);
_writeToDiskTask = Task.Run(WriteFile, cancellationToken);
}
- public ValueTask PushAsync(UploadItem item) => _channel.Writer.WriteAsync(item, _cancellationToken);
+ public async Task PushAsync(UploadItem item) =>
+ await _channel.WriteAsync(item, _cancellationToken).ConfigureAwait(false);
public async Task CompleteAsync()
{
- _channel.Writer.Complete();
+ _channel.CompleteWriter();
return await _writeToDiskTask.ConfigureAwait(false);
}
@@ -55,7 +54,7 @@ public sealed class DiskStore
using var gzip = new GZipStream(fileStream, CompressionLevel.Optimal);
using var writer = new StreamWriter(gzip);
- await foreach (var item in _channel.Reader.ReadAllAsync(_cancellationToken).ConfigureAwait(false))
+ await foreach (var item in _channel.ReadAllAsync(_cancellationToken).ConfigureAwait(false))
{
await writer.WriteLineAsync($"{item.Id}\t{item.Json}\t{item.SpeckleType}").ConfigureAwait(false);
}
diff --git a/src/Speckle.Sdk/Speckle.Sdk.csproj b/src/Speckle.Sdk/Speckle.Sdk.csproj
index 350b4330..000ee2bf 100644
--- a/src/Speckle.Sdk/Speckle.Sdk.csproj
+++ b/src/Speckle.Sdk/Speckle.Sdk.csproj
@@ -35,7 +35,6 @@
-
diff --git a/src/Speckle.Sdk/packages.lock.json b/src/Speckle.Sdk/packages.lock.json
index 5702b969..1426afb3 100644
--- a/src/Speckle.Sdk/packages.lock.json
+++ b/src/Speckle.Sdk/packages.lock.json
@@ -90,16 +90,6 @@
"resolved": "13.0.2",
"contentHash": "g1BejUZwax5PRfL6xHgLEK23sqHWOgOj9hE7RvfRRlN00AGt8GnPYt8HedSK7UB3HiRW8zCA9Pn0iiYxCK24BA=="
},
- "System.Threading.Channels": {
- "type": "Direct",
- "requested": "[10.0.0, )",
- "resolved": "10.0.0",
- "contentHash": "fwRdkJpKisUEVNaEdsL5w5EwidzuVw0BOTfzDvYB1Yg8sq1pqNfUZxBOVFgSj6i6tNhpT3HP8BEDXf1+kFkTDA==",
- "dependencies": {
- "Microsoft.Bcl.AsyncInterfaces": "10.0.0",
- "System.Threading.Tasks.Extensions": "4.6.3"
- }
- },
"GraphQL.Client.Abstractions": {
"type": "Transitive",
"resolved": "6.0.0",
@@ -121,14 +111,6 @@
"resolved": "6.0.0",
"contentHash": "yg72rrYDapfsIUrul7aF6wwNnTJBOFvuA9VdDTQpPa8AlAriHbufeXYLBcodKjfUdkCnaiggX1U/nEP08Zb5GA=="
},
- "Microsoft.Bcl.AsyncInterfaces": {
- "type": "Transitive",
- "resolved": "10.0.0",
- "contentHash": "vFuwSLj9QJBbNR0NeNO4YVASUbokxs+i/xbuu8B+Fs4FAZg5QaFa6eGrMaRqTzzNI5tAb97T7BhSxtLckFyiRA==",
- "dependencies": {
- "System.Threading.Tasks.Extensions": "4.6.3"
- }
- },
"Microsoft.Build.Tasks.Git": {
"type": "Transitive",
"resolved": "8.0.0",
@@ -280,8 +262,8 @@
},
"System.Runtime.CompilerServices.Unsafe": {
"type": "Transitive",
- "resolved": "6.1.2",
- "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
+ "resolved": "4.5.3",
+ "contentHash": "3TIsJhD1EiiT0w2CcDMN/iSSwnNnsrnbzeVHSKkaEgV85txMprmuO+Yq2AdSbeVGcg28pdNDTPK87tJhX7VFHw=="
},
"System.Runtime.InteropServices.WindowsRuntime": {
"type": "Transitive",
@@ -293,14 +275,26 @@
},
"System.Threading.Tasks.Extensions": {
"type": "Transitive",
- "resolved": "4.6.3",
- "contentHash": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==",
+ "resolved": "4.5.4",
+ "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
"dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "6.1.2"
+ "System.Runtime.CompilerServices.Unsafe": "4.5.3"
}
},
"speckle.sdk.dependencies": {
- "type": "Project"
+ "type": "Project",
+ "dependencies": {
+ "Microsoft.Bcl.AsyncInterfaces": "[9.0.4, )"
+ }
+ },
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "CentralTransitive",
+ "requested": "[9.0.4, )",
+ "resolved": "9.0.4",
+ "contentHash": "9VGI5kxIvrNG2mqLQZnUR6y/3fcnygD8eNpHR+CqfbnIXvea6nehnYknDKQTxZVPMpzpNca+7DxLBmpdB3q0Bw==",
+ "dependencies": {
+ "System.Threading.Tasks.Extensions": "4.5.4"
+ }
}
},
"net8.0": {
diff --git a/tests/Speckle.Sdk.Serialization.Testing/packages.lock.json b/tests/Speckle.Sdk.Serialization.Testing/packages.lock.json
index 765c1137..efd29581 100644
--- a/tests/Speckle.Sdk.Serialization.Testing/packages.lock.json
+++ b/tests/Speckle.Sdk.Serialization.Testing/packages.lock.json
@@ -74,11 +74,6 @@
"resolved": "1.17.0",
"contentHash": "8x+HCVTl/HHTGpscH3vMBhV8sknN/muZFw9s3TsI8SA6+c43cOTCi2+jE4KsU8pNLbJ++iF2ZFcpcXHXtDglnw=="
},
- "Microsoft.Bcl.AsyncInterfaces": {
- "type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "1Am6l4Vpn3/K32daEqZI+FFr96OlZkgwK2LcT3pZ2zWubR5zTPW3/FkO1Rat9kb7oQOa4rxgl9LJHc5tspCWfg=="
- },
"Microsoft.Build.Tasks.Git": {
"type": "Transitive",
"resolved": "8.0.0",
@@ -385,6 +380,12 @@
"System.Reactive": "5.0.0"
}
},
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "CentralTransitive",
+ "requested": "[9.0.4, )",
+ "resolved": "1.1.0",
+ "contentHash": "1Am6l4Vpn3/K32daEqZI+FFr96OlZkgwK2LcT3pZ2zWubR5zTPW3/FkO1Rat9kb7oQOa4rxgl9LJHc5tspCWfg=="
+ },
"Microsoft.Data.Sqlite": {
"type": "CentralTransitive",
"requested": "[7.0.5, )",
diff --git a/tests/Speckle.Sdk.Tests.Performance/packages.lock.json b/tests/Speckle.Sdk.Tests.Performance/packages.lock.json
index bff226e4..23a76189 100644
--- a/tests/Speckle.Sdk.Tests.Performance/packages.lock.json
+++ b/tests/Speckle.Sdk.Tests.Performance/packages.lock.json
@@ -92,11 +92,6 @@
"resolved": "1.17.0",
"contentHash": "8x+HCVTl/HHTGpscH3vMBhV8sknN/muZFw9s3TsI8SA6+c43cOTCi2+jE4KsU8pNLbJ++iF2ZFcpcXHXtDglnw=="
},
- "Microsoft.Bcl.AsyncInterfaces": {
- "type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "1Am6l4Vpn3/K32daEqZI+FFr96OlZkgwK2LcT3pZ2zWubR5zTPW3/FkO1Rat9kb7oQOa4rxgl9LJHc5tspCWfg=="
- },
"Microsoft.Build.Tasks.Git": {
"type": "Transitive",
"resolved": "8.0.0",
@@ -377,6 +372,12 @@
"System.Reactive": "5.0.0"
}
},
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "CentralTransitive",
+ "requested": "[9.0.4, )",
+ "resolved": "1.1.0",
+ "contentHash": "1Am6l4Vpn3/K32daEqZI+FFr96OlZkgwK2LcT3pZ2zWubR5zTPW3/FkO1Rat9kb7oQOa4rxgl9LJHc5tspCWfg=="
+ },
"Microsoft.Data.Sqlite": {
"type": "CentralTransitive",
"requested": "[7.0.5, )",