]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/global/OverrideProcess.java
added the support for new schema and old schema at the same time
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / global / OverrideProcess.java
index 9354def6ba38b8864d57d4d42516d3ea44410686..60f430f4588bb8117fa213cd0c44c43603a7e440 100644 (file)
@@ -42,6 +42,7 @@ import org.tianocore.ProtocolsDocument;
 import org.tianocore.SourceFilesDocument;\r
 import org.tianocore.SystemTablesDocument;\r
 import org.tianocore.VariablesDocument;\r
+import org.tianocore.PackageDependenciesDocument;\r
 \r
 /**\r
   This class is used to override surface area information. For example, MBD can\r
@@ -110,7 +111,7 @@ public class OverrideProcess {
     /// list of top elements of surface area\r
     ///\r
     public static String[] topElements = { "LibraryClassDefinitions",\r
-                    "SourceFiles", "Includes", "Libraries", "Protocols",\r
+                    "SourceFiles", "Includes", "PackageDependencies", "Libraries", "Protocols",\r
                     "Events", "Hobs", "PPIs", "Variables", "BootModes",\r
                     "SystemTables", "DataHubs", "Formsets", "Guids", "Externs",\r
                     "PcdCoded", "BuildOptions" };\r
@@ -178,6 +179,10 @@ public class OverrideProcess {
             newMap.put("Includes", ((IncludesDocument) map.get("Includes"))\r
                             .getIncludes());\r
         }\r
+        if (map.get("PackageDependencies") != null) {\r
+            newMap.put("PackageDependencies", ((PackageDependenciesDocument) map.get("PackageDependencies"))\r
+                            .getPackageDependencies());\r
+        }\r
         if (map.get("Libraries") != null) {\r
             newMap.put("Libraries", ((LibrariesDocument) map.get("Libraries"))\r
                             .getLibraries());\r
@@ -285,8 +290,11 @@ public class OverrideProcess {
         result.put("MsaHeader", override(l.get("MsaHeader"), null));\r
         result.put("MsaLibHeader", override(l.get("MsaLibHeader"), null));\r
         for (int i = 0; i < topElements.length; i++) {\r
-            result.put(topElements[i], override(h.get(topElements[i]), l\r
-                            .get(topElements[i])));\r
+            if (h != null) {\r
+                result.put(topElements[i], override(h.get(topElements[i]), l.get(topElements[i])));\r
+            } else {\r
+                result.put(topElements[i], override(l.get(topElements[i]), null));\r
+            }\r
         }\r
         return result;\r
     }\r
@@ -310,8 +318,7 @@ public class OverrideProcess {
         }\r
         XmlCursor hc = h.newCursor();\r
         if (h.getClass() != l.getClass()) {\r
-            System.out\r
-                            .println("Error: Two XmlObject does not with compliant format.");\r
+            System.out.println("Error: Two XmlObject does not with compliant format.");\r
             return null;\r
         }\r
         if (!hc.toFirstChild()) {\r