if (nextMi == null) {\r
continue;\r
}\r
- if (WorkspaceProfile.pcdInMsa(saaModuleSaPcd[i][0], saaModuleSaPcd[i][1], nextMi)) {\r
+ if (WorkspaceProfile.pcdInMsa(saaModuleSaPcd[i][0], saaModuleSaPcd[i][1], arch, nextMi)) {\r
continue nextPcd;\r
}\r
}\r
}\r
}\r
}\r
+ // Check sup arch conformance for the new PCD\r
+ if (msaPcd.getSupArchList() != null) {\r
+ String newPcdArch = msaPcd.getSupArchList().toString();\r
+ if (!newPcdArch.toLowerCase().contains(arch.toLowerCase())) {\r
+ continue;\r
+ }\r
+ }\r
\r
PackageIdentification[] depPkgs = SurfaceAreaQuery.getDependencePkg(null, vMi.get(i));\r
PcdDeclarationsDocument.PcdDeclarations.PcdEntry spdPcd = LookupPcdDeclaration(msaPcd, depPkgs);\r
\r
int pcdSourceCount = 0;\r
for (int i = 0; i < vMi.size(); ++i) {\r
- if (WorkspaceProfile.pcdInMsa(cName, tsGuidCName, vMi.get(i))) {\r
+ if (WorkspaceProfile.pcdInMsa(cName, tsGuidCName, null, vMi.get(i))) {\r
pcdSourceCount++;\r
}\r
}\r
ListIterator li = l.listIterator();\r
while (li.hasNext()) {\r
PcdCodedDocument.PcdCoded.PcdEntry msaPcd = (PcdCodedDocument.PcdCoded.PcdEntry) li.next();\r
+ if (msaPcd.getSupArchList() != null) {\r
+ if (!msaPcd.getSupArchList().toString().toLowerCase().contains(arch.toLowerCase())) {\r
+ continue;\r
+ }\r
+ }\r
PcdDeclarationsDocument.PcdDeclarations.PcdEntry spdPcd = LookupPcdDeclaration(msaPcd, depPkgs);\r
if (spdPcd == null) {\r
//\r
// ToDo Error \r
//\r
- throw new PcdDeclNotFound("No Declaration for PCD Entry " + msaPcd.getCName() + " used by Module "\r
+ throw new PcdDeclNotFound("No Declaration for PCD Entry " + msaPcd.getCName() + "\n used by Module "\r
+ mi.getName() + " or its Library Instances.");\r
}\r
//\r
\r
UserExtensionsDocument.UserExtensions userExts = getfpdBuildOpts().addNewUserExtensions();\r
userExts.setUserID(userId);\r
- userExts.setIdentifier(new BigInteger(id));\r
+ userExts.setIdentifier(id);\r
XmlCursor cursor = userExts.newCursor();\r
cursor.toEndToken();\r
\r
if (!ues.getUserID().equals(userId)) {\r
continue;\r
}\r
- if (ues.getIdentifier() == null || ues.getIdentifier().intValue() != id) {\r
+ if (ues.getIdentifier() == null || ues.getIdentifier() != new Integer(id).toString()) {\r
continue;\r
}\r
XmlCursor cursor = ues.newCursor();\r
if (!ues.getUserID().equals(userId)) {\r
continue;\r
}\r
- if (ues.getIdentifier()== null || ues.getIdentifier().intValue() != id) {\r
+ if (ues.getIdentifier()== null || ues.getIdentifier() != new Integer(id).toString()) {\r
continue;\r
}\r
XmlCursor cursor = ues.newCursor();\r
if (!ues.getUserID().equals(userId)) {\r
continue;\r
}\r
- if (ues.getIdentifier() == null || ues.getIdentifier().intValue() != id) {\r
+ if (ues.getIdentifier() == null || ues.getIdentifier() != new Integer(id).toString()) {\r
continue;\r
}\r
XmlCursor cursor = ues.newCursor();\r
PcdItemTypeConflictException (String pcdName, String info) {\r
ModuleIdentification mi = WorkspaceProfile.getModuleId(info);\r
if (mi != null) {\r
- details = pcdName + " ItemType Conflicts with " + mi.getName() + " in Pkg " + mi.getPackageId().getName(); \r
+ details = pcdName + " ItemType Conflicts with " + mi.getName() + "\n in Pkg " + mi.getPackageId().getName(); \r
}\r
else {\r
- details = pcdName + " ItemType Conflicts with " + info;\r
+ details = pcdName + " ItemType Conflicts with \n" + info;\r
}\r
}\r
\r
moduleInfo2 = info2;\r
}\r
\r
- details = pcdName + " ItemType Conflicts in " + moduleInfo1 + " and " + moduleInfo2;\r
+ details = pcdName + " ItemType Conflicts in \n" + moduleInfo1 + "\n and " + moduleInfo2;\r
}\r
\r
public String getMessage() {\r