X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FGenBuild%2Forg%2Ftianocore%2Fbuild%2FFrameworkBuildTask.java;fp=Tools%2FSource%2FGenBuild%2Forg%2Ftianocore%2Fbuild%2FFrameworkBuildTask.java;h=04cf84c04fea1a42b7679ef070c9a84729725646;hp=07da77c2bc65a42c3014384be67a86bc635fc9a2;hb=aca6c736f6fcef7f8a747312399555f4b20ed52b;hpb=1e8e8a82ddbc10ad79097ef393866d188f968ee1 diff --git a/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java b/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java index 07da77c2bc..04cf84c04f 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java +++ b/Tools/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java @@ -16,6 +16,7 @@ package org.tianocore.build; import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; +import java.util.Hashtable; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Map; @@ -26,7 +27,6 @@ import org.apache.tools.ant.Task; import org.tianocore.build.fpd.FpdParserForThread; import org.tianocore.build.fpd.FpdParserTask; import org.tianocore.build.global.GlobalData; -import org.tianocore.build.global.PropertyManager; import org.tianocore.build.toolchain.ConfigReader; import org.tianocore.build.toolchain.ToolChainInfo; import org.tianocore.common.definitions.ToolDefinitions; @@ -74,6 +74,11 @@ public class FrameworkBuildTask extends Task{ private Set msaFiles = new LinkedHashSet(); + // + // This is only for none-multi-thread build to reduce overriding message + // + public static Hashtable originalProperties = new Hashtable(); + String toolsDefFilename = ToolDefinitions.DEFAULT_TOOLS_DEF_FILE_PATH; String targetFilename = ToolDefinitions.TARGET_FILE_PATH; @@ -81,17 +86,17 @@ public class FrameworkBuildTask extends Task{ String dbFilename = ToolDefinitions.FRAMEWORK_DATABASE_FILE_PATH; String activePlatform = null; - + /// /// The flag to present current is multi-thread enabled /// public static boolean multithread = false; - + /// /// The concurrent thread number /// public static int MAX_CONCURRENT_THREAD_NUMBER = 1; - + /// /// there are three type: all (build), clean and cleanall /// @@ -147,7 +152,7 @@ public class FrameworkBuildTask extends Task{ // Global Data initialization // File workspacePath = new File(getProject().getProperty("WORKSPACE")); - PropertyManager.setProperty(getProject(), "WORKSPACE_DIR", workspacePath.getPath().replaceAll("(\\\\)", "/")); + getProject().setProperty("WORKSPACE_DIR", workspacePath.getPath().replaceAll("(\\\\)", "/")); GlobalData.initInfo(dbFilename, workspacePath.getPath(), toolsDefFilename); // @@ -228,7 +233,10 @@ public class FrameworkBuildTask extends Task{ GenBuildTask genBuildTask = new GenBuildTask(); genBuildTask.setSingleModuleBuild(true); genBuildTask.setType(type); - PropertyManager.setProperty(getProject(), "PLATFORM_FILE", activePlatform); + getProject().setProperty("PLATFORM_FILE", activePlatform); + if( !multithread) { + originalProperties.put("PLATFORM_FILE", activePlatform); + } genBuildTask.setProject(getProject()); genBuildTask.setMsaFile(buildFile); genBuildTask.execute(); @@ -242,8 +250,7 @@ public class FrameworkBuildTask extends Task{ **/ private void backupSystemProperties() { Map sysProperties = System.getenv(); - Set keys = sysProperties.keySet(); - Iterator iter = keys.iterator(); + Iterator iter = sysProperties.keySet().iterator(); while (iter.hasNext()) { String name = iter.next(); @@ -251,9 +258,17 @@ public class FrameworkBuildTask extends Task{ // If system environment variable is not in ANT properties, add it // if (getProject().getProperty(name) == null) { - PropertyManager.setProperty(getProject(), name, sysProperties.get(name)); + getProject().setProperty(name, sysProperties.get(name)); } } + + Hashtable allProperties = getProject().getProperties(); + Iterator piter = allProperties.keySet().iterator(); + while (piter.hasNext()) { + String name = (String)piter.next(); + originalProperties.put(new String(name), new String((String)allProperties.get(name))); + } + } private File intercommuniteWithUser(){