]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java
Add exception and log mechanism
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / GenBuildTask.java
index 2104a51e622b735289ce53df57db64e3e21122ea..3127b8706dc3b1dd8a3344fb0089f6782a23cb55 100644 (file)
@@ -50,10 +50,12 @@ import org.w3c.dom.Node;
 import org.tianocore.build.autogen.AutoGen;\r
 import org.tianocore.build.autogen.CommonDefinition;\r
 import org.tianocore.build.fpd.FpdParserTask;\r
+import org.tianocore.build.global.GenBuildLogger;\r
 import org.tianocore.build.global.GlobalData;\r
 import org.tianocore.build.global.OutputManager;\r
 import org.tianocore.build.global.SurfaceAreaQuery;\r
 import org.tianocore.build.toolchain.ToolChainFactory;\r
+import org.tianocore.logger.EdkLog;\r
 import org.tianocore.FilenameDocument;\r
 import org.tianocore.MsaHeaderDocument;\r
 import org.tianocore.MsaLibHeaderDocument;\r
@@ -200,6 +202,13 @@ public class GenBuildTask extends Task {
     **/\r
     public void execute() throws BuildException {\r
         System.out.println("Module [" + baseName + "] start.");\r
+        //\r
+        // Inital GenBuild log  method \r
+        //\r
+        GenBuildLogger logger = new GenBuildLogger(getProject());\r
+        EdkLog.setLogger(logger);\r
+        EdkLog.setLogLevel(1);\r
+        \r
         OutputManager.update(getProject());\r
         GlobalData.initInfo("Tools" + File.separatorChar + "Conf" + File.separatorChar + "FrameworkDatabase.db",\r
                             getProject().getProperty("WORKSPACE_DIR"));\r
@@ -267,6 +276,20 @@ public class GenBuildTask extends Task {
         ant.execute();\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
       Get the dependent library instances and include package name from \r
       surface area, and initialize module include pathes. \r
@@ -281,7 +304,7 @@ public class GenBuildTask extends Task {
                 includes.add("${WORKSPACE_DIR}" + File.separatorChar + GlobalData.getPackagePath(packageName)\r
                              + File.separatorChar + "Include");\r
                 includes.add("${WORKSPACE_DIR}" + File.separatorChar + GlobalData.getPackagePath(packageName)\r
-                             + File.separatorChar + "Include" + File.separatorChar + "${ARCH}");\r
+                             + File.separatorChar + "Include" + File.separatorChar + archDir(arch));\r
             }\r
         }\r
         includes.add("${DEST_DIR_DEBUG}");\r
@@ -1049,10 +1072,13 @@ public class GenBuildTask extends Task {
         getProject().setProperty("SDB_FILES", "");\r
         getProject().setProperty("BASE_NAME", baseName);\r
         if (map.get("MsaHeader") != null) {\r
-            flag = GlobalData.MSA_AND_MBD;\r
-            MsaHeaderDocument.MsaHeader header = ((MsaHeaderDocument) map.get("MsaHeader")).getMsaHeader();\r
-            guid = header.getGuid().getStringValue();\r
-            componentType = header.getComponentType().toString();\r
+            guid = SurfaceAreaQuery.getModuleGuid();//header.getGuid().getStringValue();\r
+            componentType = SurfaceAreaQuery.getComponentType();//header.getComponentType().toString();\r
+            if (!componentType.equalsIgnoreCase("LIBRARY")) {\r
+                flag = GlobalData.MSA_AND_MBD;\r
+            } else {\r
+                flag = GlobalData.LIBMSA_AND_LIBMBD;\r
+            }\r
         } \r
         \r
         else if (map.get("MsaLibHeader") != null) {\r
@@ -1066,7 +1092,7 @@ public class GenBuildTask extends Task {
         if (componentType != null) {\r
             getProject().setProperty("COMPONENT_TYPE", componentType);\r
         }\r
-        \r
+\r
         if (guid != null) {\r
             getProject().setProperty("FILE_GUID", guid);\r
         }\r