\r
Set<String> sequenceKeys = sequences.keySet();\r
Iterator sequenceIter = sequenceKeys.iterator();\r
- String dependsStr = "";\r
+ String dependsStr = "prebuild";\r
while (sequenceIter.hasNext()) {\r
String num = (String)sequenceIter.next();\r
if (dependsStr.length() > 0) {\r
root.appendChild(document.createComment("Default target"));\r
ele = document.createElement("target");\r
ele.setAttribute("name", "all");\r
- ele.setAttribute("depends", dependsStr + ", userextensions");\r
+ ele.setAttribute("depends", dependsStr + ", postbuild");\r
root.appendChild(ele);\r
\r
//\r
applyCleanall(document, root);\r
\r
//\r
- // User Extension\r
+ // User Extension pre build\r
//\r
- applyUserExtensions(document, root);\r
+ applyUserExtensionsPreBuild(document, root);\r
+ \r
+ //\r
+ // User Extension Post build\r
+ //\r
+ applyUserExtensionsPostBuild(document, root);\r
\r
document.appendChild(rootComment);\r
document.appendChild(root);\r
root.appendChild(ele);\r
}\r
\r
- private void applyUserExtensions(Document document, Node root) {\r
+ private void applyUserExtensionsPreBuild(Document document, Node root) {\r
+ //\r
+ // User Extensions\r
+ //\r
+ root.appendChild(document.createComment("Pre Build Processing"));\r
+ Element ele = document.createElement("target");\r
+ ele.setAttribute("name", "prebuild");\r
+ \r
+ Node node = SurfaceAreaQuery.getFpdUserExtensionPreBuild();\r
+ if (node != null) {\r
+ //\r
+ // For every Target and ToolChain\r
+ //\r
+ String[] targetList = GlobalData.getToolChainInfo().getTargets();\r
+ for (int i = 0; i < targetList.length; i++){\r
+ String[] toolchainList = GlobalData.getToolChainInfo().getTagnames();\r
+ for(int j = 0; j < toolchainList.length; j++){\r
+ //\r
+ // Prepare FV_DIR\r
+ //\r
+ String ffsCommonDir = project.getProperty("BUILD_DIR") + File.separatorChar \r
+ + targetList[i] + File.separatorChar \r
+ + toolchainList[j];\r
+ File fvDir = new File(ffsCommonDir + File.separatorChar + "FV");\r
+ Element fvEle = document.createElement("var");\r
+ fvEle.setAttribute("name", "FV_DIR");\r
+ fvEle.setAttribute("value", fvDir.getPath().replaceAll("(\\\\)", "/"));\r
+ ele.appendChild(fvEle);\r
+ \r
+ NodeList childNodes = node.getChildNodes();\r
+ for (int k = 0; k < childNodes.getLength(); k++) {\r
+ Node childItem = childNodes.item(k);\r
+ if (childItem.getNodeType() == Node.ELEMENT_NODE) {\r
+ ele.appendChild(recursiveNode(childItem, document));\r
+ }\r
+ }\r
+ \r
+ }\r
+ }\r
+ }\r
+ \r
+ root.appendChild(ele);\r
+ }\r
+ \r
+ private void applyUserExtensionsPostBuild(Document document, Node root) {\r
//\r
// User Extensions\r
//\r
- root.appendChild(document.createComment("User Extensions"));\r
+ root.appendChild(document.createComment("Post Build Processing"));\r
Element ele = document.createElement("target");\r
- ele.setAttribute("name", "userextensions");\r
+ ele.setAttribute("name", "postbuild");\r
\r
- Node node = SurfaceAreaQuery.getFpdUserExtension();\r
+ Node node = SurfaceAreaQuery.getFpdUserExtensionPostBuild();\r
if (node != null) {\r
//\r
// For every Target and ToolChain\r