@@ -40,8 +40,10 @@ public void Analyze(String rootDirectory)
40
40
var moduleName = psd1FileName . Replace ( ".psd1" , "" ) ;
41
41
if ( ModuleFilter . IsAzureStackModule ( moduleName . Replace ( "Az." , "" ) ) ) continue ;
42
42
Console . WriteLine ( "Analyzing module: {0}" , moduleName ) ;
43
- var newModuleMetadata = MetadataLoader . GetModuleMetadata ( moduleName ) ;
44
43
var executingPath = Path . GetDirectoryName ( new Uri ( Assembly . GetExecutingAssembly ( ) . Location ) . AbsolutePath ) ;
44
+ Directory . SetCurrentDirectory ( executingPath ) ;
45
+ var newModuleMetadata = MetadataLoader . GetModuleMetadata ( moduleName ) ;
46
+ Console . WriteLine ( Path . Combine ( AppDomain . CurrentDomain . BaseDirectory , ".." , ".." ) ) ;
45
47
var filePath = Path . Combine ( executingPath , "SerializedCmdlets" , $ "{ moduleName } .json") ;
46
48
if ( ! File . Exists ( filePath ) ) continue ;
47
49
var oldModuleMetadata = ModuleMetadata . DeserializeCmdlets ( filePath ) ;
@@ -277,9 +279,25 @@ join newParam in newParameterMetadatas on oldParam.Name equals newParam.Name
277
279
{
278
280
CompareChangedParameterAliases ( moduleName , oldCmdletMetadata . Name , oldParameterMetadata , newParameterMetadata ) ;
279
281
CompareChangedParameterType ( moduleName , oldCmdletMetadata , oldParameterMetadata , newParameterMetadata ) ;
282
+ CompareChangedParameterAttribute ( moduleName , oldCmdletMetadata , oldParameterMetadata , newParameterMetadata ) ;
283
+ }
284
+ }
285
+ void CompareChangedParameterAttribute ( string moduleName , CmdletMetadata oldCmdletMetadata , ParameterMetadata oldParameterMetadata ,
286
+ ParameterMetadata newParameterMetadata )
287
+ {
288
+ if ( oldParameterMetadata . ValidateNotNullOrEmpty != newParameterMetadata . ValidateNotNullOrEmpty )
289
+ {
290
+ diffInfo . Add ( new CmdletDiffInformation ( )
291
+ {
292
+ ModuleName = moduleName ,
293
+ CmdletName = oldCmdletMetadata . Name ,
294
+ Type = ChangeType . ParameterAttributeChange ,
295
+ ParameterName = newParameterMetadata . Name ,
296
+ Before = new List < string > { oldParameterMetadata . ValidateNotNullOrEmpty . ToString ( ) } ,
297
+ After = new List < string > { newParameterMetadata . ValidateNotNullOrEmpty . ToString ( ) } ,
298
+ } ) ;
280
299
}
281
300
}
282
-
283
301
private void CompareChangedParameterAliases ( string moduleName , string cmdletName , ParameterMetadata oldParameterMetadata , ParameterMetadata newParameterMetadata )
284
302
{
285
303
if ( ! ( oldParameterMetadata . AliasList . Count == newParameterMetadata . AliasList . Count
@@ -393,11 +411,25 @@ public void GenerateMarkdown(string filePath)
393
411
{
394
412
if ( diffInfo [ i ] . Type == ChangeType . CmdletAdd )
395
413
{
396
- sb . AppendFormat ( "* Added cmdlet `{0}`\n " , diffInfo [ i ] . CmdletName ) ;
414
+ if ( diffInfo [ i ] . Type == diffInfo [ i - 1 ] . Type ) {
415
+ sb . AppendFormat ( ", `{0}`" , diffInfo [ i ] . CmdletName ) ;
416
+ if ( i + 1 == diffInfo . Count || diffInfo [ i ] . Type != diffInfo [ i + 1 ] . Type ) {
417
+ sb . AppendFormat ( "\n " ) ;
418
+ }
419
+ } else {
420
+ sb . AppendFormat ( "* Added cmdlet `{0}`" , diffInfo [ i ] . CmdletName ) ;
421
+ }
397
422
}
398
423
else if ( diffInfo [ i ] . Type == ChangeType . CmdletRemove )
399
424
{
400
- sb . AppendFormat ( "* Removed cmdlet `{0}`\n " , diffInfo [ i ] . CmdletName ) ;
425
+ if ( diffInfo [ i ] . Type == diffInfo [ i - 1 ] . Type ) {
426
+ sb . AppendFormat ( ", `{0}`" , diffInfo [ i ] . CmdletName ) ;
427
+ if ( i + 1 == diffInfo . Count || diffInfo [ i ] . Type != diffInfo [ i + 1 ] . Type ) {
428
+ sb . AppendFormat ( "\n " ) ;
429
+ }
430
+ } else {
431
+ sb . AppendFormat ( "* Removed cmdlet `{0}`" , diffInfo [ i ] . CmdletName ) ;
432
+ }
401
433
}
402
434
else
403
435
{
@@ -484,6 +516,10 @@ private string GetDescription_ParameterTypeChange(CmdletDiffInformation info)
484
516
{
485
517
return $ "Changed the type of parameter `-{ info . ParameterName } ` from `{ info . Before [ 0 ] } ` to `{ info . After [ 0 ] } `";
486
518
}
519
+ private string GetDescription_ParameterAttributeChange ( CmdletDiffInformation info )
520
+ {
521
+ return $ "Parameter `-{ info . ParameterName } ` ValidateNotNullOrEmpty changed from { info . Before [ 0 ] } to { info . After [ 0 ] } ";
522
+ }
487
523
488
524
private string GetDescription_OutputTypeChange ( CmdletDiffInformation info )
489
525
{
0 commit comments