import java.util.LinkedHashSet;\r
import java.util.Map;\r
import java.util.Set;\r
+import java.io.FileOutputStream;\r
+import java.io.OutputStreamWriter;\r
\r
import javax.xml.parsers.DocumentBuilder;\r
import javax.xml.parsers.DocumentBuilderFactory;\r
// generate all directory path\r
//\r
(new File(file.getParent())).mkdirs();\r
- Result result = new StreamResult(file);\r
+ FileOutputStream outputStream = new FileOutputStream(file);\r
+ Result result = new StreamResult(new OutputStreamWriter(outputStream));\r
\r
//\r
// Write the DOM document to the file\r
// project.setProperty("LIBS", propertyLibs.replaceAll("(\\\\)", "/"));\r
}\r
\r
+ /**\r
+ Return the name of the directory that corresponds to the architecture.\r
+ This is a translation from the XML Schema tag to a directory that\r
+ corresponds to our directory name coding convention.\r
+ \r
+ **/\r
+ private String archDir(String arch) {\r
+ return arch.replaceFirst("X64", "x64")\r
+ .replaceFirst("IPF", "Ipf")\r
+ .replaceFirst("IA32", "Ia32")\r
+ .replaceFirst("ARM", "Arm")\r
+ .replaceFirst("EBC", "Ebc");\r
+ }\r
+\r
/**\r
Generate the build source files elements for BaseName_build.xml. \r
\r
// Prepare the includes: PackageDependencies and Output debug direactory\r
//\r
Set<String> includes = new LinkedHashSet<String>();\r
+ String arch = project.getProperty("ARCH");\r
\r
//\r
// WORKSPACE\r
//\r
- includes.add("${WORKSPACE_DIR}");\r
+ includes.add("${WORKSPACE_DIR}" + File.separatorChar);\r
\r
//\r
// Module iteself\r
//\r
includes.add("${MODULE_DIR}");\r
- includes.add("${MODULE_DIR}" + File.separatorChar + "${ARCH}");\r
+ includes.add("${MODULE_DIR}" + File.separatorChar + archDir(arch));\r
\r
//\r
// Packages in PackageDenpendencies\r
GlobalData.refreshPackageIdentification(packageDependencies[i]);\r
File packageFile = packageDependencies[i].getSpdFile();\r
includes.add(packageFile.getParent() + File.separatorChar + "Include");\r
- includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + "${ARCH}");\r
+ includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + archDir(arch));\r
}\r
\r
//\r
GlobalData.refreshPackageIdentification(libraryPackageDependencies[j]);\r
File packageFile = libraryPackageDependencies[j].getSpdFile();\r
includes.add(packageFile.getParent() + File.separatorChar + "Include");\r
- includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + "${ARCH}");\r
+ includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + archDir(arch));\r
}\r
SurfaceAreaQuery.pop();\r
}\r
// The package which the module belongs to\r
// TBD\r
includes.add(fpdModuleId.getModule().getPackage().getPackageDir() + File.separatorChar + "Include");\r
- includes.add(fpdModuleId.getModule().getPackage().getPackageDir() + File.separatorChar + "Include" + File.separatorChar + "${ARCH}");\r
+ includes.add(fpdModuleId.getModule().getPackage().getPackageDir() + File.separatorChar + "Include" + File.separatorChar + archDir(arch));\r
\r
//\r
// Debug files output directory\r