]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java
do not generate version attributes when saving module order information in FV if...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdFileContents.java
index d9c2e69f0c931e5c822907a5d87fe9753e5ab288..6ca15710c291dc6b05879f6fad3fb533bf5c1f8c 100644 (file)
@@ -190,7 +190,7 @@ public class FpdFileContents {
         return fpdFrameworkModules;\r
     }\r
     \r
-    public void getFrameworkModuleGuid (String fvName, Vector<String> vGuid) {\r
+    public void getFrameworkModuleSAByFvBinding (String fvName, Vector<String[]> vGuid) {\r
         if (getFrameworkModulesCount() == 0){\r
             return;\r
         }\r
@@ -208,8 +208,15 @@ public class FpdFileContents {
             \r
             String[] fvNames = fvBinding.split(" ");\r
             for (int i = 0; i < fvNames.length; ++i) {\r
+                //\r
+                // BugBug : underscore "_" should not be replaced!!! \r
+                // But Fv name FVMAIN from fdf file not consist with FV_MAIN in fpd file.\r
+                //\r
                 if (fvNames[i].equals(fvName) || fvNames[i].replaceAll("_", "").equals(fvName)) {\r
-                    vGuid.add(moduleSa.getModuleGuid());\r
+                    String[] sa = new String[] {moduleSa.getModuleGuid(), moduleSa.getModuleVersion(),\r
+                                                moduleSa.getPackageGuid(), moduleSa.getPackageVersion(), \r
+                                                listToString(moduleSa.getSupArchList())};\r
+                    vGuid.add(sa);\r
                     break;\r
                 }\r
             }\r
@@ -964,14 +971,9 @@ public class FpdFileContents {
         setFvBinding (moduleSa, newFvNameList.trim());\r
     }\r
     \r
-    public void updateFvBindingInModuleSA (ModuleIdentification mi, String fvName) {\r
-        Vector<Object> vSupArchs = new Vector<Object>();\r
-        getPlatformDefsSupportedArchs(vSupArchs);\r
-        String moduleInfo = mi.getGuid() + " " + mi.getVersion() + " " + mi.getPackageId().getGuid() + " " + mi.getPackageId().getVersion();\r
-        for (int i = 0; i < vSupArchs.size(); ++i) {\r
-            String moduleKey = moduleInfo + " " + vSupArchs.get(i);\r
-            appendFvBinding (moduleKey, fvName);\r
-        }\r
+    public void updateFvBindingInModuleSA (String moduleKey, String fvName) {\r
+       \r
+        appendFvBinding (moduleKey, fvName);\r
     }\r
     \r
     public String getFfsFileNameGuid(String moduleKey){\r
@@ -1759,7 +1761,15 @@ public class FpdFileContents {
         for (int i = 0; i < includeModules.size(); ++i) {\r
             cursor.beginElement(elementModule);\r
             cursor.insertAttributeWithValue("ModuleGuid", includeModules.get(i)[0]);\r
-            cursor.insertAttributeWithValue("BaseName", includeModules.get(i)[1]);\r
+            if (!includeModules.get(i)[1].equals("null") && includeModules.get(i)[1].length() != 0) {\r
+                cursor.insertAttributeWithValue("ModuleVersion", includeModules.get(i)[1]);\r
+            }\r
+            cursor.insertAttributeWithValue("PackageGuid", includeModules.get(i)[2]);\r
+            if (!includeModules.get(i)[3].equals("null") && includeModules.get(i)[3].length() != 0) {\r
+                cursor.insertAttributeWithValue("PackageVersion", includeModules.get(i)[3]);\r
+            }\r
+            \r
+            cursor.insertAttributeWithValue("Arch", includeModules.get(i)[4]);\r
             cursor.toEndToken();\r
             cursor.toNextToken();\r
         }\r
@@ -1807,7 +1817,10 @@ public class FpdFileContents {
         QName elementFvName = new QName (xmlNs, "FvName");\r
         QName elementIncludeModules = new QName(xmlNs, "IncludeModules");\r
         QName attribModuleGuid = new QName("ModuleGuid");\r
-        QName attribBaseName = new QName("BaseName");\r
+        QName attribModuleVersion = new QName("ModuleVersion");\r
+        QName attribPackageGuid = new QName("PackageGuid");\r
+        QName attribPackageVersion = new QName("PackageVersion");\r
+        QName attribArch = new QName("Arch");\r
         \r
         if (cursor.toChild(elementUserExts)) {\r
             do {\r
@@ -1821,7 +1834,10 @@ public class FpdFileContents {
                             int i = 0;\r
                             do {\r
                                 saa[i][0] = cursor.getAttributeText(attribModuleGuid);\r
-                                saa[i][1] = cursor.getAttributeText(attribBaseName);\r
+                                saa[i][1] = cursor.getAttributeText(attribModuleVersion);\r
+                                saa[i][2] = cursor.getAttributeText(attribPackageGuid);\r
+                                saa[i][3] = cursor.getAttributeText(attribPackageVersion);\r
+                                saa[i][4] = cursor.getAttributeText(attribArch);\r
                                 ++i;\r
                             }while (cursor.toNextSibling());\r
                         }\r