From e9d94551a34cb6bc1775e8ed4821746e1542ebe0 Mon Sep 17 00:00:00 2001 From: Marcin Jastrzebski Date: Mon, 23 Nov 2020 18:40:10 -0800 Subject: [PATCH] Switched from submodule to type nugets (#987) --- .gitmodules | 3 - Bicep.sln | 36 +---------- CONTRIBUTING.md | 2 +- bicep-types-az | 1 - .../Az/AzResourceTypeProviderTests.cs | 43 +++++++------ src/Bicep.Core/Bicep.Core.csproj | 7 +-- .../TypeSystem/Az/AzResourceTypeFactory.cs | 60 +++++++++---------- .../TypeSystem/Az/AzResourceTypeProvider.cs | 2 +- src/playground/package-lock.json | 14 ++--- 9 files changed, 65 insertions(+), 103 deletions(-) delete mode 160000 bicep-types-az diff --git a/.gitmodules b/.gitmodules index 0ea45532a..e69de29bb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "bicep-types-az"] - path = bicep-types-az - url = https://github.com/Azure/bicep-types-az.git diff --git a/Bicep.sln b/Bicep.sln index d58977449..826310a14 100644 --- a/Bicep.sln +++ b/Bicep.sln @@ -33,23 +33,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.LangServer.Integratio EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.Cli.IntegrationTests", "src\Bicep.Cli.IntegrationTests\Bicep.Cli.IntegrationTests.csproj", "{34D7A843-55CB-4A3A-B268-2D4ABB7044D3}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Types", "Types", "{4BF029F4-21C7-4751-B3B1-0586AD17525D}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.SerializedTypes", "bicep-types-az\src\Bicep.SerializedTypes\Bicep.SerializedTypes.csproj", "{29A01BDE-25AB-44BA-8657-D5C66CBD519D}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.SerializedTypes.Az", "bicep-types-az\src\Bicep.SerializedTypes.Az\Bicep.SerializedTypes.Az.csproj", "{39F6D713-EF43-4A23-B101-9CF06C8471C8}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.SerializedTypes.Az.UnitTests", "bicep-types-az\src\Bicep.SerializedTypes.Az.UnitTests\Bicep.SerializedTypes.Az.UnitTests.csproj", "{97A5C9AD-5043-42C7-B823-FE7C2C6D9C48}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.SerializedTypes.UnitTests", "bicep-types-az\src\Bicep.SerializedTypes.UnitTests\Bicep.SerializedTypes.UnitTests.csproj", "{F7EF3463-D8D3-4C76-A743-D1BAF1D72AA0}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{61643BA1-BE82-4430-A3D3-CB7A16E747E3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bicep.Decompiler", "src\Bicep.Decompiler\Bicep.Decompiler.csproj", "{4CD48B4A-6297-49FC-90AC-5DF9213C1527}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.Decompiler", "src\Bicep.Decompiler\Bicep.Decompiler.csproj", "{4CD48B4A-6297-49FC-90AC-5DF9213C1527}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bicep.Decompiler.IntegrationTests", "src\Bicep.Decompiler.IntegrationTests\Bicep.Decompiler.IntegrationTests.csproj", "{695560CE-C6C3-4FCD-A488-09F06E608297}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.Decompiler.IntegrationTests", "src\Bicep.Decompiler.IntegrationTests\Bicep.Decompiler.IntegrationTests.csproj", "{695560CE-C6C3-4FCD-A488-09F06E608297}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bicep.Decompiler.UnitTests", "src\Bicep.Decompiler.UnitTests\Bicep.Decompiler.UnitTests.csproj", "{F3AF01F6-24E8-4129-80B6-84AC070B5C7D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.Decompiler.UnitTests", "src\Bicep.Decompiler.UnitTests\Bicep.Decompiler.UnitTests.csproj", "{F3AF01F6-24E8-4129-80B6-84AC070B5C7D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -101,22 +91,6 @@ Global {34D7A843-55CB-4A3A-B268-2D4ABB7044D3}.Debug|Any CPU.Build.0 = Debug|Any CPU {34D7A843-55CB-4A3A-B268-2D4ABB7044D3}.Release|Any CPU.ActiveCfg = Release|Any CPU {34D7A843-55CB-4A3A-B268-2D4ABB7044D3}.Release|Any CPU.Build.0 = Release|Any CPU - {29A01BDE-25AB-44BA-8657-D5C66CBD519D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {29A01BDE-25AB-44BA-8657-D5C66CBD519D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {29A01BDE-25AB-44BA-8657-D5C66CBD519D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {29A01BDE-25AB-44BA-8657-D5C66CBD519D}.Release|Any CPU.Build.0 = Release|Any CPU - {39F6D713-EF43-4A23-B101-9CF06C8471C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {39F6D713-EF43-4A23-B101-9CF06C8471C8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {39F6D713-EF43-4A23-B101-9CF06C8471C8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {39F6D713-EF43-4A23-B101-9CF06C8471C8}.Release|Any CPU.Build.0 = Release|Any CPU - {97A5C9AD-5043-42C7-B823-FE7C2C6D9C48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {97A5C9AD-5043-42C7-B823-FE7C2C6D9C48}.Debug|Any CPU.Build.0 = Debug|Any CPU - {97A5C9AD-5043-42C7-B823-FE7C2C6D9C48}.Release|Any CPU.ActiveCfg = Release|Any CPU - {97A5C9AD-5043-42C7-B823-FE7C2C6D9C48}.Release|Any CPU.Build.0 = Release|Any CPU - {F7EF3463-D8D3-4C76-A743-D1BAF1D72AA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F7EF3463-D8D3-4C76-A743-D1BAF1D72AA0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F7EF3463-D8D3-4C76-A743-D1BAF1D72AA0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F7EF3463-D8D3-4C76-A743-D1BAF1D72AA0}.Release|Any CPU.Build.0 = Release|Any CPU {4CD48B4A-6297-49FC-90AC-5DF9213C1527}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4CD48B4A-6297-49FC-90AC-5DF9213C1527}.Debug|Any CPU.Build.0 = Debug|Any CPU {4CD48B4A-6297-49FC-90AC-5DF9213C1527}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -145,10 +119,6 @@ Global {29A1AE2B-D47D-41DD-9824-279475D9B6C2} = {B02251C3-B01E-40EB-B145-2B03F25FE653} {0DE47D02-2BBE-4352-9E38-79A374F9C41E} = {76F6CBAF-FE81-4B56-B0DB-DE6FD7174771} {34D7A843-55CB-4A3A-B268-2D4ABB7044D3} = {B02251C3-B01E-40EB-B145-2B03F25FE653} - {29A01BDE-25AB-44BA-8657-D5C66CBD519D} = {4BF029F4-21C7-4751-B3B1-0586AD17525D} - {39F6D713-EF43-4A23-B101-9CF06C8471C8} = {4BF029F4-21C7-4751-B3B1-0586AD17525D} - {97A5C9AD-5043-42C7-B823-FE7C2C6D9C48} = {4BF029F4-21C7-4751-B3B1-0586AD17525D} - {F7EF3463-D8D3-4C76-A743-D1BAF1D72AA0} = {4BF029F4-21C7-4751-B3B1-0586AD17525D} {4CD48B4A-6297-49FC-90AC-5DF9213C1527} = {61643BA1-BE82-4430-A3D3-CB7A16E747E3} {695560CE-C6C3-4FCD-A488-09F06E608297} = {61643BA1-BE82-4430-A3D3-CB7A16E747E3} {F3AF01F6-24E8-4129-80B6-84AC070B5C7D} = {61643BA1-BE82-4430-A3D3-CB7A16E747E3} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a83ab5988..e8b779c52 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ We are very happy to accept community contributions to Bicep, whether those are * You are free to work on Bicep on any platform using any editor, but you may find it quickest to get started using [VSCode](https://code.visualstudio.com/Download) with the [C# extension](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp). * Fork this repo (see [this forking guide](https://guides.github.com/activities/forking/) for more information). * Checkout the repo locally with `git clone git@github.com:{your_username}/bicep.git`. -* Change into the bicep repo directory and run `git submodule update --init --recursive`. +* If `git status` shows untracked files in the `bicep-types-az` directory, remove the directory via `rm -r bicep-types-az` on Linux/Mac or `rmdir /S bicep-types-az` on Windows. (This is only needed once.) * Build the .NET solution with `dotnet build`. ## Developing diff --git a/bicep-types-az b/bicep-types-az deleted file mode 160000 index 38d035e76..000000000 --- a/bicep-types-az +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 38d035e76567dd2b9a16628481663c63cbd77398 diff --git a/src/Bicep.Core.UnitTests/TypeSystem/Az/AzResourceTypeProviderTests.cs b/src/Bicep.Core.UnitTests/TypeSystem/Az/AzResourceTypeProviderTests.cs index 449d9a527..6c904ebd0 100644 --- a/src/Bicep.Core.UnitTests/TypeSystem/Az/AzResourceTypeProviderTests.cs +++ b/src/Bicep.Core.UnitTests/TypeSystem/Az/AzResourceTypeProviderTests.cs @@ -7,13 +7,12 @@ using Bicep.Core.Diagnostics; using Bicep.Core.Resources; using Bicep.Core.Semantics; -using Bicep.Core.Syntax; using Bicep.Core.TypeSystem; using Bicep.Core.TypeSystem.Az; using Bicep.Core.UnitTests.Assertions; using Bicep.Core.UnitTests.Utils; -using Bicep.SerializedTypes; -using Bicep.SerializedTypes.Az; +using Azure.Bicep.Types; +using Azure.Bicep.Types.Az; using FluentAssertions; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; @@ -196,7 +195,7 @@ private static ITypeLoader CreateMockTypeLoader(ResourceTypeReference resourceTy { var serializedTypes = CreateSerializedTypes(resourceTypeReference); var deserializedType = TypeSerializer.Deserialize(serializedTypes); - var resourceType = deserializedType.OfType().Single(); + var resourceType = deserializedType.OfType().Single(); var mockTypeLocation = new TypeLocation(); var mockTypeLoader = new Mock(); @@ -212,35 +211,35 @@ private static ITypeLoader CreateMockTypeLoader(ResourceTypeReference resourceTy private static string CreateSerializedTypes(ResourceTypeReference resourceTypeReference) { - var typeFactory = new SerializedTypes.Concrete.TypeFactory(Enumerable.Empty()); - var stringType = typeFactory.Create(() => new SerializedTypes.Concrete.BuiltInType { Kind = SerializedTypes.Concrete.BuiltInTypeKind.String }); - var apiVersionType = typeFactory.Create(() => new SerializedTypes.Concrete.StringLiteralType { Value = resourceTypeReference.ApiVersion }); - var typeType = typeFactory.Create(() => new SerializedTypes.Concrete.StringLiteralType { Value = resourceTypeReference.FullyQualifiedType }); - var propertiesType = typeFactory.Create(() => new SerializedTypes.Concrete.ObjectType + var typeFactory = new Azure.Bicep.Types.Concrete.TypeFactory(Enumerable.Empty()); + var stringType = typeFactory.Create(() => new Azure.Bicep.Types.Concrete.BuiltInType { Kind = Azure.Bicep.Types.Concrete.BuiltInTypeKind.String }); + var apiVersionType = typeFactory.Create(() => new Azure.Bicep.Types.Concrete.StringLiteralType { Value = resourceTypeReference.ApiVersion }); + var typeType = typeFactory.Create(() => new Azure.Bicep.Types.Concrete.StringLiteralType { Value = resourceTypeReference.FullyQualifiedType }); + var propertiesType = typeFactory.Create(() => new Azure.Bicep.Types.Concrete.ObjectType { Name = "Properties", - Properties = new Dictionary + Properties = new Dictionary { - ["readwrite"] = new SerializedTypes.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = SerializedTypes.Concrete.ObjectPropertyFlags.None }, - ["readonly"] = new SerializedTypes.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = SerializedTypes.Concrete.ObjectPropertyFlags.ReadOnly }, - ["writeonly"] = new SerializedTypes.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = SerializedTypes.Concrete.ObjectPropertyFlags.WriteOnly }, - ["required"] = new SerializedTypes.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = SerializedTypes.Concrete.ObjectPropertyFlags.Required }, + ["readwrite"] = new Azure.Bicep.Types.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = Azure.Bicep.Types.Concrete.ObjectPropertyFlags.None }, + ["readonly"] = new Azure.Bicep.Types.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = Azure.Bicep.Types.Concrete.ObjectPropertyFlags.ReadOnly }, + ["writeonly"] = new Azure.Bicep.Types.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = Azure.Bicep.Types.Concrete.ObjectPropertyFlags.WriteOnly }, + ["required"] = new Azure.Bicep.Types.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = Azure.Bicep.Types.Concrete.ObjectPropertyFlags.Required }, } }); - var bodyType = typeFactory.Create(() => new SerializedTypes.Concrete.ObjectType + var bodyType = typeFactory.Create(() => new Azure.Bicep.Types.Concrete.ObjectType { Name = resourceTypeReference.FormatName(), - Properties = new Dictionary + Properties = new Dictionary { - ["name"] = new SerializedTypes.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = SerializedTypes.Concrete.ObjectPropertyFlags.DeployTimeConstant | SerializedTypes.Concrete.ObjectPropertyFlags.Required }, - ["type"] = new SerializedTypes.Concrete.ObjectProperty { Type = typeFactory.GetReference(typeType), Flags = SerializedTypes.Concrete.ObjectPropertyFlags.DeployTimeConstant | SerializedTypes.Concrete.ObjectPropertyFlags.ReadOnly }, - ["apiVersion"] = new SerializedTypes.Concrete.ObjectProperty { Type = typeFactory.GetReference(apiVersionType), Flags = SerializedTypes.Concrete.ObjectPropertyFlags.DeployTimeConstant | SerializedTypes.Concrete.ObjectPropertyFlags.ReadOnly }, - ["id"] = new SerializedTypes.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = SerializedTypes.Concrete.ObjectPropertyFlags.DeployTimeConstant | SerializedTypes.Concrete.ObjectPropertyFlags.ReadOnly }, - ["properties"] = new SerializedTypes.Concrete.ObjectProperty { Type = typeFactory.GetReference(propertiesType), Flags = SerializedTypes.Concrete.ObjectPropertyFlags.Required }, + ["name"] = new Azure.Bicep.Types.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = Azure.Bicep.Types.Concrete.ObjectPropertyFlags.DeployTimeConstant | Azure.Bicep.Types.Concrete.ObjectPropertyFlags.Required }, + ["type"] = new Azure.Bicep.Types.Concrete.ObjectProperty { Type = typeFactory.GetReference(typeType), Flags = Azure.Bicep.Types.Concrete.ObjectPropertyFlags.DeployTimeConstant | Azure.Bicep.Types.Concrete.ObjectPropertyFlags.ReadOnly }, + ["apiVersion"] = new Azure.Bicep.Types.Concrete.ObjectProperty { Type = typeFactory.GetReference(apiVersionType), Flags = Azure.Bicep.Types.Concrete.ObjectPropertyFlags.DeployTimeConstant | Azure.Bicep.Types.Concrete.ObjectPropertyFlags.ReadOnly }, + ["id"] = new Azure.Bicep.Types.Concrete.ObjectProperty { Type = typeFactory.GetReference(stringType), Flags = Azure.Bicep.Types.Concrete.ObjectPropertyFlags.DeployTimeConstant | Azure.Bicep.Types.Concrete.ObjectPropertyFlags.ReadOnly }, + ["properties"] = new Azure.Bicep.Types.Concrete.ObjectProperty { Type = typeFactory.GetReference(propertiesType), Flags = Azure.Bicep.Types.Concrete.ObjectPropertyFlags.Required }, }, }); - typeFactory.Create(() => new SerializedTypes.Concrete.ResourceType + typeFactory.Create(() => new Azure.Bicep.Types.Concrete.ResourceType { Name = resourceTypeReference.FormatName(), Body = typeFactory.GetReference(bodyType), diff --git a/src/Bicep.Core/Bicep.Core.csproj b/src/Bicep.Core/Bicep.Core.csproj index a89ee3714..ca3fe07c1 100644 --- a/src/Bicep.Core/Bicep.Core.csproj +++ b/src/Bicep.Core/Bicep.Core.csproj @@ -4,11 +4,6 @@ netstandard2.1 - - - - - all @@ -16,6 +11,8 @@ + + \ No newline at end of file diff --git a/src/Bicep.Core/TypeSystem/Az/AzResourceTypeFactory.cs b/src/Bicep.Core/TypeSystem/Az/AzResourceTypeFactory.cs index 28c6ba64a..96327229d 100644 --- a/src/Bicep.Core/TypeSystem/Az/AzResourceTypeFactory.cs +++ b/src/Bicep.Core/TypeSystem/Az/AzResourceTypeFactory.cs @@ -9,21 +9,21 @@ namespace Bicep.Core.TypeSystem.Az { public class AzResourceTypeFactory { - private readonly Dictionary typeCache; + private readonly Dictionary typeCache; public AzResourceTypeFactory() { - typeCache = new Dictionary(); + typeCache = new Dictionary(); } - public ResourceType GetResourceType(SerializedTypes.Concrete.ResourceType resourceType) + public ResourceType GetResourceType(Azure.Bicep.Types.Concrete.ResourceType resourceType) { var output = GetTypeSymbol(resourceType, false) as ResourceType; return output ?? throw new ArgumentException("Unable to deserialize resource type", nameof(resourceType)); } - private TypeSymbol GetTypeSymbol(SerializedTypes.Concrete.TypeBase serializedType, bool isResourceBodyType) + private TypeSymbol GetTypeSymbol(Azure.Bicep.Types.Concrete.TypeBase serializedType, bool isResourceBodyType) { if (!typeCache.TryGetValue(serializedType, out var typeSymbol)) { @@ -34,33 +34,33 @@ private TypeSymbol GetTypeSymbol(SerializedTypes.Concrete.TypeBase serializedTyp return typeSymbol; } - private ITypeReference GetTypeReference(SerializedTypes.Concrete.ITypeReference input, bool isResourceBodyType) + private ITypeReference GetTypeReference(Azure.Bicep.Types.Concrete.ITypeReference input, bool isResourceBodyType) => new DeferredTypeReference(() => GetTypeSymbol(input.Type, isResourceBodyType)); - private TypeProperty GetTypeProperty(string name, SerializedTypes.Concrete.ObjectProperty input) + private TypeProperty GetTypeProperty(string name, Azure.Bicep.Types.Concrete.ObjectProperty input) { var type = input.Type ?? throw new ArgumentException(); return new TypeProperty(name, GetTypeReference(type, false), GetTypePropertyFlags(input)); } - private static TypePropertyFlags GetTypePropertyFlags(SerializedTypes.Concrete.ObjectProperty input) + private static TypePropertyFlags GetTypePropertyFlags(Azure.Bicep.Types.Concrete.ObjectProperty input) { var flags = TypePropertyFlags.None; - if (input.Flags.HasFlag(SerializedTypes.Concrete.ObjectPropertyFlags.Required)) + if (input.Flags.HasFlag(Azure.Bicep.Types.Concrete.ObjectPropertyFlags.Required)) { flags |= TypePropertyFlags.Required; } - if (input.Flags.HasFlag(SerializedTypes.Concrete.ObjectPropertyFlags.ReadOnly)) + if (input.Flags.HasFlag(Azure.Bicep.Types.Concrete.ObjectPropertyFlags.ReadOnly)) { flags |= TypePropertyFlags.ReadOnly; } - if (input.Flags.HasFlag(SerializedTypes.Concrete.ObjectPropertyFlags.WriteOnly)) + if (input.Flags.HasFlag(Azure.Bicep.Types.Concrete.ObjectPropertyFlags.WriteOnly)) { flags |= TypePropertyFlags.WriteOnly; } - if (input.Flags.HasFlag(SerializedTypes.Concrete.ObjectPropertyFlags.DeployTimeConstant)) + if (input.Flags.HasFlag(Azure.Bicep.Types.Concrete.ObjectPropertyFlags.DeployTimeConstant)) { flags |= TypePropertyFlags.SkipInlining; } @@ -68,37 +68,37 @@ private static TypePropertyFlags GetTypePropertyFlags(SerializedTypes.Concrete.O return flags; } - private TypeSymbol ToTypeSymbol(SerializedTypes.Concrete.TypeBase typeBase, bool isResourceBodyType) + private TypeSymbol ToTypeSymbol(Azure.Bicep.Types.Concrete.TypeBase typeBase, bool isResourceBodyType) { switch (typeBase) { - case SerializedTypes.Concrete.BuiltInType builtInType: + case Azure.Bicep.Types.Concrete.BuiltInType builtInType: return builtInType.Kind switch { - SerializedTypes.Concrete.BuiltInTypeKind.Any => LanguageConstants.Any, - SerializedTypes.Concrete.BuiltInTypeKind.Null => LanguageConstants.Null, - SerializedTypes.Concrete.BuiltInTypeKind.Bool => LanguageConstants.Bool, - SerializedTypes.Concrete.BuiltInTypeKind.Int => LanguageConstants.Int, - SerializedTypes.Concrete.BuiltInTypeKind.String => LanguageConstants.String, - SerializedTypes.Concrete.BuiltInTypeKind.Object => LanguageConstants.Object, - SerializedTypes.Concrete.BuiltInTypeKind.Array => LanguageConstants.Array, - SerializedTypes.Concrete.BuiltInTypeKind.ResourceRef => LanguageConstants.ResourceRef, + Azure.Bicep.Types.Concrete.BuiltInTypeKind.Any => LanguageConstants.Any, + Azure.Bicep.Types.Concrete.BuiltInTypeKind.Null => LanguageConstants.Null, + Azure.Bicep.Types.Concrete.BuiltInTypeKind.Bool => LanguageConstants.Bool, + Azure.Bicep.Types.Concrete.BuiltInTypeKind.Int => LanguageConstants.Int, + Azure.Bicep.Types.Concrete.BuiltInTypeKind.String => LanguageConstants.String, + Azure.Bicep.Types.Concrete.BuiltInTypeKind.Object => LanguageConstants.Object, + Azure.Bicep.Types.Concrete.BuiltInTypeKind.Array => LanguageConstants.Array, + Azure.Bicep.Types.Concrete.BuiltInTypeKind.ResourceRef => LanguageConstants.ResourceRef, _ => throw new ArgumentException(), }; - case SerializedTypes.Concrete.ObjectType objectType: + case Azure.Bicep.Types.Concrete.ObjectType objectType: { var name = objectType.Name ?? string.Empty; - var properties = objectType.Properties ?? new Dictionary(); + var properties = objectType.Properties ?? new Dictionary(); var additionalProperties = objectType.AdditionalProperties != null ? GetTypeReference(objectType.AdditionalProperties, false) : null; return new NamedObjectType(name, GetValidationFlags(isResourceBodyType), properties.Select(kvp => GetTypeProperty(kvp.Key, kvp.Value)), additionalProperties, TypePropertyFlags.None); } - case SerializedTypes.Concrete.ArrayType arrayType: + case Azure.Bicep.Types.Concrete.ArrayType arrayType: { var itemType = arrayType.ItemType ?? throw new ArgumentException(); return new TypedArrayType(GetTypeReference(itemType, false), GetValidationFlags(isResourceBodyType)); } - case SerializedTypes.Concrete.ResourceType resourceType: + case Azure.Bicep.Types.Concrete.ResourceType resourceType: { var name = resourceType.Name ?? throw new ArgumentException(); var body = resourceType.Body ?? throw new ArgumentException(); @@ -106,15 +106,15 @@ private TypeSymbol ToTypeSymbol(SerializedTypes.Concrete.TypeBase typeBase, bool return new ResourceType(resourceTypeReference, GetTypeReference(body, true)); } - case SerializedTypes.Concrete.UnionType unionType: + case Azure.Bicep.Types.Concrete.UnionType unionType: { var elements = unionType.Elements ?? throw new ArgumentException(); return UnionType.Create(elements.Select(x => GetTypeReference(x, false))); } - case SerializedTypes.Concrete.StringLiteralType stringLiteralType: + case Azure.Bicep.Types.Concrete.StringLiteralType stringLiteralType: var value = stringLiteralType.Value ?? throw new ArgumentException(); return new StringLiteralType(value); - case SerializedTypes.Concrete.DiscriminatedObjectType discriminatedObjectType: + case Azure.Bicep.Types.Concrete.DiscriminatedObjectType discriminatedObjectType: { var name = discriminatedObjectType.Name ?? throw new ArgumentException(); var discriminator = discriminatedObjectType.Discriminator ?? throw new ArgumentException(); @@ -130,9 +130,9 @@ private TypeSymbol ToTypeSymbol(SerializedTypes.Concrete.TypeBase typeBase, bool } } - private NamedObjectType ToCombinedType(IEnumerable> baseProperties, string name, SerializedTypes.Concrete.ITypeReference extendedType, bool isResourceBodyType) + private NamedObjectType ToCombinedType(IEnumerable> baseProperties, string name, Azure.Bicep.Types.Concrete.ITypeReference extendedType, bool isResourceBodyType) { - if (!(extendedType.Type is SerializedTypes.Concrete.ObjectType objectType)) + if (!(extendedType.Type is Azure.Bicep.Types.Concrete.ObjectType objectType)) { throw new ArgumentException(); } diff --git a/src/Bicep.Core/TypeSystem/Az/AzResourceTypeProvider.cs b/src/Bicep.Core/TypeSystem/Az/AzResourceTypeProvider.cs index 863ea68e0..d98e59e1e 100644 --- a/src/Bicep.Core/TypeSystem/Az/AzResourceTypeProvider.cs +++ b/src/Bicep.Core/TypeSystem/Az/AzResourceTypeProvider.cs @@ -2,8 +2,8 @@ // Licensed under the MIT License. using System.Collections.Generic; using System.Linq; +using Azure.Bicep.Types.Az; using Bicep.Core.Resources; -using Bicep.SerializedTypes.Az; namespace Bicep.Core.TypeSystem.Az { diff --git a/src/playground/package-lock.json b/src/playground/package-lock.json index fc982e116..c9d5b0cdd 100644 --- a/src/playground/package-lock.json +++ b/src/playground/package-lock.json @@ -5127,9 +5127,9 @@ } }, "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "dev": true }, "node-libs-browser": { @@ -6548,12 +6548,12 @@ "dev": true }, "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", "dev": true, "requires": { - "node-forge": "0.9.0" + "node-forge": "^0.10.0" } }, "semver": {