Skip to content

Commit 7b7ea5d

Browse files
authored
Merge branch 'main' into codegendoc
2 parents 4ed46af + d87edd9 commit 7b7ea5d

File tree

8 files changed

+16
-19
lines changed

8 files changed

+16
-19
lines changed

packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/InputLibraryVisitorTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ public class InputLibraryVisitorTests
2323
public void Setup()
2424
{
2525
_mockInputLibrary = new Mock<InputLibrary>();
26+
_mockInputLibrary.Setup(l => l.InputNamespace).Returns(InputFactory.Namespace("Sample"));
2627
_mockPlugin = MockHelpers.LoadMockPlugin(
2728
createInputLibrary: () => _mockInputLibrary.Object,
28-
createClientCore: inputClient => new ClientProvider(inputClient),
29-
packageName: "Sample");
29+
createClientCore: inputClient => new ClientProvider(inputClient));
3030
_mockVisitor = new Mock<ScmLibraryVisitor> { CallBase = true };
3131
}
3232

packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestHelpers/MockHelpers.cs

+1-7
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ public static Mock<ScmCodeModelPlugin> LoadMockPlugin(
5858
ClientResponseApi? clientResponseApi = null,
5959
ClientPipelineApi? clientPipelineApi = null,
6060
HttpMessageApi? httpMessageApi = null,
61-
Func<InputAuth>? auth = null,
62-
string? packageName = null)
61+
Func<InputAuth>? auth = null)
6362
{
6463
IReadOnlyList<string> inputNsApiVersions = apiVersions?.Invoke() ?? [];
6564
IReadOnlyList<InputEnumType> inputNsEnums = inputEnums?.Invoke() ?? [];
@@ -104,11 +103,6 @@ public static Mock<ScmCodeModelPlugin> LoadMockPlugin(
104103
mockTypeFactory.Protected().Setup<ClientProvider?>("CreateClientCore", ItExpr.IsAny<InputClient>()).Returns(createClientCore);
105104
}
106105

107-
if (packageName is not null)
108-
{
109-
mockTypeFactory.Setup(p => p.PackageName).Returns(packageName);
110-
}
111-
112106
// initialize the mock singleton instance of the plugin
113107
var codeModelInstance = typeof(CodeModelPlugin).GetField("_instance", BindingFlags.Static | BindingFlags.NonPublic);
114108
var clientModelInstance = typeof(ScmCodeModelPlugin).GetField("_instance", BindingFlags.Static | BindingFlags.NonPublic);

packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/Providers/EnumProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ protected override TypeProvider[] BuildSerializationProviders()
5757
}
5858
protected override string BuildNamespace() => string.IsNullOrEmpty(_inputType.Namespace) ?
5959
// TODO - this should not be necessary as every enum should have a namespace https://github.com/Azure/typespec-azure/issues/2210
60-
CodeModelPlugin.Instance.TypeFactory.PackageName : // we default to this model namespace when the namespace is empty
60+
CodeModelPlugin.Instance.TypeFactory.PrimaryNamespace : // we default to this model namespace when the namespace is empty
6161
CodeModelPlugin.Instance.TypeFactory.GetCleanNameSpace(_inputType.Namespace);
6262

6363
protected override bool GetIsEnum() => true;

packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/Providers/ModelProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public ModelProvider? BaseModelProvider
123123

124124
protected override string BuildNamespace() => string.IsNullOrEmpty(_inputModel.Namespace) ?
125125
// TODO remove null check once https://github.com/Azure/typespec-azure/issues/2209 is fixed.
126-
CodeModelPlugin.Instance.TypeFactory.PackageName :
126+
CodeModelPlugin.Instance.TypeFactory.PrimaryNamespace :
127127
CodeModelPlugin.Instance.TypeFactory.GetCleanNameSpace(_inputModel.Namespace);
128128

129129
protected override CSharpType? GetBaseType()

packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/Providers/TypeProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ this is EnumProvider ||
125125
protected virtual bool GetIsEnum() => false;
126126
public bool IsEnum => GetIsEnum();
127127

128-
protected virtual string BuildNamespace() => CodeModelPlugin.Instance.TypeFactory.PackageName;
128+
protected virtual string BuildNamespace() => CodeModelPlugin.Instance.TypeFactory.PrimaryNamespace;
129129

