package org.tianocore.migration;\r
\r
import java.io.File;\r
-import java.util.Set;\r
+import java.util.*;\r
\r
public class MigrationTool {\r
public static UI ui = null;\r
public static boolean printModuleInfo = false;\r
public static boolean doCritic = false;\r
public static boolean defaultoutput = false;\r
+ \r
+ public static final HashMap<ModuleInfo, String> ModuleInfoMap = new HashMap<ModuleInfo, String>();\r
\r
private static final void mainFlow(ModuleInfo mi) throws Exception {\r
\r
ModuleReader.ModuleScan(mi);\r
+ \r
//MigrationTool.ui.yesOrNo("go on replace?");\r
SourceFileReplacer.flush(mi); // some adding library actions are taken here,so it must be put before "MsaWriter"\r
\r
//MigrationTool.ui.yesOrNo("go on critic?");\r
\r
if (MigrationTool.doCritic) {\r
- Critic.fireAt(mi.outputpath + File.separator + "Migration_" + mi.modulename);\r
+ Critic.fireAt(ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename);\r
}\r
\r
//MigrationTool.ui.yesOrNo("go on delete?");\r
MigrationTool.ui.println(hash);\r
}\r
\r
+ private static final String assignOutPutPath(String inputpath) {\r
+ if (MigrationTool.defaultoutput) {\r
+ return inputpath.replaceAll(Common.strseparate, "$1");\r
+ } else {\r
+ return MigrationTool.ui.getFilepath("Please choose where to place the output module");\r
+ }\r
+ }\r
+ \r
public static final void seekModule(String filepath) throws Exception {\r
if (ModuleInfo.isModule(filepath)) {\r
- mainFlow(new ModuleInfo(filepath));\r
+ ModuleInfoMap.put(new ModuleInfo(filepath), assignOutPutPath(filepath));\r
}\r
}\r
\r
MigrationTool.ui.println("Project Migration");\r
MigrationTool.ui.println("Copyright (c) 2006, Intel Corporation");\r
Common.toDoAll(path, MigrationTool.class.getMethod("seekModule", String.class), null, null, Common.DIR);\r
+ \r
+ Iterator<ModuleInfo> miit = ModuleInfoMap.keySet().iterator();\r
+ while (miit.hasNext()) {\r
+ mainFlow(miit.next());\r
+ }\r
+ \r
+ ModuleInfoMap.clear();\r
}\r
\r
public static void main(String[] args) throws Exception {\r