git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1760
6f19259b-4bc3-4df7-8a09-
765794883524
BufferedReader rd = new BufferedReader(new FileReader(DatabasePath + File.separator + filename));\r
String line;\r
String[] linecontext;\r
BufferedReader rd = new BufferedReader(new FileReader(DatabasePath + File.separator + filename));\r
String line;\r
String[] linecontext;\r
\r
if (rd.ready()) {\r
System.out.println("Found " + filename + ", Importing Package Guid Database.");\r
\r
if (rd.ready()) {\r
System.out.println("Found " + filename + ", Importing Package Guid Database.");\r
\r
import java.util.regex.*;\r
\r
\r
import java.util.regex.*;\r
\r
+import org.tianocore.UsageTypes;\r
+\r
public class Guid {\r
Guid (String r8, String t, String n, String r9, String gv, String p) {\r
r8name = r8;\r
public class Guid {\r
Guid (String r8, String t, String n, String r9, String gv, String p) {\r
r8name = r8;\r
if (MigrationTool.db.hasGuid(temp)) { // only changed guids registered, because both changed and not changed guids are included in database\r
type = MigrationTool.db.getGuidType(temp);\r
if (type.matches("Protocol")) {\r
if (MigrationTool.db.hasGuid(temp)) { // only changed guids registered, because both changed and not changed guids are included in database\r
type = MigrationTool.db.getGuidType(temp);\r
if (type.matches("Protocol")) {\r
- mi.protocols.add(temp);\r
+ mi.addProtocol(temp, UsageTypes.ALWAYS_CONSUMED);\r
+ //mi.protocols.add(temp);\r
} else if (type.matches("Ppi")) {\r
} else if (type.matches("Ppi")) {\r
+ mi.addPpi(temp, UsageTypes.ALWAYS_CONSUMED);\r
+ //mi.ppis.add(temp);\r
} else if (type.matches("Guid")) {\r
} else if (type.matches("Guid")) {\r
+ mi.addGuid(temp, UsageTypes.ALWAYS_CONSUMED);\r
+ //mi.guids.add(temp);\r
show(mi.hashnonlocalfunc, "nonlocal : ");\r
show(mi.hashr8only, "hashr8only : ");\r
}\r
show(mi.hashnonlocalfunc, "nonlocal : ");\r
show(mi.hashr8only, "hashr8only : ");\r
}\r
new MsaWriter(mi).flush();\r
\r
new MsaWriter(mi).flush();\r
\r
- mi.addProtocol("protocol", UsageTypes.ALWAYS_CONSUMED);\r
- mi.addGuid("guid", UsageTypes.ALWAYS_CONSUMED);\r
- mi.addLibraryClass("class", UsageTypes.ALWAYS_CONSUMED);\r
- mi.addPpi("ppi", UsageTypes.ALWAYS_CONSUMED);\r
- mi.getMsaOwner().flush(MigrationTool.ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename + File.separator + mi.modulename + ".___");\r
- \r
+ //mi.getMsaOwner().flush(MigrationTool.ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename + File.separator + mi.modulename + ".___");\r
+\r
if (MigrationTool.doCritic) {\r
Critic.fireAt(ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename);\r
}\r
if (MigrationTool.doCritic) {\r
Critic.fireAt(ModuleInfoMap.get(mi) + File.separator + "Migration_" + mi.modulename);\r
}\r
import java.util.*;\r
\r
import org.tianocore.UsageTypes;\r
import java.util.*;\r
\r
import org.tianocore.UsageTypes;\r
+import org.tianocore.SupportedArchitectures.Enum;\r
\r
/*\r
Class ModuleInfo is built for scanning the source files, it contains all the needed\r
\r
/*\r
Class ModuleInfo is built for scanning the source files, it contains all the needed\r
\r
//-----------------------------------------------------------------------------------//\r
\r
\r
//-----------------------------------------------------------------------------------//\r
\r
+ //addModuleType\r
+ //addGuidValue\r
+ //addModuleName\r
+ \r
+ public final boolean addSourceFile (String filename, Enum en) {\r
+ localmodulesources.add(filename);\r
+ return msaowner.addSourceFile(filename, en);\r
+ }\r
+ \r
public final boolean addProtocol (String proname, UsageTypes.Enum usage) {\r
public final boolean addProtocol (String proname, UsageTypes.Enum usage) {\r
- //protocols.add(proname);\r
+ protocols.add(proname);\r
return msaowner.addProtocol(proname, usage);\r
}\r
\r
public final boolean addPpi (String ppiname, UsageTypes.Enum usage) {\r
return msaowner.addProtocol(proname, usage);\r
}\r
\r
public final boolean addPpi (String ppiname, UsageTypes.Enum usage) {\r
return msaowner.addPpi(ppiname, usage);\r
}\r
\r
public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\r
return msaowner.addPpi(ppiname, usage);\r
}\r
\r
public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\r
- //guids.add(guidname);\r
return msaowner.addGuid(guidname, usage);\r
}\r
\r
public final boolean addLibraryClass(String name, UsageTypes.Enum usage) {\r
return msaowner.addGuid(guidname, usage);\r
}\r
\r
public final boolean addLibraryClass(String name, UsageTypes.Enum usage) {\r
- //hashrequiredr9libs.add(name);\r
- return msaowner.addLibraryClass(name, usage);\r
+ //\r
+ // This section is only for adding library classes, this functionality should be inside MsaOwner!!!\r
+ //\r
+ //if (!hashrequiredr9libs.contains(name)) {\r
+ msaowner.addLibraryClass(name, usage);\r
+ //}\r
+ //\r
+ hashrequiredr9libs.add(name);\r
+ return true;\r
}\r
\r
//-----------------------------------------------------------------------------------//\r
}\r
\r
//-----------------------------------------------------------------------------------//\r
String temp = null;\r
if (filepath.contains(".c") || filepath.contains(".C") || filepath.contains(".h") || \r
filepath.contains(".H") || filepath.contains(".dxs") || filepath.contains(".uni")) {\r
String temp = null;\r
if (filepath.contains(".c") || filepath.contains(".C") || filepath.contains(".h") || \r
filepath.contains(".H") || filepath.contains(".dxs") || filepath.contains(".uni")) {\r
- localmodulesources.add(filepath.replace(modulepath + File.separator, ""));\r
+ addSourceFile(filepath.replace(modulepath + File.separator, ""), null);\r
} else if (filepath.contains(".inf") || filepath.contains(".msa")) {\r
temp = filepath.replace(modulepath + File.separator, "");\r
if (!temp.contains(File.separator)) { // .inf in subdirectory is not regarded\r
} else if (filepath.contains(".inf") || filepath.contains(".msa")) {\r
temp = filepath.replace(modulepath + File.separator, "");\r
if (!temp.contains(File.separator)) { // .inf in subdirectory is not regarded\r
//-----------------------------msaheader-------------------------------------//\r
\r
public final boolean addLibraryClass (String name, UsageTypes.Enum usage) {\r
//-----------------------------msaheader-------------------------------------//\r
\r
public final boolean addLibraryClass (String name, UsageTypes.Enum usage) {\r
- Iterator<LibraryClassDocument.LibraryClass> classit = libclassdefs.getLibraryClassList().iterator();\r
- while (classit.hasNext()) {\r
- if (classit.next().getKeyword() == name) {\r
- MigrationTool.ui.println ("Warning: Duplicate LibraryClass");\r
- return false;\r
+ /*\r
+ if (!libclassdefs.getLibraryClassList().contains(name)) {\r
+ LibraryClassDocument.LibraryClass classname;\r
+ classname = libclassdefs.addNewLibraryClass();\r
+ classname.setKeyword(name);\r
+ classname.setUsage(usage);\r
+ return true;\r
+ } else {\r
+ return false;\r
+ }\r
+ */\r
+ if (name == null) {\r
+ return false;\r
+ } else {\r
+ Iterator<LibraryClassDocument.LibraryClass> classit = libclassdefs.getLibraryClassList().iterator();\r
+ while (classit.hasNext()) {\r
+ if (classit.next().getKeyword().matches(name)) {\r
+ //MigrationTool.ui.println ("Warning: Duplicate LibraryClass");\r
+ return false;\r
+ }\r
- }\r
- \r
- LibraryClassDocument.LibraryClass classname;\r
- classname = libclassdefs.addNewLibraryClass();\r
- classname.setKeyword(name);\r
- classname.setUsage(usage);\r
- return true;\r
+ \r
+ LibraryClassDocument.LibraryClass classname;\r
+ classname = libclassdefs.addNewLibraryClass();\r
+ classname.setKeyword(name);\r
+ classname.setUsage(usage);\r
+ return true;\r
+ \r
+ }\r
}\r
\r
public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\r
}\r
\r
public final boolean addGuid (String guidname, UsageTypes.Enum usage) {\r
Iterator<GuidsDocument.Guids.GuidCNames> guidit = guids.getGuidCNamesList().iterator();\r
while (guidit.hasNext()) {\r
if (guidit.next().getGuidCName() == guidname) {\r
Iterator<GuidsDocument.Guids.GuidCNames> guidit = guids.getGuidCNamesList().iterator();\r
while (guidit.hasNext()) {\r
if (guidit.next().getGuidCName() == guidname) {\r
- MigrationTool.ui.println ("Warning: Duplicate Guid");\r
+ //MigrationTool.ui.println ("Warning: Duplicate Guid");\r
Iterator<PPIsDocument.PPIs.Ppi> ppiit = ppis.getPpiList().iterator();\r
while (ppiit.hasNext()) {\r
if (ppiit.next().getPpiCName() == ppiname) {\r
Iterator<PPIsDocument.PPIs.Ppi> ppiit = ppis.getPpiList().iterator();\r
while (ppiit.hasNext()) {\r
if (ppiit.next().getPpiCName() == ppiname) {\r
- MigrationTool.ui.println ("Warning: Duplicate Ppi");\r
+ //MigrationTool.ui.println ("Warning: Duplicate Ppi");\r
Iterator<ProtocolsDocument.Protocols.Protocol> proit = protocols.getProtocolList().iterator();\r
while (proit.hasNext()) {\r
if (proit.next().getProtocolCName() == proname) {\r
Iterator<ProtocolsDocument.Protocols.Protocol> proit = protocols.getProtocolList().iterator();\r
while (proit.hasNext()) {\r
if (proit.next().getProtocolCName() == proname) {\r
- MigrationTool.ui.println ("Warning: Duplicate Protocol");\r
+ //MigrationTool.ui.println ("Warning: Duplicate Protocol");\r
}\r
//-----------------------------msaheader-------------------------------------//\r
\r
}\r
//-----------------------------msaheader-------------------------------------//\r
\r
+ private final void fullfill () throws Exception {\r
+ addCopyRight(null);\r
+ addVersion(null);\r
+ addAbstract(null);\r
+ addDescription(null);\r
+ addLicense(null);\r
+ addSpecification(null);\r
+ }\r
+ \r
public final void flush(String outputpath) throws Exception {\r
XmlOptions options = new XmlOptions();\r
\r
public final void flush(String outputpath) throws Exception {\r
XmlOptions options = new XmlOptions();\r
\r
options.setUseDefaultNamespace();\r
\r
BufferedWriter bw = new BufferedWriter(new FileWriter(outputpath));\r
options.setUseDefaultNamespace();\r
\r
BufferedWriter bw = new BufferedWriter(new FileWriter(outputpath));\r
msadoc.save(bw, options);\r
bw.flush();\r
bw.close();\r
msadoc.save(bw, options);\r
bw.flush();\r
bw.close();\r
import java.util.regex.Matcher;\r
import java.util.regex.Pattern;\r
\r
import java.util.regex.Matcher;\r
import java.util.regex.Pattern;\r
\r
+import org.tianocore.UsageTypes;\r
+\r
public final class SourceFileReplacer implements Common.ForDoAll {\r
private static final SourceFileReplacer SFReplacer = new SourceFileReplacer();\r
private ModuleInfo mi;\r
public final class SourceFileReplacer implements Common.ForDoAll {\r
private static final SourceFileReplacer SFReplacer = new SourceFileReplacer();\r
private ModuleInfo mi;\r
it = symbolSet.iterator();\r
while (it.hasNext()) {\r
r8thing = it.next();\r
it = symbolSet.iterator();\r
while (it.hasNext()) {\r
r8thing = it.next();\r
- mi.hashrequiredr9libs.add(MigrationTool.db.getR9Lib(r8thing)); // add a library here\r
+ mi.addLibraryClass(MigrationTool.db.getR9Lib(r8thing), UsageTypes.ALWAYS_CONSUMED);\r
+ //mi.hashrequiredr9libs.add(MigrationTool.db.getR9Lib(r8thing)); // add a library here\r
\r
r8tor9 temp;\r
if ((r9thing = MigrationTool.db.getR9Func(r8thing)) != null) {\r
\r
r8tor9 temp;\r
if ((r9thing = MigrationTool.db.getR9Func(r8thing)) != null) {\r