130130
private TypeSignatureModifiers? _declarationModifiers;
131131

packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/SourceInput/SourceInputModel.cs

+5-5
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ private bool TryGetName(ISymbol symbol, [NotNullWhen(true)] out string? name)
9797
private async Task<Compilation?> LoadBaselineContract()
9898
{
9999
string fullPath;
100-
string projectFilePath = Path.GetFullPath(Path.Combine(CodeModelPlugin.Instance.Configuration.ProjectDirectory, $"{CodeModelPlugin.Instance.TypeFactory.PackageName}.csproj"));
100+
string projectFilePath = Path.GetFullPath(Path.Combine(CodeModelPlugin.Instance.Configuration.ProjectDirectory, $"{CodeModelPlugin.Instance.TypeFactory.PrimaryNamespace}.csproj"));
101101
if (!File.Exists(projectFilePath))
102102
return null;
103103

@@ -106,15 +106,15 @@ private bool TryGetName(ISymbol symbol, [NotNullWhen(true)] out string? name)
106106
if (baselineVersion is not null)
107107
{
108108
var nugetGlobalPackageFolder = SettingsUtility.GetGlobalPackagesFolder(new NullSettings());
109-
var nugetFolder = Path.Combine(nugetGlobalPackageFolder, CodeModelPlugin.Instance.TypeFactory.PackageName.ToLowerInvariant(), baselineVersion, "lib", "netstandard2.0");
110-
fullPath = Path.Combine(nugetFolder, $"{CodeModelPlugin.Instance.TypeFactory.PackageName}.dll");
109+
var nugetFolder = Path.Combine(nugetGlobalPackageFolder, CodeModelPlugin.Instance.TypeFactory.PrimaryNamespace.ToLowerInvariant(), baselineVersion, "lib", "netstandard2.0");
110+
fullPath = Path.Combine(nugetFolder, $"{CodeModelPlugin.Instance.TypeFactory.PrimaryNamespace}.dll");
111111
if (File.Exists(fullPath))
112112
{
113-
return await GeneratedCodeWorkspace.CreatePreviousContractFromDll(Path.Combine(nugetFolder, $"{CodeModelPlugin.Instance.TypeFactory.PackageName}.xml"), fullPath);
113+
return await GeneratedCodeWorkspace.CreatePreviousContractFromDll(Path.Combine(nugetFolder, $"{CodeModelPlugin.Instance.TypeFactory.PrimaryNamespace}.xml"), fullPath);
114114
}
115115
else
116116
{
117-
throw new InvalidOperationException($"Can't find Baseline contract assembly ({CodeModelPlugin.Instance.TypeFactory.PackageName}@{baselineVersion}) from Nuget Global Package Folder at {fullPath}. " +
117+
throw new InvalidOperationException($"Can't find Baseline contract assembly ({CodeModelPlugin.Instance.TypeFactory.PrimaryNamespace}@{baselineVersion}) from Nuget Global Package Folder at {fullPath}. " +
118118
$"Please make sure the baseline nuget package has been installed properly");
119119
}
120120
}

packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/TypeFactory.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -327,8 +327,8 @@ public EnumCacheKey(InputEnumType enumType, TypeProvider? declaringType)
327327
}
328328
}
329329

330-
private string? _packageName;
331-
public virtual string PackageName => _packageName ??= GetCleanNameSpace(CodeModelPlugin.Instance.InputLibrary.InputNamespace.Name);
330+
private string? _primaryNamespace;
331+
public string PrimaryNamespace => _primaryNamespace ??= GetCleanNameSpace(CodeModelPlugin.Instance.InputLibrary.InputNamespace.Name);
332332

333333
public string GetCleanNameSpace(string clientNamespace)
334334
{

packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/test/ConfigurationTests.cs

+3
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ public void TestParseConfig_AdditionalConfigOptions()
103103

104104
bool unknownBoolValue = additionalConfigOptions["unknown-bool-property"].ToObjectFromJson<bool>();
105105
Assert.AreEqual(true, unknownBoolValue);
106+
107+
Assert.AreEqual("libraryName", CodeModelPlugin.Instance.Configuration.PackageName);
108+
Assert.AreEqual("Sample", CodeModelPlugin.Instance.TypeFactory.PrimaryNamespace);
106109
}
107110

108111
[Test]

0 commit comments

Comments
 (0)