def retrieve(self, directory, skip_errors=False): """ Retrieve information about project from directory """ # directory exists? if not path.exists(directory): self.err = "Directory %s does not exist" % directory return False parser_config = ParserConfig() if skip_errors: parser_config.setSkipErrors() parser_config.setNoGodeps(self.noGodeps) parser_config.setParsePath(directory) gse_obj = GoSymbolsExtractor(parser_config) if not gse_obj.extract(): self.err = gse_obj.getError() return False self.godeps_on = gse_obj.godepsDirectoryExists() ip_used = gse_obj.getImportedPackages() self.package_imports_occurence = gse_obj.getPackageImportsOccurences() packages = gse_obj.getSymbolsPosition() tests = gse_obj.getTestDirectories() ips_imported = [] ips_provided = [] # imported paths ipd = ImportPathsDecomposer(ip_used) if not ipd.decompose(): self.err = ipd.getError() return False self.warn = ipd.getWarning() classes = ipd.getClasses() sorted_classes = sorted(classes.keys()) for ip_class in sorted_classes: if ip_class == "Native": continue for ip in classes[ip_class]: self.imported_packages.append(ip) # provided paths for pkg in packages: self.provided_packages.append(packages[pkg]) # project documentation self.docs = self._getDocFiles(directory) self.imported_packages = sorted(self.imported_packages) self.provided_packages = sorted(self.provided_packages) self.test_directories = sorted(tests) return True
def retrieve(self, directory, skip_errors=False): """ Retrieve information about project from directory """ # directory exists? if not path.exists(directory): self.err = "Directory %s does not exist" % directory return False gse_obj = GoSymbolsExtractor(directory, skip_errors=skip_errors, noGodeps=self.noGodeps) if not gse_obj.extract(): self.err = gse_obj.getError() return False self.godeps_on = gse_obj.godepsDirectoryExists() ip_used = gse_obj.getImportedPackages() self.package_imports_occurence = gse_obj.getPackageImportsOccurences() packages = gse_obj.getSymbolsPosition() tests = gse_obj.getTestDirectories() ips_imported = [] ips_provided = [] # imported paths ipd = ImportPathsDecomposer(ip_used) if not ipd.decompose(): self.err = ipd.getError() return False self.warn = ipd.getWarning() classes = ipd.getClasses() sorted_classes = sorted(classes.keys()) for ip_class in sorted_classes: if ip_class == "Native": continue for ip in classes[ip_class]: self.imported_packages.append(ip) # provided paths for pkg in packages: self.provided_packages.append(packages[pkg]) # project documentation self.docs = self._getDocFiles(directory) self.imported_packages = sorted(self.imported_packages) self.provided_packages = sorted(self.provided_packages) self.test_directories = sorted(tests) return True
for dir in options.skipdirs.split(','): dir = dir.strip() if dir == "": continue noGodeps.append(dir) gse_obj = GoSymbolsExtractor(path, imports_only=True, skip_errors=options.skiperrors, noGodeps=noGodeps) if not gse_obj.extract(): fmt_obj.printError(gse_obj.getError()) exit(1) package_imports_occurence = gse_obj.getPackageImportsOccurences() ip_used = gse_obj.getImportedPackages() ipd = ImportPathsDecomposer(ip_used) if not ipd.decompose(): fmt_obj.printError(ipd.getError()) exit(1) warn = ipd.getWarning() if warn != "": fmt_obj.printWarning("Warning: %s" % warn) classes = ipd.getClasses() sorted_classes = sorted(classes.keys()) # get max length of all imports max_len = 0 for element in sorted_classes: if element == "Native": continue
so, se, rc = runCommand("rpmdev-bumpspec %s -c \"First package for Fedora\"" % specfile) if rc != 0: fmt_obj.printErr("Unable to bump spec file: %s" % se) exit(1) fmt_obj.printProgress("(4/%s) Discovering golang dependencies" % total) prj_info = pkg_obj.getProjectInfo() if prj_info == None: fmt_obj.printErr("Unable to bump spec file: %s" % se) exit(1) ip_used = prj_info.getImportedPackages() ipd = ImportPathsDecomposer(ip_used) if not ipd.decompose(): fmt_obj.printErr(ipd.getError()) exit(1) warn = ipd.getWarning() if warn != "": fmt_obj.printWarning(warn) classes = ipd.getClasses() sorted_classes = sorted(classes.keys()) for element in sorted_classes: if element == "Native": continue if element == "Unknown":