]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/global/Spd.java
added the support for new schema and old schema at the same time
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / global / Spd.java
index 54c13910941c1a18d871d86674034c6c0a9bb4c5..72efa7eba778b64c163b77b940e4a693e80c0037 100644 (file)
@@ -18,14 +18,15 @@ import java.util.HashMap;
 import java.util.List;\r
 import java.util.Map;\r
 \r
-import org.tianocore.PackageSurfaceAreaDocument;\r
 import org.tianocore.GuidDeclarationsDocument.GuidDeclarations;\r
 import org.tianocore.IncludeHeaderDocument.IncludeHeader;\r
 import org.tianocore.LibraryClassDeclarationDocument.LibraryClassDeclaration;\r
 import org.tianocore.LibraryClassDeclarationsDocument.LibraryClassDeclarations;\r
 import org.tianocore.PackageHeadersDocument.PackageHeaders;\r
+import org.tianocore.PackageSurfaceAreaDocument;\r
 import org.tianocore.PackageSurfaceAreaDocument.PackageSurfaceArea;\r
 import org.tianocore.PpiDeclarationsDocument.PpiDeclarations;\r
+import org.tianocore.PpiDeclarationsDocument.PpiDeclarations.Entry;\r
 import org.tianocore.ProtocolDeclarationsDocument.ProtocolDeclarations;\r
 \r
 /**\r
@@ -125,15 +126,14 @@ public class Spd {
 \r
         if (packageHeader != null) {\r
             List<IncludeHeader> headerList = packageHeader.getIncludeHeaderList();\r
+            IncludeHeader       header;\r
+\r
             for (int i = 0; i < headerList.size(); i++) {\r
+                header = (IncludeHeader)headerList.get(i);\r
                 try {\r
-                    this.moduleInfo\r
-                                    .put(headerList.get(i).getModuleType()\r
-                                                    .toString(), headerList.get(i)\r
-                                                    .getStringValue());\r
+                    this.moduleInfo.put(header.getModuleType().toString(), header.getStringValue());\r
                 } catch (Exception e) {\r
-                    System.out\r
-                                    .print("can't find ModuleHeaders ModuleType & includeHeader!\n");\r
+                    System.out.print("can't find ModuleHeaders ModuleType & includeHeader!\n");\r
                 }\r
             }\r
         }\r
@@ -149,19 +149,26 @@ public class Spd {
   **/\r
     public void genPpiInfoList(PpiDeclarations ppiInfo) {\r
         String[] cNameGuid = new String[2];\r
+        String   guidString;\r
 \r
         if (ppiInfo != null) {\r
             List<PpiDeclarations.Entry> ppiEntryList = ppiInfo.getEntryList();\r
+            PpiDeclarations.Entry       ppiEntry;\r
+\r
             for (int i = 0; i < ppiEntryList.size(); i++) {\r
+                ppiEntry = (PpiDeclarations.Entry)ppiEntryList.get(i);\r
                 try {\r
-                    cNameGuid[0] = ppiEntryList.get(i).getCName();\r
-                    cNameGuid[1] = formatGuidName(ppiEntryList.get(i)\r
-                                    .getGuid().getStringValue());\r
-                    this.ppiInfo.put(ppiEntryList.get(i).getName(), new String[] {\r
-                                    cNameGuid[0], cNameGuid[1] });\r
+                    if (ppiEntry.isSetGuidValue()) {\r
+                        guidString = ppiEntry.getGuidValue();\r
+                    } else {\r
+                        guidString = ppiEntry.getGuid().getStringValue();\r
+                    }\r
+\r
+                    cNameGuid[0] = ppiEntry.getCName();\r
+                    cNameGuid[1] = formatGuidName(guidString);\r
+                    this.ppiInfo.put(ppiEntry.getName(), new String[] { cNameGuid[0], cNameGuid[1] });\r
                 } catch (Exception e) {\r
-                    System.out\r
-                                    .print("can't find GuidDeclarations C_Name & Guid!\n");\r
+                    System.out.print("can't find GuidDeclarations C_Name & Guid!\n");\r
                 }\r
             }\r
         }\r
@@ -177,20 +184,26 @@ public class Spd {
     **/\r
     public void genProtocolInfoList(ProtocolDeclarations proInfo) {\r
         String[] cNameGuid = new String[2];\r
+        String   guidString;\r
+\r
         if (proInfo != null) {\r
             List<ProtocolDeclarations.Entry> protocolEntryList = proInfo.getEntryList();\r
+            ProtocolDeclarations.Entry       protocolEntry;\r
             for (int i = 0; i < protocolEntryList.size(); i++) {\r
+                protocolEntry = (ProtocolDeclarations.Entry)protocolEntryList.get(i);\r
                 try {\r
-                    cNameGuid[0] = protocolEntryList.get(i).getCName();\r
-                    cNameGuid[1] = formatGuidName(protocolEntryList.get(i)\r
-                                    .getGuid().getStringValue());\r
-\r
-                    String temp = new String(protocolEntryList.get(i).getName());\r
-                    this.protocolInfo.put(temp, new String[] { cNameGuid[0],\r
-                                    cNameGuid[1] });\r
+                    if (protocolEntry.isSetGuidValue()) {\r
+                        guidString = protocolEntry.getGuidValue();\r
+                    } else {\r
+                        guidString = protocolEntry.getGuid().getStringValue();\r
+                    }\r
+                    cNameGuid[0] = protocolEntry.getCName();\r
+                    cNameGuid[1] = formatGuidName(guidString);\r
+\r
+                    String temp = new String(protocolEntry.getName());\r
+                    this.protocolInfo.put(temp, new String[] { cNameGuid[0], cNameGuid[1] });\r
                 } catch (Exception e) {\r
-                    System.out\r
-                                    .print("can't find ProtocolDeclarations C_Name & Guid!\n");\r
+                    System.out.print("can't find ProtocolDeclarations C_Name & Guid!\n");\r
                 }\r
             }\r
         }\r
@@ -207,15 +220,23 @@ public class Spd {
     **/\r
     public void genGuidInfoList(GuidDeclarations guidInfo) {\r
         String[] cNameGuid = new String[2];\r
+        String   guidString;\r
+\r
         if (guidInfo != null) {\r
             \r
-            List<GuidDeclarations.Entry> guidEntryList = guidInfo.getEntryList();\r
+            List<GuidDeclarations.Entry>    guidEntryList = guidInfo.getEntryList();\r
+            GuidDeclarations.Entry          guidEntry;\r
             for (int i = 0; i < guidEntryList.size(); i++) {\r
-                cNameGuid[0] = guidEntryList.get(i).getCName();\r
-                cNameGuid[1] = formatGuidName(guidEntryList.get(i)\r
-                                .getGuid().getStringValue());\r
-                this.guidInfo.put(guidEntryList.get(i).getName(), new String[] {\r
-                                cNameGuid[0], cNameGuid[1] });\r
+                guidEntry = (GuidDeclarations.Entry)guidEntryList.get(i);\r
+                if (guidEntry.isSetGuidValue()) {\r
+                    guidString = guidEntry.getGuidValue();\r
+                } else {\r
+                    guidString = guidEntry.getGuid().getStringValue();\r
+                }\r
+                    \r
+                cNameGuid[0] = guidEntry.getCName();\r
+                cNameGuid[1] = formatGuidName(guidString);\r
+                this.guidInfo.put(guidEntry.getName(), new String[] {cNameGuid[0], cNameGuid[1] });\r
             }\r
         }\r
     }\r