]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/tools/DefaultBuildFileGenerator.java
Remove some unused code and adjust some code format. Modules build with FPD sequence...
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / tools / DefaultBuildFileGenerator.java
diff --git a/Tools/Source/GenBuild/org/tianocore/build/tools/DefaultBuildFileGenerator.java b/Tools/Source/GenBuild/org/tianocore/build/tools/DefaultBuildFileGenerator.java
deleted file mode 100644 (file)
index 422d503..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-/** @file\r
-  This file is an ANT task.\r
-  \r
-  LibBuildFileGenerator task is used to generate module's build.xml file.\r
-\r
-Copyright (c) 2006, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-package org.tianocore.build.tools;\r
-\r
-import java.io.File;\r
-import java.util.Iterator;\r
-import java.util.LinkedHashSet;\r
-import java.util.Set;\r
-\r
-import javax.xml.parsers.DocumentBuilder;\r
-import javax.xml.parsers.DocumentBuilderFactory;\r
-import javax.xml.transform.OutputKeys;\r
-import javax.xml.transform.Result;\r
-import javax.xml.transform.Source;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.dom.DOMSource;\r
-import javax.xml.transform.stream.StreamResult;\r
-\r
-import org.apache.tools.ant.BuildException;\r
-import org.apache.tools.ant.Task;\r
-import org.tianocore.build.global.GlobalData;\r
-import org.tianocore.build.id.ModuleIdentification;\r
-import org.tianocore.build.id.PackageIdentification;\r
-import org.w3c.dom.Document;\r
-import org.w3c.dom.Element;\r
-\r
-public class DefaultBuildFileGenerator extends Task {\r
-\r
-    private Set<ModuleIdentification> modules = new LinkedHashSet<ModuleIdentification>();\r
-    \r
-    private Set<PackageIdentification> packages = new LinkedHashSet<PackageIdentification>();\r
-    \r
-    //\r
-    //  <DefaultBuildFileGenerator mode="WORKSPACE | PACKAGE | MODULE">\r
-    //    <PackageItem packageName="" packageGuid="" packageVersion="" />\r
-    //    <ModuleItem  moduleName="HelloWorld" moduleGuid="" moduleVersion="" packageName="" packageGuid="" packageVersion="" />\r
-    //  </DefaultBuildFileGenerator>\r
-    //\r
-    private String mode = "MODULE";\r
-    \r
-    private String license = " Copyright (c) 2006, Intel Corporation \n"\r
-                    + "All rights reserved. This program and the accompanying materials \n"\r
-                    + "are licensed and made available under the terms and conditions of the BSD License \n"\r
-                    + "which accompanies this distribution.  The full text of the license may be found at  \n"\r
-                    + "http://opensource.org/licenses/bsd-license.php \n"\r
-                    + "\n"\r
-                    + "THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN \"AS IS\" BASIS, \n"\r
-                    + "WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.";\r
-    \r
-    /**\r
-      Public construct method. It is necessary for ANT task.\r
-    **/\r
-    public DefaultBuildFileGenerator () {\r
-    }\r
-\r
-    public void execute() throws BuildException {\r
-        //\r
-        // Global Data initialization\r
-        //\r
-        GlobalData.initInfo("Tools" + File.separatorChar + "Conf" + File.separatorChar + "FrameworkDatabase.db",\r
-                            getProject().getProperty("WORKSPACE_DIR"), "tools_def.txt");\r
-        \r
-        if (mode.equalsIgnoreCase("WORKSPACE")) {\r
-            modules.clear();\r
-            packages = GlobalData.getPackageList();\r
-        } \r
-        else if (mode.equalsIgnoreCase("PACKAGE")) {\r
-            modules.clear();\r
-        }\r
-        if (mode.equalsIgnoreCase("WORKSPACE") || mode.equalsIgnoreCase("PACKAGE")) {\r
-            Iterator iter = packages.iterator();\r
-            while (iter.hasNext()) {\r
-                PackageIdentification packageId = (PackageIdentification)iter.next();\r
-                modules.addAll(GlobalData.getModules(packageId));\r
-            }\r
-        }\r
-        \r
-        Iterator iter = modules.iterator();\r
-        while (iter.hasNext()) {\r
-            ModuleIdentification moduleId = (ModuleIdentification)iter.next();\r
-            genBuildFile (moduleId);\r
-        }\r
-    }\r
-    \r
-    private void genBuildFile(ModuleIdentification moduleId) {\r
-        DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();\r
-        try {\r
-            DocumentBuilder dombuilder = domfac.newDocumentBuilder();\r
-            Document document = dombuilder.newDocument();\r
-            //\r
-            // create root element and its attributes\r
-            //\r
-            document.appendChild(document.createComment(license));\r
-            Element root = document.createElement("project");\r
-            root.setAttribute("default", "all");\r
-            root.setAttribute("basedir", ".");\r
-            root.setAttribute("name", moduleId.getName());\r
-            \r
-            //\r
-            // element for External ANT tasks\r
-            //\r
-            root.appendChild(document.createComment("Apply external ANT tasks"));\r
-            Element ele = document.createElement("taskdef");\r
-            ele.setAttribute("resource", "GenBuild.tasks");\r
-            root.appendChild(ele);\r
-            \r
-            //\r
-            // <taskdef resource="net/sf/antcontrib/antlib.xml" />\r
-            //\r
-            ele = document.createElement("taskdef");\r
-            ele.setAttribute("resource", "net/sf/antcontrib/antlib.xml");\r
-            root.appendChild(ele);\r
-            \r
-            ele = document.createElement("property");\r
-            ele.setAttribute("environment", "env");\r
-            root.appendChild(ele);\r
-\r
-            ele = document.createElement("property");\r
-            ele.setAttribute("name", "WORKSPACE_DIR");\r
-            ele.setAttribute("value", "${env.WORKSPACE}");\r
-            root.appendChild(ele);\r
-            \r
-            ele = document.createElement("property");\r
-            ele.setAttribute("name", "MSA_FILENAME");\r
-            ele.setAttribute("value", GlobalData.getMsaFile(moduleId).getName());\r
-            root.appendChild(ele);\r
-            \r
-            ele = document.createElement("property");\r
-            ele.setAttribute("name", "BASE_NAME");\r
-            ele.setAttribute("value", moduleId.getName());\r
-            root.appendChild(ele);\r
-            \r
-            //\r
-            // Don't change it!!\r
-            //\r
-            ele = document.createElement("import");\r
-            ele.setAttribute("file", "${WORKSPACE_DIR}/Tools/Conf/BuildMacro.xml");\r
-            root.appendChild(ele);\r
-            \r
-            //\r
-            // <target name="all">\r
-            //   <GenBuild msaFile="HelloWorld.msa"/>\r
-            // </target>\r
-            //\r
-            Element targetEle = document.createElement("target");\r
-            targetEle.setAttribute("name", "all");\r
-            \r
-            ele = document.createElement("GenBuild");\r
-            ele.setAttribute("msaFile", "${MSA_FILENAME}");\r
-            targetEle.appendChild(ele);\r
-            \r
-            root.appendChild(targetEle);\r
-            \r
-            //\r
-            //  <target name="clean">\r
-            //    <OutputDirSetup msaFile="HelloWorld.msa"/>\r
-            //    <if>\r
-            //      <available file="${DEST_DIR_OUTPUT}/HelloWorld_build.xml"/>\r
-            //      <then>\r
-            //        <ant antfile="${DEST_DIR_OUTPUT}/HelloWorld_build.xml" target="clean"/>\r
-            //      </then>\r
-            //    </if>\r
-            //    <delete dir="${DEST_DIR_OUTPUT}" excludes="*.xml"/>\r
-            //  </target>\r
-            //\r
-            targetEle = document.createElement("target");\r
-            targetEle.setAttribute("name", "clean");\r
-            \r
-            ele = document.createElement("OutputDirSetup");\r
-            ele.setAttribute("msaFile", "${MSA_FILENAME}");\r
-            targetEle.appendChild(ele);\r
-            \r
-            ele = document.createElement("if");\r
-            \r
-            Element availableEle = document.createElement("available");\r
-            availableEle.setAttribute("file", "${DEST_DIR_OUTPUT}/${BASE_NAME}_build.xml");\r
-            ele.appendChild(availableEle);\r
-            \r
-            Element thenEle = document.createElement("then");\r
-            Element antEle = document.createElement("ant");\r
-            antEle.setAttribute("antfile", "${DEST_DIR_OUTPUT}/${BASE_NAME}_build.xml");\r
-            antEle.setAttribute("target", "clean");\r
-            thenEle.appendChild(antEle);\r
-            ele.appendChild(thenEle);\r
-            targetEle.appendChild(ele);\r
-            \r
-            ele = document.createElement("delete");\r
-            ele.setAttribute("dir", "${DEST_DIR_OUTPUT}");\r
-            ele.setAttribute("excludes", "*.xml");\r
-            targetEle.appendChild(ele);\r
-            \r
-            root.appendChild(targetEle);\r
-            \r
-            //\r
-            //  <target name="cleanall">\r
-            //    <OutputDirSetup msaFile="HelloWorld.msa"/>\r
-            //    <if>\r
-            //      <available file="${DEST_DIR_OUTPUT}/HelloWorld_build.xml"/>\r
-            //      <then>\r
-            //        <ant antfile="${DEST_DIR_OUTPUT}/HelloWorld_build.xml" target="cleanall"/>\r
-            //      </then>\r
-            //    </if>\r
-            //    <delete dir="${DEST_DIR_OUTPUT}"/>\r
-            //    <delete dir="${DEST_DIR_DEBUG}"/>\r
-            //    <delete>\r
-            //      <fileset dir="${BIN_DIR}" includes="**HelloWorld*"/>\r
-            //    </delete>\r
-            //  </target>\r
-            //\r
-            targetEle = document.createElement("target");\r
-            targetEle.setAttribute("name", "cleanall");\r
-            \r
-            ele = document.createElement("OutputDirSetup");\r
-            ele.setAttribute("msaFile", "${MSA_FILENAME}");\r
-            targetEle.appendChild(ele);\r
-            \r
-            ele = document.createElement("if");\r
-            \r
-            availableEle = document.createElement("available");\r
-            availableEle.setAttribute("file", "${DEST_DIR_OUTPUT}/${BASE_NAME}_build.xml");\r
-            ele.appendChild(availableEle);\r
-            \r
-            thenEle = document.createElement("then");\r
-            antEle = document.createElement("ant");\r
-            antEle.setAttribute("antfile", "${DEST_DIR_OUTPUT}/${BASE_NAME}_build.xml");\r
-            antEle.setAttribute("target", "cleanall");\r
-            thenEle.appendChild(antEle);\r
-            ele.appendChild(thenEle);\r
-            targetEle.appendChild(ele);\r
-            \r
-            ele = document.createElement("delete");\r
-            ele.setAttribute("dir", "${DEST_DIR_OUTPUT}");\r
-            targetEle.appendChild(ele);\r
-            \r
-            ele = document.createElement("delete");\r
-            ele.setAttribute("dir", "${DEST_DIR_DEBUG}");\r
-            targetEle.appendChild(ele);\r
-            \r
-            ele = document.createElement("delete");\r
-            \r
-            Element filesetEle = document.createElement("fileset");\r
-            filesetEle.setAttribute("dir", "${BIN_DIR}");\r
-            filesetEle.setAttribute("includes", "**${BASE_NAME}*");\r
-            ele.appendChild(filesetEle);\r
-            \r
-            targetEle.appendChild(ele);\r
-            \r
-            root.appendChild(targetEle);\r
-\r
-            \r
-            document.appendChild(root);\r
-            \r
-            //\r
-            // Prepare the DOM document for writing\r
-            //\r
-            Source source = new DOMSource(document);\r
-            \r
-            //\r
-            // Prepare the output file\r
-            //\r
-            String filename = GlobalData.getMsaFile(moduleId).getParent() + File.separatorChar + "build.xml";\r
-            File file = new File(getProject().replaceProperties(filename));\r
-            \r
-            GlobalData.log.info("File generating - " + filename);\r
-            //\r
-            // generate all directory path\r
-            //\r
-            Result result = new StreamResult(file);\r
-            \r
-            //\r
-            // Write the DOM document to the file\r
-            //\r
-            Transformer xformer = TransformerFactory.newInstance()\r
-                            .newTransformer();\r
-            xformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");\r
-            xformer.setOutputProperty(OutputKeys.INDENT, "yes");\r
-            xformer.transform(source, result);\r
-        } catch (Exception ex) {\r
-            System.out.println("##" + ex);\r
-        }\r
-        \r
-    }\r
-    \r
-    public void addConfiguredModuleItem(ModuleItem moduleItem) {\r
-        PackageIdentification packageId = new PackageIdentification(moduleItem.getPackageName(), moduleItem.getPackageGuid(), moduleItem.getPackageVersion());\r
-        ModuleIdentification moduleId = new ModuleIdentification(moduleItem.getModuleName(), moduleItem.getModuleGuid(), moduleItem.getModuleVersion());\r
-        moduleId.setPackage(packageId);\r
-        modules.add(moduleId);\r
-    }\r
-    \r
-    public void addConfiguredPackageItem(PackageItem packageItem) {\r
-        PackageIdentification packageId = new PackageIdentification(packageItem.getPackageName(), packageItem.getPackageGuid(), packageItem.getPackageVersion());\r
-        packages.add(packageId);\r
-    }\r
-\r
-    public void setMode(String mode) {\r
-        this.mode = mode;\r
-    }\r
-}\r