Skip to content

Commit f60f70d

Browse files
authored
Merge pull request #3991 from cormacpayne/serialize-cmdlets
Serialize cmdlets for breaking change tool
2 parents 3c56e78 + e342286 commit f60f70d

File tree

54 files changed

+71651
-20435
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+71651
-20435
lines changed

tools/StaticAnalysis/BreakingChangeAnalyzer/CmdletBreakingChangeLoader.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,11 @@ public ModuleMetadata GetModuleMetadata(string assemblyPath)
156156

157157
foreach (var parameter in globalParameters)
158158
{
159-
parameterSet.Parameters.Add(parameter);
159+
var param = parameterSet.Parameters.FirstOrDefault(p => p.ParameterMetadata.Name.Equals(parameter.ParameterMetadata.Name));
160+
if (param == null)
161+
{
162+
parameterSet.Parameters.Add(parameter);
163+
}
160164
}
161165
}
162166

tools/StaticAnalysis/BreakingChangeAnalyzer/CmdletMetadataHelper.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -220,9 +220,9 @@ private void CheckForChangedOutputType(
220220
// Add each output in the new metadata to the dictionary
221221
foreach (var newOutput in newCmdlet.OutputTypes)
222222
{
223-
if (!outputDictionary.ContainsKey(newOutput.Type.Name))
223+
if (!outputDictionary.ContainsKey(newOutput.Type.AssemblyQualifiedName))
224224
{
225-
outputDictionary.Add(newOutput.Type.Name, newOutput.Type);
225+
outputDictionary.Add(newOutput.Type.AssemblyQualifiedName, newOutput.Type);
226226
}
227227
}
228228

@@ -232,9 +232,9 @@ private void CheckForChangedOutputType(
232232
{
233233
// If the output can be found, use the TypeMetadataHelper to
234234
// check the type for any breaking changes
235-
if (outputDictionary.ContainsKey(oldOutput.Type.Name))
235+
if (outputDictionary.ContainsKey(oldOutput.Type.AssemblyQualifiedName))
236236
{
237-
var newOutputType = outputDictionary[oldOutput.Type.Name];
237+
var newOutputType = outputDictionary[oldOutput.Type.AssemblyQualifiedName];
238238

239239
_typeMetadataHelper.CheckOutputType(oldCmdlet, oldOutput.Type, newOutputType, issueLogger);
240240
}

tools/StaticAnalysis/BreakingChangeAnalyzer/ParameterSetMetadataHelper.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,10 @@ public void CompareParameterSetMetadata(
7777

7878
foreach (var alias in newParameter.ParameterMetadata.AliasList)
7979
{
80-
parameterDictionary.Add(alias, newParameter);
80+
if (!parameterDictionary.ContainsKey(alias))
81+
{
82+
parameterDictionary.Add(alias, newParameter);
83+
}
8184
}
8285
}
8386

tools/StaticAnalysis/Exceptions/BreakingChangeIssues.csv

Lines changed: 0 additions & 437 deletions
Large diffs are not rendered by default.

tools/StaticAnalysis/SerializedCmdlets/Microsoft.Azure.Commands.AnalysisServices.Dataplane.dll.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"Type": {
1515
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Dataplane",
1616
"Name": "AsAzureProfile",
17-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureProfile, Microsoft.Azure.Commands.AnalysisServices.Dataplane, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null",
17+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureProfile, Microsoft.Azure.Commands.AnalysisServices.Dataplane, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
1818
"Properties": {
1919
"Context": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureContext",
2020
"Environments": "System.Collections.Hashtable"
@@ -346,7 +346,7 @@
346346
"Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureContext": {
347347
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Dataplane",
348348
"Name": "AsAzureContext",
349-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureContext, Microsoft.Azure.Commands.AnalysisServices.Dataplane, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null",
349+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureContext, Microsoft.Azure.Commands.AnalysisServices.Dataplane, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
350350
"Properties": {
351351
"Account": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureAccount",
352352
"Environment": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureEnvironment",
@@ -358,7 +358,7 @@
358358
"Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureAccount": {
359359
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Dataplane",
360360
"Name": "AsAzureAccount",
361-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureAccount, Microsoft.Azure.Commands.AnalysisServices.Dataplane, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null",
361+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureAccount, Microsoft.Azure.Commands.AnalysisServices.Dataplane, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
362362
"Properties": {
363363
"Id": "System.String",
364364
"Tenant": "System.String",
@@ -370,7 +370,7 @@
370370
"Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureEnvironment": {
371371
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Dataplane",
372372
"Name": "AsAzureEnvironment",
373-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureEnvironment, Microsoft.Azure.Commands.AnalysisServices.Dataplane, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null",
373+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Dataplane.AsAzureEnvironment, Microsoft.Azure.Commands.AnalysisServices.Dataplane, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
374374
"Properties": {
375375
"Endpoints": "System.Collections.Hashtable",
376376
"Name": "System.String"

tools/StaticAnalysis/SerializedCmdlets/Microsoft.Azure.Commands.AnalysisServices.dll.json

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"Type": {
1515
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Models",
1616
"Name": "AzureAnalysisServicesServer",
17-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.0.3.0, Culture=neutral, PublicKeyToken=null",
17+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
1818
"Properties": {
1919
"AsAdministrators": "System.Collections.Generic.List`1[System.String]",
2020
"Id": "System.String",
@@ -23,6 +23,7 @@
2323
"ProvisioningState": "System.String",
2424
"ServerFullName": "System.String",
2525
"Sku": "Microsoft.Azure.Commands.AnalysisServices.Models.ServerSku",
26+
"State": "System.String",
2627
"Tag": "System.Collections.Generic.IDictionary`2[System.String,System.String]",
2728
"Type": "System.String"
2829
},
@@ -175,7 +176,7 @@
175176
"Type": {
176177
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Models",
177178
"Name": "AzureAnalysisServicesServer",
178-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.0.3.0, Culture=neutral, PublicKeyToken=null",
179+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
179180
"Properties": {
180181
"AsAdministrators": "System.Collections.Generic.List`1[System.String]",
181182
"Id": "System.String",
@@ -184,6 +185,7 @@
184185
"ProvisioningState": "System.String",
185186
"ServerFullName": "System.String",
186187
"Sku": "Microsoft.Azure.Commands.AnalysisServices.Models.ServerSku",
188+
"State": "System.String",
187189
"Tag": "System.Collections.Generic.IDictionary`2[System.String,System.String]",
188190
"Type": "System.String"
189191
},
@@ -336,7 +338,7 @@
336338
"Type": {
337339
"Namespace": "System.Collections.Generic",
338340
"Name": "List",
339-
"AssemblyQualifiedName": "System.Collections.Generic.List`1[[Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.0.3.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
341+
"AssemblyQualifiedName": "System.Collections.Generic.List`1[[Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
340342
"Properties": {},
341343
"ElementType": null,
342344
"GenericTypeArguments": [
@@ -451,7 +453,7 @@
451453
"Type": {
452454
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Models",
453455
"Name": "AzureAnalysisServicesServer",
454-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.0.3.0, Culture=neutral, PublicKeyToken=null",
456+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
455457
"Properties": {
456458
"AsAdministrators": "System.Collections.Generic.List`1[System.String]",
457459
"Id": "System.String",
@@ -460,6 +462,7 @@
460462
"ProvisioningState": "System.String",
461463
"ServerFullName": "System.String",
462464
"Sku": "Microsoft.Azure.Commands.AnalysisServices.Models.ServerSku",
465+
"State": "System.String",
463466
"Tag": "System.Collections.Generic.IDictionary`2[System.String,System.String]",
464467
"Type": "System.String"
465468
},
@@ -612,7 +615,7 @@
612615
"Type": {
613616
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Models",
614617
"Name": "AzureAnalysisServicesServer",
615-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.0.3.0, Culture=neutral, PublicKeyToken=null",
618+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
616619
"Properties": {
617620
"AsAdministrators": "System.Collections.Generic.List`1[System.String]",
618621
"Id": "System.String",
@@ -621,6 +624,7 @@
621624
"ProvisioningState": "System.String",
622625
"ServerFullName": "System.String",
623626
"Sku": "Microsoft.Azure.Commands.AnalysisServices.Models.ServerSku",
627+
"State": "System.String",
624628
"Tag": "System.Collections.Generic.IDictionary`2[System.String,System.String]",
625629
"Type": "System.String"
626630
},
@@ -1008,7 +1012,7 @@
10081012
"Type": {
10091013
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Models",
10101014
"Name": "AzureAnalysisServicesServer",
1011-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.0.3.0, Culture=neutral, PublicKeyToken=null",
1015+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
10121016
"Properties": {
10131017
"AsAdministrators": "System.Collections.Generic.List`1[System.String]",
10141018
"Id": "System.String",
@@ -1017,6 +1021,7 @@
10171021
"ProvisioningState": "System.String",
10181022
"ServerFullName": "System.String",
10191023
"Sku": "Microsoft.Azure.Commands.AnalysisServices.Models.ServerSku",
1024+
"State": "System.String",
10201025
"Tag": "System.Collections.Generic.IDictionary`2[System.String,System.String]",
10211026
"Type": "System.String"
10221027
},
@@ -1438,7 +1443,7 @@
14381443
"Microsoft.Azure.Commands.AnalysisServices.Models.ServerSku": {
14391444
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Models",
14401445
"Name": "ServerSku",
1441-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.ServerSku, Microsoft.Azure.Commands.AnalysisServices, Version=0.0.3.0, Culture=neutral, PublicKeyToken=null",
1446+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.ServerSku, Microsoft.Azure.Commands.AnalysisServices, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
14421447
"Properties": {
14431448
"Name": "System.String",
14441449
"Tier": "System.String"
@@ -1460,7 +1465,7 @@
14601465
"Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer": {
14611466
"Namespace": "Microsoft.Azure.Commands.AnalysisServices.Models",
14621467
"Name": "AzureAnalysisServicesServer",
1463-
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.0.3.0, Culture=neutral, PublicKeyToken=null",
1468+
"AssemblyQualifiedName": "Microsoft.Azure.Commands.AnalysisServices.Models.AzureAnalysisServicesServer, Microsoft.Azure.Commands.AnalysisServices, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null",
14641469
"Properties": {
14651470
"AsAdministrators": "System.Collections.Generic.List`1[System.String]",
14661471
"Id": "System.String",
@@ -1469,6 +1474,7 @@
14691474
"ProvisioningState": "System.String",
14701475
"ServerFullName": "System.String",
14711476
"Sku": "Microsoft.Azure.Commands.AnalysisServices.Models.ServerSku",
1477+
"State": "System.String",
14721478
"Tag": "System.Collections.Generic.IDictionary`2[System.String,System.String]",
14731479
"Type": "System.String"
14741480
},

0 commit comments

Comments
 (0)