private ModuleIdentification moduleId;\r
\r
private Vector<Property> properties = new Vector<Property>();\r
- \r
+\r
private static Stack<Hashtable> backupPropertiesStack = new Stack<Hashtable>();\r
\r
- \r
- private static Hashtable backupProperties;\r
+ private boolean isSingleModuleBuild = false;\r
\r
/**\r
Public construct method. It is necessary for ANT task.\r
//\r
// Judge whether it is single module build or not\r
//\r
- if (getProject().getProperty("PLATFORM") == null) {\r
+ if (isSingleModuleBuild) {\r
//\r
// Single Module build\r
//\r
//\r
// Platform build. Restore the platform related info\r
//\r
- String platformName = getProject().getProperty("PLATFORM");\r
- PlatformIdentification platformId = GlobalData.getPlatform(platformName);\r
+ String filename = getProject().getProperty("PLATFORM_FILE");\r
+ PlatformIdentification platformId = GlobalData.getPlatform(filename);\r
getProject().setProperty("PLATFORM_DIR", platformId.getFpdFile().getParent().replaceAll("(\\\\)", "/"));\r
getProject().setProperty("PLATFORM_RELATIVE_DIR", platformId.getPlatformRelativeDir().replaceAll("(\\\\)", "/"));\r
\r
getProject().setProperty("TARGET", targetList[i]);\r
String[] toolchainList = GlobalData.getToolChainInfo().getTagnames();\r
for(int j = 0; j < toolchainList.length; j ++){\r
+ //\r
+ // check if any tool is defined for current target + toolchain + arch\r
+ // don't do anything if no tools found\r
+ // \r
+ if (GlobalData.isCommandSet(targetList[i], toolchainList[j], archList[k]) == false) {\r
+ System.out.println("!!!Warning: No build issued. No tools found for [target=" + targetList[i] + " toolchain=" + toolchainList[j] + " arch=" + archList[k] + "]\n");\r
+ continue;\r
+ }\r
+\r
//\r
// Prepare for toolchain related common properties\r
// TOOLCHAIN\r
//\r
// Read ACTIVE_PLATFORM's FPD file (Call FpdParserTask's method)\r
//\r
- String activePlatformName = getProject().getProperty("ACTIVE_PLATFORM");\r
+ String filename = getProject().getProperty("PLATFORM_FILE");\r
\r
- if (activePlatformName == null){\r
+ if (filename == null){\r
throw new BuildException("Plese set ACTIVE_PLATFORM if you want to build a single module. ");\r
}\r
\r
- PlatformIdentification platformId = GlobalData.getPlatform(activePlatformName);\r
+ PlatformIdentification platformId = GlobalData.getPlatform(filename);\r
\r
//\r
// Read FPD file\r
// Prepare for Platform related common properties\r
// PLATFORM, PLATFORM_DIR, PLATFORM_RELATIVE_DIR\r
//\r
- getProject().setProperty("PLATFORM", activePlatformName);\r
+ getProject().setProperty("PLATFORM", platformId.getName());\r
getProject().setProperty("PLATFORM_DIR", platformId.getFpdFile().getParent().replaceAll("(\\\\)", "/"));\r
getProject().setProperty("PLATFORM_RELATIVE_DIR", platformId.getPlatformRelativeDir().replaceAll("(\\\\)", "/"));\r
}\r
getProject().setProperty(item, (String)backupProperties.get(item));\r
}\r
}\r
+\r
+ public void setSingleModuleBuild(boolean isSingleModuleBuild) {\r
+ this.isSingleModuleBuild = isSingleModuleBuild;\r
+ }\r
}\r