def getAllPackageFolderInfos(self, projectName): folderInfos = [] self.setPathsForProject(projectName) projConfig = self._schemaLoader.loadProjectConfig(projectName) for packageFolder in projConfig.packageFolders: folderInfo = PackageFolderInfo() folderInfo.path = packageFolder if self._sys.directoryExists(packageFolder): for packageName in self._sys.walkDir(packageFolder): packageDirPath = os.path.join(packageFolder, packageName) if not self._sys.IsDir(packageDirPath): continue installInfoFilePath = os.path.join(packageDirPath, InstallInfoFileName) packageInfo = PackageInfo() packageInfo.name = packageName if self._sys.fileExists(installInfoFilePath): installInfo = YamlSerializer.deserialize(self._sys.readFileAsText(installInfoFilePath)) packageInfo.installInfo = installInfo folderInfo.packages.append(packageInfo) folderInfos.append(folderInfo) return folderInfos
def getAllPackageInfos(self): if not self._packageInfos: self._packageInfos = [] for name in self.getAllPackageNames(): path = self._varMgr.expandPath('[UnityPackagesDir]/{0}'.format(name)) installInfoFilePath = os.path.join(path, InstallInfoFileName) info = PackageInfo() info.name = name info.path = path if self._sys.fileExists(installInfoFilePath): installInfo = YamlSerializer.deserialize(self._sys.readFileAsText(installInfoFilePath)) info.installInfo = installInfo self._packageInfos.append(info) return self._packageInfos