From: wuyizhong Date: Thu, 17 Aug 2006 06:51:51 +0000 (+0000) Subject: Add class header to FrameworkBuildTask. Remove some unused code from top level build... X-Git-Tag: edk2-stable201903~24567 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=2d16dcec6f602d218ae95a823fca6ae542e03a8f;ds=sidebyside Add class header to FrameworkBuildTask. Remove some unused code from top level build.xml. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1306 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java b/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java index 14de2d824d..fe7a8ce70d 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java +++ b/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java @@ -29,6 +29,41 @@ import org.tianocore.build.toolchain.ConfigReader; import org.tianocore.build.toolchain.ToolChainInfo; import org.tianocore.common.definitions.ToolDefinitions; +/** +

+ FrameworkBuildTask is an Ant task. The main function is finding + and processing a FPD or MSA file, then building a platform or stand-alone + module. + +

+ The task search current directory and find out all MSA and FPD files by file + extension. Base on ACTIVE_PLATFORM policy, decide to build a platform or a + stand-alone module. The ACTIVE_PLATFORM policy is: + +

+  1. More than one MSA files, report error; 
+  2. Only one MSA file, but ACTIVE_PLATFORM is not specified, report error;
+  3. Only one MSA file, and ACTIVE_PLATFORM is also specified, build this module;
+  4. No MSA file, and ACTIVE_PLATFORM is specified, build the active platform;
+  5. No MSA file, no ACTIVE_PLATFORM, and no FPD file, report error;
+  6. No MSA file, no ACTIVE_PLATFORM, and only one FPD file, build the platform;
+  7. No MSA file, no ACTIVE_PLATFORM, and more than one FPD files, list all platform
+  and let user choose one. 
+  
+ +

+ Framework build task also parse target file [${WORKSPACE_DIR}/Tools/Conf/target.txt]. + And load all system environment variables to Ant properties. + +

+ The usage for this task is : + +

+  <FrameworkBuild type="cleanall" />
+  
+ + @since GenBuild 1.0 +**/ public class FrameworkBuildTask extends Task{ private Set buildFiles = new LinkedHashSet(); @@ -103,8 +138,6 @@ public class FrameworkBuildTask extends Task{ getProject().setProperty("WORKSPACE_DIR", workspacePath.getPath().replaceAll("(\\\\)", "/")); GlobalData.initInfo(dbFilename, workspacePath.getPath(), toolsDefFilename); - - // // If find MSA file and ACTIVE_PLATFORM is set, build the module; // else fail build. diff --git a/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java b/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java index b82c28c413..c8cc4ad748 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java +++ b/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java @@ -55,12 +55,14 @@ import org.tianocore.build.tools.ModuleItem;

The main function of this task is to parse module's surface area (MSA), then generate the corresponding BaseName_build.xml (the real ANT build script) and call this to build the module. The whole process including: +

   1. generate AutoGen.c and AutoGen.h; 
   2. build all dependent library instances;
   3. build all source files inlcude AutoGen.c; 
   4. generate sections;
   5. generate FFS file if it is driver module while LIB file if it is Library module.
-  

+
+

The usage is (take module HelloWorld for example): diff --git a/build.xml b/build.xml index 4b7e95428b..cf10675f62 100644 --- a/build.xml +++ b/build.xml @@ -33,9 +33,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -