def _GenPackages(self, Skip): Logger.Debug(2, "Generate %s ..." % DT.TAB_PACKAGES) # # Get all Packages # PackageObj = self.Parser.InfPackageSection.Packages # # Go through each arch # for PackageItemObj in PackageObj: # # Need package information for dependency check usage # PackageDependency = PackageDependencyObject() PackageDependency.SetPackageFilePath(NormPath(PackageItemObj.GetPackageName())) PackageDependency.SetSupArchList(ConvertArchList(PackageItemObj.GetSupArchList())) PackageDependency.SetFeatureFlag(PackageItemObj.GetFeatureFlagExp()) PkgInfo = GetPkgInfoFromDec(mws.join(self.WorkSpace, NormPath(PackageItemObj.GetPackageName()))) if PkgInfo[1] and PkgInfo[2]: PackageDependency.SetGuid(PkgInfo[1]) PackageDependency.SetVersion(PkgInfo[2]) elif Skip: continue else: Logger.Error("\nUPT", PARSER_ERROR, ST.ERR_INF_GET_PKG_DEPENDENCY_FAIL % PackageItemObj.GetPackageName(), File=self.FullPath) PackageDependencyList = self.GetPackageDependencyList() PackageDependencyList.append(PackageDependency) self.SetPackageDependencyList(PackageDependencyList)
def FromXml(self, Item, Key): self.Description = XmlElement(Item, '%s/Description' % Key) self.Guid = XmlElement(Item, '%s/GUID' % Key) self.Version = XmlAttribute(XmlNode(Item, '%s/GUID' % Key), 'Version') self.CommonDefines.FromXml(XmlNode(Item, '%s' % Key), Key) PackageDependency = PackageDependencyObject() PackageDependency.SetPackage(self.Description) PackageDependency.SetGuid(self.Guid) PackageDependency.SetVersion(self.Version) PackageDependency.SetFeatureFlag(ConvertNOTEQToNE(self.CommonDefines.FeatureFlag)) PackageDependency.SetSupArchList(self.CommonDefines.SupArchList) return PackageDependency