@@ -38,12 +38,13 @@ public override bool Execute()
3838 Log . LogMessage ( MessageImportance . High , "Base manifest file : {0}" , MainManifestFile ) ;
3939
4040 foreach ( var subManifest in subManifestFileList )
41- Log . LogMessage ( MessageImportance . High , "Sub manifest file : {0}" , subManifest . ItemSpec ) ;
41+ Log . LogMessage ( MessageImportance . High , "Sub manifest file new : {0}" , subManifest . ItemSpec ) ;
4242
43- Log . LogMessage ( MessageImportance . High , "Result manifest file : {0}" , ResultManifestFile ) ;
43+ Log . LogMessage ( MessageImportance . High , "Result manifest file new : {0}" , ResultManifestFile ) ;
4444
4545 var mainDoc = XDocument . Load ( MainManifestFile ) ;
4646 var ns = mainDoc . Root . GetDefaultNamespace ( ) ;
47+ var processedManifests = new List < string > ( ) ;
4748
4849 //Merge sub manifest to base manifest
4950 foreach ( var subManifest in subManifestFileList )
@@ -54,9 +55,17 @@ public override bool Execute()
5455 return ! Log . HasLoggedErrors ;
5556 }
5657
58+
59+ if ( processedManifests . Contains ( subManifest . ItemSpec ) )
60+ {
61+ Log . LogMessage ( MessageImportance . High , "Skipping duplicate sub manifest file : {0}" , subManifest . ItemSpec ) ;
62+ continue ;
63+ }
64+
5765 var subDoc = XDocument . Load ( subManifest . ItemSpec ) ;
5866
5967 var subElemList = subDoc . Root . Elements ( ) ;
68+
6069 foreach ( var subapp in subElemList )
6170 {
6271 if ( subapp . Name . LocalName == "ui-application" ||
@@ -95,6 +104,7 @@ public override bool Execute()
95104 mainDoc . Root . Add ( subapp ) ;
96105 }
97106 }
107+ processedManifests . Add ( subManifest . ItemSpec ) ;
98108 }
99109
100110 // Remove duplicate privilege
@@ -159,4 +169,4 @@ public int Compare(XElement x, XElement y)
159169 return x_order - y_order ;
160170 }
161171 }
162- }
172+ }
0 commit comments