From 02c768ee72f71bf3fef9c88068081b6112f68614 Mon Sep 17 00:00:00 2001 From: wuyizhong Date: Thu, 7 Sep 2006 02:39:37 +0000 Subject: [PATCH] Move ${PLATFORM}_build.xml from PLATFORM_DIR to BULID_DIR. Now, all output files will be only under BUILD_DIR. To change BUILD_DIR in FPD.PlatformDefinitions.OutputDirectory, both abstract and relative path is allowed. For relative path is relative to WORKSPACE_DIR. Default BUILD_DIR is PLATFORM_DIR/BUILD. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1489 6f19259b-4bc3-4df7-8a09-765794883524 --- .../tianocore/build/FrameworkBuildTask.java | 2 +- .../org/tianocore/build/GenBuildThread.java | 3 ++- .../build/fpd/FpdParserForThread.java | 23 +++++++++++-------- .../tianocore/build/fpd/FpdParserTask.java | 8 ++++--- .../build/fpd/PlatformBuildFileGenerator.java | 18 ++++++--------- 5 files changed, 28 insertions(+), 26 deletions(-) diff --git a/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java b/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java index 14103d7b22..6d380d9654 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java +++ b/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java @@ -263,7 +263,7 @@ public class FrameworkBuildTask extends Task{ // if (type.compareTo("cleanall") == 0) { File platformBuildFile = - new File(getProject().getProperty("PLATFORM_DIR") + new File(getProject().getProperty("BUILD_DIR") + File.separatorChar + getProject().getProperty("PLATFORM") + "_build.xml"); diff --git a/Tools/Source/GenBuild/org/tianocore/build/GenBuildThread.java b/Tools/Source/GenBuild/org/tianocore/build/GenBuildThread.java index 5ab7c0aff7..08e46500fa 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/GenBuildThread.java +++ b/Tools/Source/GenBuild/org/tianocore/build/GenBuildThread.java @@ -25,6 +25,7 @@ import org.tianocore.build.GenBuildTask; import org.tianocore.build.fpd.FpdParserForThread; import org.tianocore.build.id.FpdModuleIdentification; import org.tianocore.build.id.ModuleIdentification; +import org.tianocore.common.logger.EdkLog; /** Add more comment here. @@ -145,7 +146,7 @@ public class GenBuildThread implements Runnable { status = FpdParserForThread.STATUS_END_RUN; - System.out.println(fpdModuleId + " build finished. "); + EdkLog.log("GenBuildThread", fpdModuleId + " build finished. "); // // diff --git a/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserForThread.java b/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserForThread.java index 6551664520..11e926b251 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserForThread.java +++ b/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserForThread.java @@ -32,6 +32,7 @@ import org.tianocore.build.id.ModuleIdentification; import org.tianocore.build.FrameworkBuildTask; import org.tianocore.build.GenBuildThread; import org.tianocore.common.exception.EdkException; +import org.tianocore.common.logger.EdkLog; /** @@ -79,7 +80,8 @@ public class FpdParserForThread extends FpdParserTask { // Prepare BUILD_DIR // isUnified = OutputManager.getInstance().prepareBuildDir(getProject()); - + String buildDir = getProject().getProperty("BUILD_DIR"); + // // For every Target and ToolChain // @@ -90,7 +92,7 @@ public class FpdParserForThread extends FpdParserTask { // // Prepare FV_DIR // - String ffsCommonDir = getProject().getProperty("BUILD_DIR") + File.separatorChar + String ffsCommonDir = buildDir + File.separatorChar + targetList[i] + File.separatorChar + toolchainList[j]; File fvDir = new File(ffsCommonDir + File.separatorChar + "FV"); @@ -107,7 +109,8 @@ public class FpdParserForThread extends FpdParserTask { // // Gen build.xml // - PlatformBuildFileGenerator fileGenerator = new PlatformBuildFileGenerator(getProject(), outfiles, fvs, isUnified, saq); + String platformBuildFile = buildDir + File.separatorChar + platformId.getName() + "_build.xml"; + PlatformBuildFileGenerator fileGenerator = new PlatformBuildFileGenerator(getProject(), outfiles, fvs, isUnified, saq, platformBuildFile); fileGenerator.genBuildFile(); // @@ -135,13 +138,13 @@ public class FpdParserForThread extends FpdParserTask { // Ant ant = new Ant(); ant.setProject(getProject()); - ant.setAntfile(platformId.getFpdFile().getParent() + File.separatorChar + platformId.getName() + "_build.xml"); + ant.setAntfile(platformBuildFile); ant.setTarget("prebuild"); ant.setInheritAll(true); ant.init(); ant.execute(); - System.out.println("Task number is " + allThreads.size()); + EdkLog.log(this, "Task number is " + allThreads.size()); // // Waiting for all thread over, or time out @@ -189,7 +192,7 @@ public class FpdParserForThread extends FpdParserTask { // // Exist ready thread // - System.out.println("## Exist ready thread"); + EdkLog.log(this, "## Exist ready thread"); } else if (existNoneReady && currentRunNumber == 0) { // @@ -200,14 +203,14 @@ public class FpdParserForThread extends FpdParserTask { // // Current queue build finish, move to next // - System.out.println("## Current queue build finish, move to next"); + EdkLog.log(this, "## Current queue build finish, move to next"); ++currentQueueCode; continue ; } else { // // active thread exist, but no ready thread // - System.out.println("## active thread exist, but no ready thread" + currentRunNumber); + EdkLog.log(this, "## active thread exist, but no ready thread" + currentRunNumber); } try { @@ -223,7 +226,7 @@ public class FpdParserForThread extends FpdParserTask { // ant = new Ant(); ant.setProject(getProject()); - ant.setAntfile(platformId.getFpdFile().getParent() + File.separatorChar + platformId.getName() + "_build.xml"); + ant.setAntfile(platformBuildFile); ant.setTarget("fvs"); ant.setInheritAll(true); ant.init(); @@ -231,7 +234,7 @@ public class FpdParserForThread extends FpdParserTask { ant = new Ant(); ant.setProject(getProject()); - ant.setAntfile(platformId.getFpdFile().getParent() + File.separatorChar + platformId.getName() + "_build.xml"); + ant.setAntfile(platformBuildFile); ant.setTarget("postbuild"); ant.setInheritAll(true); ant.init(); diff --git a/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java b/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java index ea14ac350f..88d7e62c8f 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java +++ b/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java @@ -125,6 +125,7 @@ public class FpdParserTask extends Task { // isUnified = OutputManager.getInstance().prepareBuildDir(getProject()); + String buildDir = getProject().getProperty("BUILD_DIR"); // // For every Target and ToolChain // @@ -135,7 +136,7 @@ public class FpdParserTask extends Task { // // Prepare FV_DIR // - String ffsCommonDir = getProject().getProperty("BUILD_DIR") + File.separatorChar + String ffsCommonDir = buildDir + File.separatorChar + targetList[i] + "_" + toolchainList[j]; File fvDir = new File(ffsCommonDir + File.separatorChar + "FV"); @@ -152,7 +153,8 @@ public class FpdParserTask extends Task { // // Gen build.xml // - PlatformBuildFileGenerator fileGenerator = new PlatformBuildFileGenerator(getProject(), outfiles, fvs, isUnified, saq); + String platformBuildFile = buildDir + File.separatorChar + platformId.getName() + "_build.xml"; + PlatformBuildFileGenerator fileGenerator = new PlatformBuildFileGenerator(getProject(), outfiles, fvs, isUnified, saq, platformBuildFile); fileGenerator.genBuildFile(); // @@ -160,7 +162,7 @@ public class FpdParserTask extends Task { // Ant ant = new Ant(); ant.setProject(getProject()); - ant.setAntfile(platformId.getFpdFile().getParent() + File.separatorChar + platformId.getName() + "_build.xml"); + ant.setAntfile(platformBuildFile); ant.setTarget(type); ant.setInheritAll(true); ant.init(); diff --git a/Tools/Source/GenBuild/org/tianocore/build/fpd/PlatformBuildFileGenerator.java b/Tools/Source/GenBuild/org/tianocore/build/fpd/PlatformBuildFileGenerator.java index 05f6e01ee6..d4b4622c60 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/fpd/PlatformBuildFileGenerator.java +++ b/Tools/Source/GenBuild/org/tianocore/build/fpd/PlatformBuildFileGenerator.java @@ -47,8 +47,6 @@ import org.w3c.dom.NodeList; **/ public class PlatformBuildFileGenerator { - private String platformName; - /// /// Mapping from modules identification to out put file name /// @@ -64,6 +62,8 @@ public class PlatformBuildFileGenerator { private SurfaceAreaQuery saq = null; + private File platformBuildFile = null; + private Project project; private String info = "DO NOT EDIT \n" @@ -72,13 +72,13 @@ public class PlatformBuildFileGenerator { + "Abstract:\n" + "Auto-generated ANT build file for building EFI Modules and Platforms\n"; - public PlatformBuildFileGenerator(Project project, Map outfiles, Map> fvs, boolean isUnified, SurfaceAreaQuery saq){ + public PlatformBuildFileGenerator(Project project, Map outfiles, Map> fvs, boolean isUnified, SurfaceAreaQuery saq, String platformBuildFile){ this.project = project; this.outfiles = outfiles; this.isUnified = isUnified; this.fvs = fvs; this.saq = saq; - this.platformName = project.getProperty("PLATFORM"); + this.platformBuildFile = new File(platformBuildFile); } /** @@ -164,14 +164,10 @@ public class PlatformBuildFileGenerator { // Source source = new DOMSource(document); // - // Prepare the output file - // - File file = new File(project.getProperty("PLATFORM_DIR") + File.separatorChar + platformName + "_build.xml"); - // // generate all directory path // - (new File(file.getParent())).mkdirs(); - Result result = new StreamResult(file); + (new File(platformBuildFile.getParent())).mkdirs(); + Result result = new StreamResult(platformBuildFile); // // Write the DOM document to the file // @@ -180,7 +176,7 @@ public class PlatformBuildFileGenerator { xformer.setOutputProperty(OutputKeys.INDENT, "yes"); xformer.transform(source, result); } catch (Exception ex) { - throw new BuildException("Generation of the " + platformName + "_build.xml failed!\n" + ex.getMessage()); + throw new BuildException("Generating platform build file [" + platformBuildFile.getPath() + "_build.xml] failed. \n" + ex.getMessage()); } } -- 2.39.2