X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=Tools%2FSource%2FGenBuild%2Forg%2Ftianocore%2Fbuild%2Ffpd%2FPlatformBuildFileGenerator.java;h=e6a1002da3b711bbd0384b719b07a8e9e07bc680;hb=391dbbb1c00daefe78e7e44499d048943ca866ae;hp=a7566f449eb6b5fe9955e2b26eac95acfcb954ca;hpb=23583a8891e878633a430212502dfa97fd143573;p=mirror_edk2.git diff --git a/Tools/Source/GenBuild/org/tianocore/build/fpd/PlatformBuildFileGenerator.java b/Tools/Source/GenBuild/org/tianocore/build/fpd/PlatformBuildFileGenerator.java index a7566f449e..e6a1002da3 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/fpd/PlatformBuildFileGenerator.java +++ b/Tools/Source/GenBuild/org/tianocore/build/fpd/PlatformBuildFileGenerator.java @@ -48,31 +48,19 @@ public class PlatformBuildFileGenerator { /// private Map outfiles; - /// - /// Mapping from FV name to its modules - /// - private Map> fvs; - - /// - /// Mapping from sequence number to FV names - /// - private Map> sequences; - private boolean isUnified = true; private Project project; private String info = "DO NOT EDIT \n" - + "File auto-generated by build utility\n" + + "This file is auto-generated by the build utility\n" + "\n" + "Abstract:\n" - + "Auto-generated ANT build file for building of EFI Modules/Platforms\n"; + + "Auto-generated ANT build file for building EFI Modules and Platforms\n"; - public PlatformBuildFileGenerator(Project project, Map outfiles, Map> fvs, Map> sequences, boolean isUnified){ + public PlatformBuildFileGenerator(Project project, Map outfiles, boolean isUnified){ this.project = project; this.outfiles = outfiles; - this.fvs = fvs; - this.sequences = sequences; this.isUnified = isUnified; this.platformName = project.getProperty("PLATFORM"); } @@ -117,35 +105,21 @@ public class PlatformBuildFileGenerator { ele.setAttribute("environment", "env"); root.appendChild(ele); - Set sequenceKeys = sequences.keySet(); - Iterator sequenceIter = sequenceKeys.iterator(); - String dependsStr = "prebuild"; - while (sequenceIter.hasNext()) { - String num = (String)sequenceIter.next(); - if (dependsStr.length() > 0) { - dependsStr += " , "; - } - dependsStr += "modules" + num + ", fvs" + num; - } - // // Default Target // root.appendChild(document.createComment("Default target")); ele = document.createElement("target"); ele.setAttribute("name", "all"); - ele.setAttribute("depends", dependsStr + ", postbuild"); + ele.setAttribute("depends", "prebuild, modules, fvs, postbuild"); root.appendChild(ele); // // Modules and Fvs Target // - sequenceIter = sequenceKeys.iterator(); - while (sequenceIter.hasNext()) { - String num = (String)sequenceIter.next(); - applyModules(document, root, num); - applyFvs(document, root, num); - } + applyModules(document, root); + + applyFvs(document, root); // // Clean Target @@ -190,86 +164,79 @@ public class PlatformBuildFileGenerator { xformer.setOutputProperty(OutputKeys.INDENT, "yes"); xformer.transform(source, result); } catch (Exception ex) { - throw new BuildException("Generate " + platformName + "_build.xml failed. \n" + ex.getMessage()); + throw new BuildException("Generation of the " + platformName + "_build.xml failed!\n" + ex.getMessage()); } } - private void applyModules(Document document, Node root, String num) { + private void applyModules(Document document, Node root) { root.appendChild(document.createComment("Modules target")); Element ele = document.createElement("target"); - ele.setAttribute("name", "modules" + num); - - Set fvNameSet = sequences.get(num); + ele.setAttribute("name", "modules"); - Iterator fvNameIter = fvNameSet.iterator(); - while (fvNameIter.hasNext()) { - String fvName = (String)fvNameIter.next(); - Set set = fvs.get(fvName); - Iterator iter = set.iterator(); - while (iter.hasNext()) { - FpdModuleIdentification fpdModuleId = (FpdModuleIdentification) iter.next(); - ModuleIdentification moduleId = fpdModuleId.getModule(); - Element moduleEle = document.createElement("GenBuild"); - moduleEle.setAttribute("type", "build"); - // - // Inherit Properties. - //{"ARCH", "PACKAGE", "PACKAGE_GUID", "PACKAGE_VERSION", "MODULE_DIR"} - // - - // - // ARCH - // - Element property = document.createElement("property"); - property.setAttribute("name", "ARCH"); - property.setAttribute("value", fpdModuleId.getArch()); - moduleEle.appendChild(property); + Set set = outfiles.keySet(); + Iterator iter = set.iterator(); + while (iter.hasNext()) { + FpdModuleIdentification fpdModuleId = (FpdModuleIdentification) iter.next(); + ModuleIdentification moduleId = fpdModuleId.getModule(); + Element moduleEle = document.createElement("GenBuild"); + moduleEle.setAttribute("type", "build"); + // + // Inherit Properties. + //{"ARCH", "PACKAGE", "PACKAGE_GUID", "PACKAGE_VERSION", "MODULE_DIR"} + // + + // + // ARCH + // + Element property = document.createElement("property"); + property.setAttribute("name", "ARCH"); + property.setAttribute("value", fpdModuleId.getArch()); + moduleEle.appendChild(property); - // - // MODULE_GUID - // - property = document.createElement("property"); - property.setAttribute("name", "MODULE_GUID"); - property.setAttribute("value", moduleId.getGuid()); - moduleEle.appendChild(property); - - // - // MODULE_VERSION - // - property = document.createElement("property"); - property.setAttribute("name", "MODULE_VERSION"); - property.setAttribute("value", moduleId.getVersion()); - moduleEle.appendChild(property); - - // - // PACKAGE_GUID - // - property = document.createElement("property"); - property.setAttribute("name", "PACKAGE_GUID"); - property.setAttribute("value", moduleId.getPackage().getGuid()); - moduleEle.appendChild(property); - - // - // PACKAGE_VERSION - // - property = document.createElement("property"); - property.setAttribute("name", "PACKAGE_VERSION"); - property.setAttribute("value", moduleId.getPackage().getVersion()); - moduleEle.appendChild(property); - - ele.appendChild(moduleEle); - } + // + // MODULE_GUID + // + property = document.createElement("property"); + property.setAttribute("name", "MODULE_GUID"); + property.setAttribute("value", moduleId.getGuid()); + moduleEle.appendChild(property); + + // + // MODULE_VERSION + // + property = document.createElement("property"); + property.setAttribute("name", "MODULE_VERSION"); + property.setAttribute("value", moduleId.getVersion()); + moduleEle.appendChild(property); + + // + // PACKAGE_GUID + // + property = document.createElement("property"); + property.setAttribute("name", "PACKAGE_GUID"); + property.setAttribute("value", moduleId.getPackage().getGuid()); + moduleEle.appendChild(property); + + // + // PACKAGE_VERSION + // + property = document.createElement("property"); + property.setAttribute("name", "PACKAGE_VERSION"); + property.setAttribute("value", moduleId.getPackage().getVersion()); + moduleEle.appendChild(property); + + ele.appendChild(moduleEle); } root.appendChild(ele); } - private void applyFvs(Document document, Node root, String num) { - Set fvNameSet = sequences.get(num); + private void applyFvs(Document document, Node root) { // // FVS Target // root.appendChild(document.createComment("FVs target")); Element ele = document.createElement("target"); - ele.setAttribute("name", "fvs" + num); + ele.setAttribute("name", "fvs"); // // For every Target and ToolChain @@ -280,16 +247,14 @@ public class PlatformBuildFileGenerator { for(int j = 0; j < toolchainList.length; j++){ String fvOutputDir = project.getProperty("BUILD_DIR") + File.separatorChar + targetList[i] + File.separatorChar - + toolchainList[i] + File.separatorChar + "FV"; + + toolchainList[j] + File.separatorChar + "FV"; String[] validFv = SurfaceAreaQuery.getFpdValidImageNames(); for (int k = 0; k < validFv.length; k++) { - if (fvNameSet.contains(validFv[k]) || ! isListInSequence(validFv[k])) { - String inputFile = fvOutputDir + "" + File.separatorChar + validFv[k].toUpperCase() + ".inf"; - Element fvEle = document.createElement("genfvimage"); - fvEle.setAttribute("infFile", inputFile); - fvEle.setAttribute("outputDir", fvOutputDir); - ele.appendChild(fvEle); - } + String inputFile = fvOutputDir + "" + File.separatorChar + validFv[k].toUpperCase() + ".inf"; + Element fvEle = document.createElement("genfvimage"); + fvEle.setAttribute("infFile", inputFile); + fvEle.setAttribute("outputDir", fvOutputDir); + ele.appendChild(fvEle); } } } @@ -386,7 +351,7 @@ public class PlatformBuildFileGenerator { // // Deep Clean Target // - root.appendChild(document.createComment("Clean All target")); + root.appendChild(document.createComment("Target: cleanall")); Element ele = document.createElement("target"); ele.setAttribute("name", "cleanall"); @@ -471,7 +436,7 @@ public class PlatformBuildFileGenerator { // // User Extensions // - root.appendChild(document.createComment("Pre Build Processing")); + root.appendChild(document.createComment("Pre-Build Processing")); Element ele = document.createElement("target"); ele.setAttribute("name", "prebuild"); @@ -515,7 +480,7 @@ public class PlatformBuildFileGenerator { // // User Extensions // - root.appendChild(document.createComment("Post Build Processing")); + root.appendChild(document.createComment("Post-Build Processing")); Element ele = document.createElement("target"); ele.setAttribute("name", "postbuild"); @@ -576,16 +541,4 @@ public class PlatformBuildFileGenerator { } return root; } - - private boolean isListInSequence(String fvName) { - Set numbers = sequences.keySet(); - Iterator iter = numbers.iterator(); - while (iter.hasNext()) { - Set fvNameSet = sequences.get(iter.next()); - if (fvNameSet.contains(fvName)) { - return true; - } - } - return false; - } }