X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FGenBuild%2Forg%2Ftianocore%2Fbuild%2FFrameworkBuildTask.java;h=fe7a8ce70da7475efe752f7ae7e843e41b46fb83;hp=14de2d824ddfdab4d9930697434df1667e9e83f9;hb=2d16dcec6f602d218ae95a823fca6ae542e03a8f;hpb=681dbac98cfff748ec076aa294f9129e48dab44f 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.