]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/pcd/action/PCDAutoGenAction.java
Because Pcd entity, exception and some action package are shared by Building tools...
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / pcd / action / PCDAutoGenAction.java
index 2707c5d1a85dae4336263eb5e00e126de27640e1..40d2b32a9bd613b6bafffe7f550cdb838735c7ce 100644 (file)
@@ -29,11 +29,14 @@ import org.apache.xmlbeans.XmlObject;
 import org.tianocore.build.global.GlobalData;\r
 import org.tianocore.build.global.SurfaceAreaQuery;\r
 import org.tianocore.build.id.ModuleIdentification;\r
-import org.tianocore.build.pcd.entity.MemoryDatabaseManager;\r
-import org.tianocore.build.pcd.entity.Token;\r
-import org.tianocore.build.pcd.entity.UsageInstance;\r
-import org.tianocore.build.pcd.exception.BuildActionException;\r
-import org.tianocore.build.pcd.exception.EntityException;\r
+import org.tianocore.pcd.entity.MemoryDatabaseManager;\r
+import org.tianocore.pcd.entity.Token;\r
+import org.tianocore.pcd.entity.UsageInstance;\r
+import org.tianocore.pcd.exception.BuildActionException;\r
+import org.tianocore.pcd.exception.EntityException;\r
+import org.tianocore.pcd.entity.UsageIdentification;\r
+import org.tianocore.pcd.action.BuildAction;\r
+import org.tianocore.pcd.action.ActionMessage;\r
 \r
 /** This class is to manage how to generate the PCD information into Autogen.c and\r
     Autogen.h.\r
@@ -44,9 +47,9 @@ public class PCDAutoGenAction extends BuildAction {
     ///\r
     private MemoryDatabaseManager dbManager;\r
     ///\r
-    /// The identification for a module.\r
+    /// The identification for a UsageInstance.\r
     /// \r
-    private ModuleIdentification  moduleId;\r
+    private UsageIdentification   usageId;\r
     ///\r
     /// The arch of current module\r
     /// \r
@@ -72,17 +75,8 @@ public class PCDAutoGenAction extends BuildAction {
   \r
       @param moduleName   the module name parameter.\r
     **/\r
-    public void setModuleId(ModuleIdentification moduleId) {\r
-        this.moduleId = moduleId;\r
-    }\r
-\r
-    /**\r
-       set Arch parameter.\r
-       \r
-       @param arch\r
-    **/\r
-    public void setArch(String arch) {\r
-        this.arch = arch;\r
+    public void setUsageId(UsageIdentification usageId) {\r
+        this.usageId = usageId;\r
     }\r
 \r
     /**\r
@@ -136,12 +130,18 @@ public class PCDAutoGenAction extends BuildAction {
                             String               arch,\r
                             boolean              isBuildUsedLibrary,\r
                             String[]             pcdNameArrayInMsa) {\r
+        UsageIdentification usageId = new UsageIdentification(moduleId.getName(), \r
+                                                              moduleId.getGuid(), \r
+                                                              moduleId.getPackage().getName(), \r
+                                                              moduleId.getPackage().getGuid(), \r
+                                                              arch, \r
+                                                              moduleId.getVersion(), \r
+                                                              moduleId.getModuleType());\r
         dbManager       = null;\r
         hAutoGenString  = "";\r
         cAutoGenString  = "";\r
 \r
-        setModuleId(moduleId);\r
-        setArch(arch);\r
+        setUsageId(usageId);\r
         setIsBuildUsedLibrary(isBuildUsedLibrary);\r
         setPcdNameArrayInMsa(pcdNameArrayInMsa);\r
     }\r
@@ -151,7 +151,7 @@ public class PCDAutoGenAction extends BuildAction {
       \r
       @throws BuildActionException Bad parameter.\r
     **/\r
-    void checkParameter() throws BuildActionException {\r
+    public void checkParameter() throws BuildActionException {\r
         \r
     }\r
 \r
@@ -165,7 +165,7 @@ public class PCDAutoGenAction extends BuildAction {
       \r
       @throws BuildActionException Failed to execute this aciton class.\r
     **/\r
-    void performAction() throws BuildActionException {\r
+    public void performAction() throws BuildActionException {\r
         ActionMessage.debug(this, \r
                             "Starting PCDAutoGenAction to generate autogen.h and autogen.c!...");\r
         //\r
@@ -200,13 +200,13 @@ public class PCDAutoGenAction extends BuildAction {
         String[]              guidStringArray = null;\r
         String                guidStringCName = null;\r
         String                guidString      = null;\r
-        String                moduleName      = moduleId.getName();\r
+        String                moduleName      = usageId.moduleName;\r
         UsageInstance         usageInstance   = null;\r
         boolean               found           = false;\r
 \r
         usageInstanceArray = null;\r
         if (!isBuildUsedLibrary) {\r
-            usageInstanceArray  = dbManager.getUsageInstanceArrayByModuleName(moduleId, arch);\r
+            usageInstanceArray  = dbManager.getUsageInstanceArrayByModuleName(usageId);\r
             dbManager.UsageInstanceContext = usageInstanceArray;\r
             dbManager.CurrentModuleName    = moduleName; \r
         } else if ((pcdNameArrayInMsa != null) && (pcdNameArrayInMsa.length > 0)) {\r
@@ -216,7 +216,7 @@ public class PCDAutoGenAction extends BuildAction {
             // these library should be used to autogen.\r
             // \r
             if (usageContext == null) {\r
-                usageInstanceArray  = dbManager.getUsageInstanceArrayByModuleName(moduleId, arch);\r
+                usageInstanceArray  = dbManager.getUsageInstanceArrayByModuleName(usageId);\r
             } else {\r
                 usageInstanceArray = new ArrayList<UsageInstance>();\r
 \r