Skip to content

Commit 5a91f28

Browse files
authored
Fix namespace for ResourceData and mockable (#50865)
1 parent ff2783c commit 5a91f28

19 files changed

+68
-38
lines changed

eng/Packages.Data.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,6 @@
451451
<PropertyGroup>
452452
<TestProxyVersion>1.0.0-dev.20250501.1</TestProxyVersion>
453453
<UnbrandedGeneratorVersion>1.0.0-alpha.20250625.1</UnbrandedGeneratorVersion>
454-
<AzureGeneratorVersion>1.0.0-alpha.20250619.1</AzureGeneratorVersion>
454+
<AzureGeneratorVersion>1.0.0-alpha.20250625.3</AzureGeneratorVersion>
455455
</PropertyGroup>
456456
</Project>

eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/MockableResourceProvider.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ public MockableResourceProvider(CSharpType armCoreType, IReadOnlyList<ResourceCl
2828
}
2929
internal CSharpType ArmCoreType { get; }
3030

31+
protected override string BuildNamespace() => $"{base.BuildNamespace()}.Mocking";
32+
3133
protected override string BuildName() => $"Mockable{ManagementClientGenerator.Instance.TypeFactory.ResourceProviderName}{ArmCoreType.Name}";
3234

3335
protected override string BuildRelativeFilePath() => Path.Combine("src", "Generated", "Extensions", $"{Name}.cs");

eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/ResourceVisitor.cs

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,46 @@ internal class ResourceVisitor : ScmLibraryVisitor
1919
return type;
2020
}
2121

22+
private void TransformResource(InputModelType model, TypeProvider type)
23+
{
24+
if (type is ModelProvider && ManagementClientGenerator.Instance.InputLibrary.IsResourceModel(model))
25+
{
26+
type.Update(
27+
relativeFilePath: TransformRelativeFilePath(type),
28+
name: TransformName(type));
29+
30+
foreach (var serialization in type.SerializationProviders)
31+
{
32+
serialization.Update(
33+
relativeFilePath: TransformRelativeFilePathForSerialization(serialization),
34+
name: TransformName(serialization));
35+
}
36+
}
37+
}
38+
39+
// Because we have NamespaceVisitor with VisitType in Azure.Generater, we need to override the namespace with VisitType here
40+
protected override TypeProvider? VisitType(TypeProvider type)
41+
{
42+
if (type is not null)
43+
{
44+
TransformNamespaceForResource(type);
45+
}
46+
return type;
47+
}
48+
49+
private void TransformNamespaceForResource(TypeProvider type)
50+
{
51+
if (type is ModelProvider model && ManagementClientGenerator.Instance.OutputLibrary.IsResourceModelType(model.Type))
52+
{
53+
type.Update(@namespace: ManagementClientGenerator.Instance.TypeFactory.PrimaryNamespace);
54+
55+
foreach (var serialization in type.SerializationProviders)
56+
{
57+
serialization.Update(@namespace: ManagementClientGenerator.Instance.TypeFactory.PrimaryNamespace);
58+
}
59+
}
60+
}
61+
2262
// TODO: Go back and enable this when we have a way to handle the resource model parameters renaming via VisitMethod.
2363
// protected override MethodProvider? VisitMethod(MethodProvider method)
2464
// {
@@ -32,20 +72,6 @@ internal class ResourceVisitor : ScmLibraryVisitor
3272
// return base.VisitMethod(method);
3373
// }
3474

35-
private void TransformResource(InputModelType model, TypeProvider type)
36-
{
37-
if (type is ModelProvider && ManagementClientGenerator.Instance.InputLibrary.IsResourceModel(model))
38-
{
39-
type.Update(relativeFilePath: TransformRelativeFilePath(type));
40-
type.Update(name: TransformName(type));
41-
foreach (var serialization in type.SerializationProviders)
42-
{
43-
serialization.Update(relativeFilePath: TransformRelativeFilePathForSerialization(serialization));
44-
serialization.Update(name: TransformName(serialization));
45-
}
46-
}
47-
}
48-
4975
private static string TransformName(TypeProvider model) => $"{model.Name}Data";
5076

5177
private static string TransformRelativeFilePath(TypeProvider model)

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Extensions/MgmtTypeSpecExtensions.cs

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Extensions/MockableMgmtTypeSpecArmClient.cs

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Extensions/MockableMgmtTypeSpecResourceGroupResource.cs

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FooCollection.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FooData.Serialization.cs

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FooData.cs

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FooResource.Serialization.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FooResource.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/LongRunningOperation/FooOperationSource.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/MgmtTypeSpecModelFactory.cs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Models/FooListResult.cs

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Models/PrivateLinkResourceListResult.cs

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/PrivateLinkResourceData.Serialization.cs

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/PrivateLinkResourceData.cs

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"dist/**"
3838
],
3939
"dependencies": {
40-
"@azure-typespec/http-client-csharp": "1.0.0-alpha.20250619.1"
40+
"@azure-typespec/http-client-csharp": "1.0.0-alpha.20250625.3"
4141
},
4242
"devDependencies": {
4343
"@azure-tools/azure-http-specs": "0.1.0-alpha.19",

0 commit comments

Comments
 (0)