1) Switch build message on for PCD action.
2) If SPD file does *not* contains PCD information, it is illegal.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@76
6f19259b-4bc3-4df7-8a09-
765794883524
collectAction.perform (\r
getProject().getProperty("WORKSPACE_DIR"),\r
fpdFilename.getPath(),\r
collectAction.perform (\r
getProject().getProperty("WORKSPACE_DIR"),\r
fpdFilename.getPath(),\r
- ActionMessage.NULL_MESSAGE_LEVEL\r
+ ActionMessage.MAX_MESSAGE_LEVEL\r
);\r
} catch (Exception exp) {\r
throw new BuildException (exp.getMessage());\r
);\r
} catch (Exception exp) {\r
throw new BuildException (exp.getMessage());\r
package org.tianocore.build.pcd.action;\r
\r
import org.apache.tools.ant.Task;\r
package org.tianocore.build.pcd.action;\r
\r
import org.apache.tools.ant.Task;\r
+import org.apache.tools.ant.Project;\r
import org.tianocore.build.pcd.exception.BuildActionException;\r
\r
/** BuildAction is the parent class for all action related to ant Task. This class will\r
import org.tianocore.build.pcd.exception.BuildActionException;\r
\r
/** BuildAction is the parent class for all action related to ant Task. This class will\r
//\r
// Comment following code because in console debug environment, we can't \r
// get Project instance.\r
//\r
// Comment following code because in console debug environment, we can't \r
// get Project instance.\r
- //((Task) action).log(errorText, Project.MSG_INFO);\r
- //\r
- System.out.println(logStr);\r
+ ((Task) action).log(logStr, Project.MSG_INFO);\r
//\r
// Comment following code because in console debug environment, we can't \r
// get Project instance.\r
//\r
// Comment following code because in console debug environment, we can't \r
// get Project instance.\r
- //((Task) action).log(warningText, Project.MSG_WARN);\r
- //\r
- System.out.println(warningStr);\r
+ ((Task) action).log(warningStr, Project.MSG_WARN);\r
token.skuDataArrayEnabled = pcdBuildData.getSkuDataArrayEnable();\r
token.assignedtokenNumber = Integer.decode(pcdBuildData.getToken().getStringValue());\r
skuDataArray = pcdBuildData.getSkuDataArray1();\r
token.skuDataArrayEnabled = pcdBuildData.getSkuDataArrayEnable();\r
token.assignedtokenNumber = Integer.decode(pcdBuildData.getToken().getStringValue());\r
skuDataArray = pcdBuildData.getSkuDataArray1();\r
+ token.datumType = Token.getdatumTypeFromString(pcdBuildData.getDatumType().toString());\r
+\r
if(skuDataArray != null) {\r
for(skuIndex = 0; skuIndex < skuDataArray.size(); skuIndex ++) {\r
//\r
if(skuDataArray != null) {\r
for(skuIndex = 0; skuIndex < skuDataArray.size(); skuIndex ++) {\r
//\r
private void updateTokenBySPD(UsageInstance usageInstance,\r
String packageFullPath) \r
throws EntityException {\r
private void updateTokenBySPD(UsageInstance usageInstance,\r
String packageFullPath) \r
throws EntityException {\r
- PackageSurfaceAreaDocument pkgDoc = null;\r
- List<PcdDefinitions.PcdEntry> pcdEntryArray = new ArrayList<PcdDefinitions.PcdEntry>();\r
- int index;\r
- boolean isFoundInSpd = false;\r
- Token.DATUM_TYPE datumType = Token.DATUM_TYPE.UNKNOWN;\r
+ PackageSurfaceAreaDocument pkgDoc = null;\r
+ PcdDefinitions pcdDefinitions = null;\r
+ List<PcdDefinitions.PcdEntry> pcdEntryArray = new ArrayList<PcdDefinitions.PcdEntry>();\r
+ int index = 0;\r
+ boolean isFoundInSpd = false;\r
+ Token.DATUM_TYPE datumType = Token.DATUM_TYPE.UNKNOWN;\r
\r
try {\r
pkgDoc =(PackageSurfaceAreaDocument)XmlObject.Factory.parse(new File(packageFullPath));\r
\r
try {\r
pkgDoc =(PackageSurfaceAreaDocument)XmlObject.Factory.parse(new File(packageFullPath));\r
} catch(XmlException xmlE) {\r
throw new EntityException("Can't parse the FPD xml fle:" + packageFullPath);\r
}\r
} catch(XmlException xmlE) {\r
throw new EntityException("Can't parse the FPD xml fle:" + packageFullPath);\r
}\r
+ pcdDefinitions = pkgDoc.getPackageSurfaceArea().getPcdDefinitions();\r
+ //\r
+ // It is illege for SPD file does not contains any PCD information.\r
+ //\r
+ if (pcdDefinitions == null) {\r
+ return;\r
+ }\r
- pcdEntryArray = pkgDoc.getPackageSurfaceArea().getPcdDefinitions().getPcdEntryList();\r
+ pcdEntryArray = pcdDefinitions.getPcdEntryList();\r
+ if (pcdEntryArray == null) {\r
+ return;\r
+ }\r
for(index = 0; index < pcdEntryArray.size(); index ++) {\r
if(pcdEntryArray.get(index).getCName().equalsIgnoreCase(\r
usageInstance.parentToken.cName)) {\r
for(index = 0; index < pcdEntryArray.size(); index ++) {\r
if(pcdEntryArray.get(index).getCName().equalsIgnoreCase(\r
usageInstance.parentToken.cName)) {\r
-\r
- if(!isFoundInSpd ) {\r
- ActionMessage.warning(this, \r
- "Can *not* find the PCD token " + usageInstance.parentToken.cName + \r
- " in SPD file!");\r
- }\r