///\r
/// The concurrent thread number\r
///\r
- public static int MAX_CONCURRENT_THREAD_NUMBER = 1;\r
+ public static int MAX_CONCURRENT_THREAD_NUMBER = 2;\r
\r
///\r
/// there are three type: all (build), clean and cleanall\r
private String type = "all";\r
\r
public void execute() throws BuildException {\r
+ //\r
+ // set Logger\r
+ //\r
+ GenBuildLogger logger = new GenBuildLogger(getProject());\r
+ EdkLog.setLogLevel(getProject().getProperty("env.LOGLEVEL"));\r
+ EdkLog.setLogger(logger);\r
+ \r
try {\r
processFrameworkBuild();\r
} catch (PcdAutogenException e) {\r
}\r
\r
private void processFrameworkBuild() throws EdkException, GenBuildException, AutoGenException, PcdAutogenException, PlatformPcdPreprocessBuildException {\r
- //\r
- // set Logger\r
- //\r
- GenBuildLogger logger = new GenBuildLogger(getProject());\r
- EdkLog.setLogLevel(getProject().getProperty("env.LOGLEVEL"));\r
- EdkLog.setLogger(logger);\r
-\r
//\r
// Seach build.xml -> .FPD -> .MSA file\r
//\r
}\r
}\r
}\r
- } catch (IOException e) {\r
- throw new BuildException(e.getMessage());\r
+ } catch (IOException ex) {\r
+ BuildException buildException = new BuildException("Scanning current directory error. \n" + ex.getMessage());\r
+ buildException.setStackTrace(ex.getStackTrace());\r
+ throw buildException;\r
}\r
\r
//\r
//\r
if (type.compareTo("cleanall") == 0) {\r
File platformBuildFile = \r
- new File(getProject().getProperty("PLATFORM_DIR") \r
+ new File(getProject().getProperty("BUILD_DIR") \r
+ File.separatorChar \r
+ getProject().getProperty("PLATFORM") \r
+ "_build.xml");\r
// Build every MSA files (SINGLE MODULE BUILD)\r
//\r
else if (buildFile.getName().endsWith(ToolDefinitions.MSA_EXTENSION)) {\r
+ if (multithread) {\r
+ EdkLog.log(this, EdkLog.EDK_WARNING, "Multi-Thead do not take effect on Stand-Alone (Single) module build. ");\r
+ multithread = false;\r
+ }\r
File tmpFile = new File(GlobalData.getWorkspacePath() + File.separatorChar + activePlatform);\r
EdkLog.log(this, "Using the FPD file [" + tmpFile.getPath() + "] for the active platform. ");\r
EdkLog.log(this, "Processing the MSA file [" + buildFile.getPath() + "] ..>> ");\r
if (str != null && str.trim().equalsIgnoreCase("Enable")) {\r
multithread = true;\r
}\r
- \r
+\r
str = getValue(ToolDefinitions.TARGET_KEY_MAX_CONCURRENT_THREAD_NUMBER, targetFileInfo);\r
if (str != null ) {\r
try {\r
if (threadNum > 0) {\r
MAX_CONCURRENT_THREAD_NUMBER = threadNum;\r
}\r
- } catch (Exception enuma) {\r
+ } catch (Exception ex) {\r
}\r
}\r
}\r