import java.io.File;\r
import java.util.LinkedHashMap;\r
import java.util.Map;\r
+import java.io.FileNotFoundException;\r
import java.io.FileOutputStream;\r
import java.io.OutputStreamWriter;\r
\r
import javax.xml.parsers.DocumentBuilder;\r
import javax.xml.parsers.DocumentBuilderFactory;\r
+import javax.xml.parsers.ParserConfigurationException;\r
import javax.xml.transform.OutputKeys;\r
import javax.xml.transform.Result;\r
import javax.xml.transform.Source;\r
import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerConfigurationException;\r
+import javax.xml.transform.TransformerException;\r
import javax.xml.transform.TransformerFactory;\r
import javax.xml.transform.dom.DOMSource;\r
import javax.xml.transform.stream.StreamResult;\r
\r
import org.apache.tools.ant.BuildException;\r
import org.apache.tools.ant.Project;\r
+import org.tianocore.build.exception.GenBuildException;\r
import org.tianocore.build.fpd.FpdParserTask;\r
import org.tianocore.build.global.SurfaceAreaQuery;\r
-import org.tianocore.build.global.PropertyManager;\r
import org.tianocore.build.id.FpdModuleIdentification;\r
import org.tianocore.build.id.ModuleIdentification;\r
import org.tianocore.build.id.PackageIdentification;\r
+import org.tianocore.common.exception.EdkException;\r
import org.w3c.dom.Comment;\r
import org.w3c.dom.Document;\r
import org.w3c.dom.Element;\r
/// Pass: TARGET, TOOLCHAIN, ARCH\r
/// PACKAGE, PACKAGE_GUID, PACKAGE_VERSION\r
///\r
- String[] inheritProperties = {"ARCH", "MODULE_GUID", "MODULE_VERSION", "PLATFORM_FILE", "PACKAGE_GUID", "PACKAGE_VERSION"};\r
+ String[] inheritProperties = {"ARCH", "MODULE_GUID", "MODULE_VERSION", "PACKAGE_GUID", "PACKAGE_VERSION"};\r
\r
///\r
/// The information at the header of <em>build.xml</em>.\r
@throws BuildException\r
Error throws during BaseName_build.xml generating. \r
**/\r
- public void genBuildFile(String buildFilename) throws BuildException {\r
+ public void genBuildFile(String buildFilename) throws GenBuildException, EdkException {\r
FfsProcess fp = new FfsProcess();\r
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();\r
try {\r
xformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");\r
xformer.setOutputProperty(OutputKeys.INDENT, "yes");\r
xformer.transform(source, result);\r
- } catch (Exception ex) {\r
- throw new BuildException("Generating the module [" + fpdModuleId.getModule().getName() + "] build.xml file failed!.\n" + ex.getMessage());\r
+ } catch (ParserConfigurationException ex) {\r
+ GenBuildException e = new GenBuildException("Generating the module [" + fpdModuleId.getModule().getName() + "] build.xml file failed!.\n" + ex.getMessage());\r
+ e.setStackTrace(ex.getStackTrace());\r
+ throw e;\r
+ } catch (FileNotFoundException ex) {\r
+ GenBuildException e = new GenBuildException("Generating the module [" + fpdModuleId.getModule().getName() + "] build.xml file failed!.\n" + ex.getMessage());\r
+ e.setStackTrace(ex.getStackTrace());\r
+ throw e;\r
+ } catch (TransformerConfigurationException ex) {\r
+ GenBuildException e = new GenBuildException("Generating the module [" + fpdModuleId.getModule().getName() + "] build.xml file failed!.\n" + ex.getMessage());\r
+ e.setStackTrace(ex.getStackTrace());\r
+ throw e;\r
+ } catch (TransformerException ex) {\r
+ GenBuildException e = new GenBuildException("Generating the module [" + fpdModuleId.getModule().getName() + "] build.xml file failed!.\n" + ex.getMessage());\r
+ e.setStackTrace(ex.getStackTrace());\r
+ throw e;\r
}\r
}\r
\r
@param document current BaseName_build.xml XML document\r
@param root Root element for current\r
**/\r
- private void applyLibraryInstance(Document document, Node root) {\r
+ private void applyLibraryInstance(Document document, Node root) throws EdkException {\r
ModuleIdentification[] libinstances = saq.getLibraryInstance(fpdModuleId.getArch());\r
for (int i = 0; i < libinstances.length; i++) {\r
//\r
for (int i = 0; i < sourceFiles.length; i++) {\r
str += " " + sourceFiles[i][1];\r
}\r
- PropertyManager.setProperty(project, "SOURCE_FILES", str.replaceAll("(\\\\)", "/"));\r
+ project.setProperty("SOURCE_FILES", str.replaceAll("(\\\\)", "/"));\r
}\r
\r
/**\r