From 4b74293ac9c9daf26bcae9aeaccd20a8465e567f Mon Sep 17 00:00:00 2001
From: m-nash <64171366+m-nash@users.noreply.github.com>
Date: Wed, 23 Apr 2025 17:14:05 -0700
Subject: [PATCH 01/15] bump scm version to get an alpha azure.core out
---
eng/Packages.Data.props | 6 ++--
sdk/core/Azure.Core/src/AzureCoreContext.cs | 14 +++++++++
.../src/RehydrationToken.Serialization.cs | 2 +-
.../Azure.Core/tests/RehydrationTokenTests.cs | 3 ++
.../tests/System.ClientModel.Tests.csproj | 1 +
.../JsonModelConverterTests.cs | 31 +++----------------
.../SystemClientModelTestsInternalContext.cs | 23 ++++++++++++++
7 files changed, 49 insertions(+), 31 deletions(-)
create mode 100644 sdk/core/Azure.Core/src/AzureCoreContext.cs
create mode 100644 sdk/core/System.ClientModel/tests/internal/ModelReaderWriter/SystemClientModelTestsInternalContext.cs
diff --git a/eng/Packages.Data.props b/eng/Packages.Data.props
index a9de404bfbbb..7367830f3d66 100644
--- a/eng/Packages.Data.props
+++ b/eng/Packages.Data.props
@@ -86,7 +86,7 @@
-
+
@@ -207,7 +207,7 @@
-
+
-
+
@@ -207,7 +207,7 @@
-
+
-
+
@@ -208,7 +208,7 @@
-
+
-
+
@@ -98,7 +98,7 @@
-
+
@@ -208,7 +208,7 @@
-
+
-
+
@@ -209,7 +209,7 @@
-
+
-
+
@@ -411,7 +411,7 @@
-
+
diff --git a/sdk/core/Azure.Core.Experimental/src/Azure.Core.Experimental.csproj b/sdk/core/Azure.Core.Experimental/src/Azure.Core.Experimental.csproj
index 611540da825a..d90f45059336 100644
--- a/sdk/core/Azure.Core.Experimental/src/Azure.Core.Experimental.csproj
+++ b/sdk/core/Azure.Core.Experimental/src/Azure.Core.Experimental.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/sdk/core/Azure.Core.TestFramework/src/Azure.Core.TestFramework.csproj b/sdk/core/Azure.Core.TestFramework/src/Azure.Core.TestFramework.csproj
index 4a0b242b7bb0..13d3d1ee5e83 100644
--- a/sdk/core/Azure.Core.TestFramework/src/Azure.Core.TestFramework.csproj
+++ b/sdk/core/Azure.Core.TestFramework/src/Azure.Core.TestFramework.csproj
@@ -4,7 +4,7 @@
true
-
+
diff --git a/sdk/core/Azure.Core/src/Internal/GenericOperationSource.cs b/sdk/core/Azure.Core/src/Internal/GenericOperationSource.cs
index f400c7f6e341..0874f9260892 100644
--- a/sdk/core/Azure.Core/src/Internal/GenericOperationSource.cs
+++ b/sdk/core/Azure.Core/src/Internal/GenericOperationSource.cs
@@ -17,6 +17,9 @@ ValueTask IOperationSource.CreateResultAsync(Response response, Cancellati
=> new ValueTask(CreateResult(response));
private T CreateResult(Response response)
+ //TODO: Will add an AOT compatible overload during https://github.com/Azure/azure-sdk-for-net/issues/48294
+#pragma warning disable AZC0150 // Use ModelReaderWriter overloads with ModelReaderWriterContext
=> ModelReaderWriter.Read(response.Content)!;
+#pragma warning restore AZC0150 // Use ModelReaderWriter overloads with ModelReaderWriterContext
}
}
diff --git a/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs b/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs
index e6e080d763d4..8c9722419d59 100644
--- a/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs
+++ b/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs
@@ -99,7 +99,7 @@ public static IOperation Create(
// TODO: Once we remove NextLinkOperationImplementation from internal shared and make it internal to Azure.Core only in https://github.com/Azure/azure-sdk-for-net/issues/43260
// We can access the internal members from RehydrationToken directly
- var data = ModelReaderWriter.Write(rehydrationToken!, ModelReaderWriterOptions.Json);
+ var data = ModelReaderWriter.Write(rehydrationToken!, ModelReaderWriterOptions.Json, AzureCoreContext.Default);
using var document = JsonDocument.Parse(data);
var lroDetails = document.RootElement;
@@ -228,7 +228,7 @@ public static RehydrationToken GetRehydrationToken(
{"version":"{{RehydrationTokenVersion}}","id":{{ConstructStringValue(operationId)}},"requestMethod":"{{requestMethod}}","initialUri":"{{startRequestUri.AbsoluteUri}}","nextRequestUri":"{{nextRequestUri}}","headerSource":"{{headerSource}}","finalStateVia":"{{finalStateVia}}","lastKnownLocation":{{ConstructStringValue(lastKnownLocation)}}}
""";
var data = new BinaryData(json);
- return ModelReaderWriter.Read(data);
+ return ModelReaderWriter.Read(data, ModelReaderWriterOptions.Json, AzureCoreContext.Default);
}
private static string? ConstructStringValue(string? value) => value is null ? "null" : $"\"{value}\"";
From 0361e44be63fdfb526d7eecb470f1b788f795914 Mon Sep 17 00:00:00 2001
From: Wes Haggard
Date: Mon, 5 May 2025 10:26:23 -0700
Subject: [PATCH 09/15] Update Azure.AI.OpenAI.Tests.csproj
---
sdk/openai/Azure.AI.OpenAI/tests/Azure.AI.OpenAI.Tests.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sdk/openai/Azure.AI.OpenAI/tests/Azure.AI.OpenAI.Tests.csproj b/sdk/openai/Azure.AI.OpenAI/tests/Azure.AI.OpenAI.Tests.csproj
index ef08f13099ee..578ad46527cb 100644
--- a/sdk/openai/Azure.AI.OpenAI/tests/Azure.AI.OpenAI.Tests.csproj
+++ b/sdk/openai/Azure.AI.OpenAI/tests/Azure.AI.OpenAI.Tests.csproj
@@ -24,7 +24,7 @@
-->
-
+
From 21712d83bcc027ab92c69037d2f1e61c42c2ec8b Mon Sep 17 00:00:00 2001
From: Wes Haggard
Date: Mon, 5 May 2025 10:28:09 -0700
Subject: [PATCH 10/15] Update Azure.AI.OpenAI.Tests.csproj
---
sdk/openai/Azure.AI.OpenAI/tests/Azure.AI.OpenAI.Tests.csproj | 1 -
1 file changed, 1 deletion(-)
diff --git a/sdk/openai/Azure.AI.OpenAI/tests/Azure.AI.OpenAI.Tests.csproj b/sdk/openai/Azure.AI.OpenAI/tests/Azure.AI.OpenAI.Tests.csproj
index 578ad46527cb..de4c116aeff5 100644
--- a/sdk/openai/Azure.AI.OpenAI/tests/Azure.AI.OpenAI.Tests.csproj
+++ b/sdk/openai/Azure.AI.OpenAI/tests/Azure.AI.OpenAI.Tests.csproj
@@ -24,7 +24,6 @@
-->
-
From 0dd705a75feebf9c27cd63a3d618da468c0e7552 Mon Sep 17 00:00:00 2001
From: m-nash <64171366+m-nash@users.noreply.github.com>
Date: Mon, 5 May 2025 10:29:55 -0700
Subject: [PATCH 11/15] remove version override
---
sdk/openai/tools/TestFramework/src/OpenAI.TestFramework.csproj | 1 -
1 file changed, 1 deletion(-)
diff --git a/sdk/openai/tools/TestFramework/src/OpenAI.TestFramework.csproj b/sdk/openai/tools/TestFramework/src/OpenAI.TestFramework.csproj
index 6543070b5e9e..7bcaae509dab 100644
--- a/sdk/openai/tools/TestFramework/src/OpenAI.TestFramework.csproj
+++ b/sdk/openai/tools/TestFramework/src/OpenAI.TestFramework.csproj
@@ -20,7 +20,6 @@
-
From 8e6c1ceb2cbe7a3652309b3a815d35f17dc09f9a Mon Sep 17 00:00:00 2001
From: m-nash <64171366+m-nash@users.noreply.github.com>
Date: Mon, 5 May 2025 13:03:03 -0700
Subject: [PATCH 12/15] temp suppress azc0150
---
sdk/openai/Azure.AI.OpenAI/src/Azure.AI.OpenAI.csproj | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sdk/openai/Azure.AI.OpenAI/src/Azure.AI.OpenAI.csproj b/sdk/openai/Azure.AI.OpenAI/src/Azure.AI.OpenAI.csproj
index c5563418be7f..0789e55c3c81 100644
--- a/sdk/openai/Azure.AI.OpenAI/src/Azure.AI.OpenAI.csproj
+++ b/sdk/openai/Azure.AI.OpenAI/src/Azure.AI.OpenAI.csproj
@@ -10,6 +10,8 @@
$(RequiredTargetFrameworks)
true
$(NoWarn);CS1591;AZC0012;AZC0102;CS8002;CS0436;AZC0112;OPENAI001;OPENAI002;AOAI001
+
+ $(NoWarn);AZC0150
enable
preview
disable
@@ -25,7 +27,7 @@
-
+
From 2b1292bac60975d08c20e0eb1396a07ad25e2c5a Mon Sep 17 00:00:00 2001
From: m-nash <64171366+m-nash@users.noreply.github.com>
Date: Mon, 5 May 2025 13:46:44 -0700
Subject: [PATCH 13/15] revert new analyzer until azure.core GAs
---
eng/Packages.Data.props | 2 +-
.../src/Azure.Core.Experimental.csproj | 2 +-
.../src/Azure.Core.TestFramework.csproj | 2 +-
sdk/core/Azure.Core/src/Internal/GenericOperationSource.cs | 3 ---
.../Azure.Core/src/Shared/NextLinkOperationImplementation.cs | 4 ++--
sdk/openai/Azure.AI.OpenAI/src/Azure.AI.OpenAI.csproj | 2 --
6 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/eng/Packages.Data.props b/eng/Packages.Data.props
index b5761d5c2df8..51f2c9e4e2e9 100644
--- a/eng/Packages.Data.props
+++ b/eng/Packages.Data.props
@@ -278,7 +278,7 @@
-->
-
+
diff --git a/sdk/core/Azure.Core.Experimental/src/Azure.Core.Experimental.csproj b/sdk/core/Azure.Core.Experimental/src/Azure.Core.Experimental.csproj
index d90f45059336..611540da825a 100644
--- a/sdk/core/Azure.Core.Experimental/src/Azure.Core.Experimental.csproj
+++ b/sdk/core/Azure.Core.Experimental/src/Azure.Core.Experimental.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/sdk/core/Azure.Core.TestFramework/src/Azure.Core.TestFramework.csproj b/sdk/core/Azure.Core.TestFramework/src/Azure.Core.TestFramework.csproj
index 13d3d1ee5e83..4a0b242b7bb0 100644
--- a/sdk/core/Azure.Core.TestFramework/src/Azure.Core.TestFramework.csproj
+++ b/sdk/core/Azure.Core.TestFramework/src/Azure.Core.TestFramework.csproj
@@ -4,7 +4,7 @@
true
-
+
diff --git a/sdk/core/Azure.Core/src/Internal/GenericOperationSource.cs b/sdk/core/Azure.Core/src/Internal/GenericOperationSource.cs
index 0874f9260892..f400c7f6e341 100644
--- a/sdk/core/Azure.Core/src/Internal/GenericOperationSource.cs
+++ b/sdk/core/Azure.Core/src/Internal/GenericOperationSource.cs
@@ -17,9 +17,6 @@ ValueTask IOperationSource.CreateResultAsync(Response response, Cancellati
=> new ValueTask(CreateResult(response));
private T CreateResult(Response response)
- //TODO: Will add an AOT compatible overload during https://github.com/Azure/azure-sdk-for-net/issues/48294
-#pragma warning disable AZC0150 // Use ModelReaderWriter overloads with ModelReaderWriterContext
=> ModelReaderWriter.Read(response.Content)!;
-#pragma warning restore AZC0150 // Use ModelReaderWriter overloads with ModelReaderWriterContext
}
}
diff --git a/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs b/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs
index 8c9722419d59..72f892348c78 100644
--- a/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs
+++ b/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs
@@ -99,7 +99,7 @@ public static IOperation Create(
// TODO: Once we remove NextLinkOperationImplementation from internal shared and make it internal to Azure.Core only in https://github.com/Azure/azure-sdk-for-net/issues/43260
// We can access the internal members from RehydrationToken directly
- var data = ModelReaderWriter.Write(rehydrationToken!, ModelReaderWriterOptions.Json, AzureCoreContext.Default);
+ var data = ModelReaderWriter.Write(rehydrationToken!, ModelReaderWriterOptions.Json);
using var document = JsonDocument.Parse(data);
var lroDetails = document.RootElement;
@@ -228,7 +228,7 @@ public static RehydrationToken GetRehydrationToken(
{"version":"{{RehydrationTokenVersion}}","id":{{ConstructStringValue(operationId)}},"requestMethod":"{{requestMethod}}","initialUri":"{{startRequestUri.AbsoluteUri}}","nextRequestUri":"{{nextRequestUri}}","headerSource":"{{headerSource}}","finalStateVia":"{{finalStateVia}}","lastKnownLocation":{{ConstructStringValue(lastKnownLocation)}}}
""";
var data = new BinaryData(json);
- return ModelReaderWriter.Read(data, ModelReaderWriterOptions.Json, AzureCoreContext.Default);
+ return ModelReaderWriter.Read(data, ModelReaderWriterOptions.Json);
}
private static string? ConstructStringValue(string? value) => value is null ? "null" : $"\"{value}\"";
diff --git a/sdk/openai/Azure.AI.OpenAI/src/Azure.AI.OpenAI.csproj b/sdk/openai/Azure.AI.OpenAI/src/Azure.AI.OpenAI.csproj
index 0789e55c3c81..443ef461bf83 100644
--- a/sdk/openai/Azure.AI.OpenAI/src/Azure.AI.OpenAI.csproj
+++ b/sdk/openai/Azure.AI.OpenAI/src/Azure.AI.OpenAI.csproj
@@ -10,8 +10,6 @@
$(RequiredTargetFrameworks)
true
$(NoWarn);CS1591;AZC0012;AZC0102;CS8002;CS0436;AZC0112;OPENAI001;OPENAI002;AOAI001
-
- $(NoWarn);AZC0150
enable
preview
disable
From 646a42752013f705238c955ed158ee71af34ad87 Mon Sep 17 00:00:00 2001
From: m-nash <64171366+m-nash@users.noreply.github.com>
Date: Mon, 5 May 2025 14:25:22 -0700
Subject: [PATCH 14/15] revert one more context ref
---
sdk/core/Azure.Core/src/RehydrationToken.Serialization.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sdk/core/Azure.Core/src/RehydrationToken.Serialization.cs b/sdk/core/Azure.Core/src/RehydrationToken.Serialization.cs
index c9a4ca9ca7c0..50e16fca3bde 100644
--- a/sdk/core/Azure.Core/src/RehydrationToken.Serialization.cs
+++ b/sdk/core/Azure.Core/src/RehydrationToken.Serialization.cs
@@ -140,7 +140,7 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions op
switch (format)
{
case "J":
- return ModelReaderWriter.Write(this, options, AzureCoreContext.Default);
+ return ModelReaderWriter.Write(this, options);
default:
throw new FormatException($"The model {nameof(RehydrationToken)} does not support '{options.Format}' format.");
}
From 46e9d8fcac5546d8f522d79d6ae77b0d8f80ebfa Mon Sep 17 00:00:00 2001
From: m-nash <64171366+m-nash@users.noreply.github.com>
Date: Tue, 6 May 2025 10:57:10 -0700
Subject: [PATCH 15/15] update proj ref swap to deal with source generation
---
eng/Directory.Build.Common.targets | 8 ++++++++
.../src/Shared/NextLinkOperationImplementation.cs | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/eng/Directory.Build.Common.targets b/eng/Directory.Build.Common.targets
index 66c323f37ad8..6e29541576c5 100644
--- a/eng/Directory.Build.Common.targets
+++ b/eng/Directory.Build.Common.targets
@@ -195,6 +195,14 @@
+
+
+ <_DependsOnSystemClientModel Include="@(ProjectsToConvert)" Exclude="System.ClientModel" />
+
diff --git a/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs b/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs
index 72f892348c78..e6e080d763d4 100644
--- a/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs
+++ b/sdk/core/Azure.Core/src/Shared/NextLinkOperationImplementation.cs
@@ -228,7 +228,7 @@ public static RehydrationToken GetRehydrationToken(
{"version":"{{RehydrationTokenVersion}}","id":{{ConstructStringValue(operationId)}},"requestMethod":"{{requestMethod}}","initialUri":"{{startRequestUri.AbsoluteUri}}","nextRequestUri":"{{nextRequestUri}}","headerSource":"{{headerSource}}","finalStateVia":"{{finalStateVia}}","lastKnownLocation":{{ConstructStringValue(lastKnownLocation)}}}
""";
var data = new BinaryData(json);
- return ModelReaderWriter.Read(data, ModelReaderWriterOptions.Json);
+ return ModelReaderWriter.Read(data);
}
private static string? ConstructStringValue(string? value) => value is null ? "null" : $"\"{value}\"";