X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FMigrationTools%2Forg%2Ftianocore%2Fmigration%2FModuleInfo.java;h=b6cd6330d4a979fb0f6956bed2b747c9df0560a4;hp=428f82b659e44b0584f69e44f6b0919499020c81;hb=8554faeb7d9dc858c56d6cdfc0e449b152ce52d7;hpb=5f4eb6b6d5eb39012da23c16fdf3f9d988f9db06 diff --git a/Tools/Source/MigrationTools/org/tianocore/migration/ModuleInfo.java b/Tools/Source/MigrationTools/org/tianocore/migration/ModuleInfo.java index 428f82b659..b6cd6330d4 100644 --- a/Tools/Source/MigrationTools/org/tianocore/migration/ModuleInfo.java +++ b/Tools/Source/MigrationTools/org/tianocore/migration/ModuleInfo.java @@ -15,60 +15,78 @@ package org.tianocore.migration; import java.io.*; import java.util.*; +import org.tianocore.ModuleSurfaceAreaDocument; + /* - Class ModuleInfo is built for scanning the source files, it contains all the needed + Class ModuleInfo is built for scanning the source files, it contains all the needed information and all the temporary data. */ public final class ModuleInfo { - ModuleInfo(String modulepath) throws Exception { - this.modulepath = modulepath; - } + ModuleInfo(String modulepath) throws Exception { + this.modulepath = modulepath; + this.temppath = MigrationTool.getTempDir(this.modulepath); + } - public final String modulepath; - - public String modulename = null; - public String guidvalue = null; - public String moduletype = null; - public String entrypoint = null; - - public final Set localmodulesources = new HashSet(); //contains both .c and .h - public final Set preprocessedccodes = new HashSet(); - public final Set msaorinf = new HashSet(); //only a little, hash may be too big for this - - public final Set hashfuncc = new HashSet(); - public final Set hashfuncd = new HashSet(); - public final Set hashnonlocalfunc = new HashSet(); - public final Set hashnonlocalmacro = new HashSet(); - public final Set hashEFIcall = new HashSet(); - public final Set hashr8only = new HashSet(); - - public final Set hashrequiredr9libs = new HashSet(); // hashrequiredr9libs is now all added in SourceFileReplacer - public final Set guid = new HashSet(); - public final Set protocol = new HashSet(); - public final Set ppi = new HashSet(); + public final String modulepath; + public final String temppath; + + //private MsaOwner msaowner = new MsaWriter(this); + //public ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.newInstance(); + + public String modulename = null; + public String guidvalue = null; + public String moduletype = null; + public String entrypoint = null; + + public final Set localmodulesources = new HashSet(); //contains both .c and .h + public final Set preprocessedccodes = new HashSet(); + public final Set msaorinf = new HashSet(); //only a little, hash may be too big for this + public final Set infincludes = new HashSet(); + public final Set infsources = new HashSet(); + + public final Set hashfuncc = new HashSet(); + public final Set hashfuncd = new HashSet(); + public final Set hashnonlocalfunc = new HashSet(); + public final Set hashnonlocalmacro = new HashSet(); + public final Set hashEFIcall = new HashSet(); + public final Set hashr8only = new HashSet(); + public final Set hashmacro = new HashSet(); + + public final Set hashrequiredr9libs = new HashSet(); // hashrequiredr9libs is now all added in SourceFileReplacer + public final Set guid = new HashSet(); + public final Set protocol = new HashSet(); + public final Set ppi = new HashSet(); - public final void enroll(String filepath) throws Exception { - String temp = null; - if (filepath.contains(".c") || filepath.contains(".C") || filepath.contains(".h") || - filepath.contains(".H") || filepath.contains(".dxs") || filepath.contains(".uni")) { - localmodulesources.add(filepath.replace(modulepath + "\\", "")); - } else if (filepath.contains(".inf") || filepath.contains(".msa")) { - temp = filepath.replace(modulepath + "\\", ""); - if (!temp.contains(File.separator)) { // .inf in subdirectory is not regarded - msaorinf.add(temp); - } - } - } + public final String getModuleType() { + if (moduletype.contains("PEI")) { + return "PEIM"; + } else { + return "DXE_DRIVER"; + } + } + + public final void enroll(String filepath) throws Exception { + String temp = null; + if (filepath.contains(".c") || filepath.contains(".C") || filepath.contains(".h") || + filepath.contains(".H") || filepath.contains(".dxs") || filepath.contains(".uni")) { + localmodulesources.add(filepath.replace(modulepath + File.separator, "")); + } else if (filepath.contains(".inf") || filepath.contains(".msa")) { + temp = filepath.replace(modulepath + File.separator, ""); + if (!temp.contains(File.separator)) { // .inf in subdirectory is not regarded + msaorinf.add(temp); + } + } + } - public static final boolean isModule(String path) { - String[] list = new File(path).list(); - for (int i = 0 ; i < list.length ; i++) { - if (!new File(list[i]).isDirectory()) { - if (list[i].contains(".inf") || list[i].contains(".msa")) { - return true; - } - } - } - return false; - } + public static final boolean isModule(String path) { + String[] list = new File(path).list(); + for (int i = 0 ; i < list.length ; i++) { + if (!new File(list[i]).isDirectory()) { + if (list[i].contains(".inf") || list[i].contains(".msa")) { + return true; + } + } + } + return false; + } } \ No newline at end of file