]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/MigrationTools/org/tianocore/migration/MsaWriter.java
add ModuleInfo2OutputPath Map
[mirror_edk2.git] / Tools / Source / MigrationTools / org / tianocore / migration / MsaWriter.java
index 2c3c97274e5ba3bde5400520e21dea6fdc4d8045..d6d836cc740eaf32f0c71d30179512fbd393314f 100644 (file)
@@ -20,15 +20,11 @@ import org.tianocore.SupportedArchitectures.Enum;
 import org.apache.xmlbeans.*;\r
 \r
 public class MsaWriter {\r
-       MsaWriter(String path, ModuleInfo moduleinfo, Database database) {\r
-               modulepath = path;\r
+       MsaWriter(ModuleInfo moduleinfo) {\r
                mi = moduleinfo;\r
-               db = database;\r
        }\r
 \r
-       private String modulepath;\r
        private ModuleInfo mi;\r
-       private Database db;\r
        \r
        private ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.newInstance();\r
        \r
@@ -51,6 +47,31 @@ public class MsaWriter {
                return answer;\r
        }\r
        \r
+       private void addSourceFiles (String name) {                                             // furthur modification needed\r
+               List<Enum> arch = new ArrayList<Enum>();\r
+               FilenameDocument.Filename filename;\r
+               filename = sourcefiles.addNewFilename();\r
+               filename.setStringValue(name);\r
+               \r
+               if (name.contains("x64" + File.separator)) {                            // filename ???\r
+                       arch.add(SupportedArchitectures.X_64);\r
+                       System.out.println("x64" + File.separator);\r
+                       filename.setSupArchList(arch);\r
+               } else if (name.contains("Ia32" + File.separator)) {            // filename ???\r
+                       arch.add(SupportedArchitectures.IA_32);\r
+                       System.out.println("Ia32" + File.separator);\r
+                       filename.setSupArchList(arch);\r
+               } else if (name.contains("Ipf" + File.separator)) {                     // filename ???\r
+                       arch.add(SupportedArchitectures.IPF);\r
+                       System.out.println("Ipf" + File.separator);\r
+                       filename.setSupArchList(arch);\r
+               } else if (name.contains("Ebc" + File.separator)) {                     // filename ???\r
+                       arch.add(SupportedArchitectures.EBC);\r
+                       System.out.println("Ebc" + File.separator);\r
+                       filename.setSupArchList(arch);\r
+               }\r
+       }\r
+       \r
        private ModuleSurfaceAreaDocument fulfillMsadoc() throws Exception {\r
                Iterator<String> it;\r
                String temp;\r
@@ -103,17 +124,9 @@ public class MsaWriter {
                externs.addNewSpecification().setStringValue("EDK_RELEASE_VERSION 0x00020000");\r
                externs.addNewExtern().setModuleEntryPoint(mi.entrypoint);\r
                \r
-               FilenameDocument.Filename filename;\r
                it = mi.localmodulesources.iterator();\r
-               //System.out.println(mi.localmodulesources);\r
                while (it.hasNext()) {\r
-                       temp = it.next();\r
-                       filename = sourcefiles.addNewFilename();\r
-                       filename.setStringValue(temp);\r
-                       //if (temp.contains("x64" + File.separator)) {\r
-                               //System.out.println("find");\r
-                               //filename.setSupArchList();\r
-                       //}\r
+                       addSourceFiles(it.next());\r
                }\r
                if (!mi.protocol.isEmpty()) {\r
                        protocols = msa.addNewProtocols();\r
@@ -168,8 +181,9 @@ public class MsaWriter {
         options.setSavePrettyPrintIndent(2);\r
         options.setUseDefaultNamespace();\r
         \r
-               BufferedWriter bw = new BufferedWriter(new FileWriter(modulepath + File.separator + "result" + File.separator + mi.modulename + ".msa"));\r
+               BufferedWriter bw = new BufferedWriter(new FileWriter(MigrationTool.ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename + File.separator + mi.modulename + ".msa"));\r
                fulfillMsadoc().save(bw, options);\r
+               //MsaTreeEditor.init(mi, ui, msadoc);\r
                bw.flush();\r
                bw.close();\r
        }\r