]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/ModuleBuildFileGenerator.java
Adding new Logger instead of Ant's.
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / ModuleBuildFileGenerator.java
index f8c78b848e9be34ac43d1f0c9c3c472eda5960af..c02bc1fce8873a467934e77e4e8b567bbfc320d4 100644 (file)
@@ -14,21 +14,26 @@ package org.tianocore.build;
 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.id.FpdModuleIdentification;\r
@@ -90,7 +95,7 @@ public class ModuleBuildFileGenerator {
       @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
@@ -229,8 +234,22 @@ public class ModuleBuildFileGenerator {
             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