def hook(self): self.config['include_package_data'] = 'True' packaging.append_text_list(self.config, 'dependency_links', packaging.parse_dependency_links()) packaging.append_text_list( self.config, 'tests_require', packaging.parse_requirements(packaging.TEST_REQUIREMENTS_FILES))
def hook(self): packaging.append_text_list( self.config, 'dependency_links', packaging.parse_dependency_links()) packaging.append_text_list( self.config, 'tests_require', packaging.parse_requirements( packaging.TEST_REQUIREMENTS_FILES))
def setup_hook(config): """Filter config parsed from a setup.cfg to inject our defaults.""" metadata = config['metadata'] metadata['version'] = packaging.get_version(metadata['name'], metadata.get('version', None)) metadata['requires_dist'] = "\n".join(packaging.parse_requirements()) config['metadata'] = metadata config['global'] = config.get('global', dict()) config['global']['commands'] = config['global'].get('commands', "") + """ pbr.packaging.LocalSDist """ if packaging.have_sphinx(): config['global']['commands'] = config['global']['commands'] + """ pbr.packaging.LocalBuildDoc pbr.packaging.LocalBuildLatex """ pbr_config = config.get('pbr', dict()) use_egg = packaging.get_boolean_option( pbr_config, 'use-egg', 'PBR_USE_EGG') # We always want non-egg install unless explicitly requested if 'manpages' in pbr_config or not use_egg: config['global']['commands'] = config['global']['commands'] + """ pbr.packaging.DistutilsInstall """ backwards_compat = config.get('backwards_compat', dict()) backwards_compat['dependency_links'] = "\n".join( packaging.parse_dependency_links()) backwards_compat['include_package_data'] = 'True' backwards_compat['tests_require'] = "\n".join( packaging.parse_requirements( ["test-requirements.txt", "tools/test-requires"])) config['backwards_compat'] = backwards_compat files = config.get('files', dict()) package = files.get('packages', metadata['name']).strip() if os.path.isdir(package): files['packages'] = smart_find_packages(package) if 'manpages' in pbr_config: man_sections = dict() manpages = pbr_config['manpages'] data_files = files.get('data_files', '') for manpage in manpages.split(): section_number = manpage.strip()[-1] section = man_sections.get(section_number, list()) section.append(manpage.strip()) man_sections[section_number] = section for (section, pages) in man_sections.items(): manpath = os.path.join(packaging.get_manpath(), 'man%s' % section) data_files = "%s\n%s" % (data_files, "%s =" % manpath) for page in pages: data_files = "%s\n%s" % (data_files, page) files['data_files'] = data_files config['files'] = files
def hook(self): self.config['include_package_data'] = 'True' packaging.append_text_list( self.config, 'dependency_links', packaging.parse_dependency_links()) packaging.append_text_list( self.config, 'tests_require', packaging.parse_requirements( packaging.TEST_REQUIREMENTS_FILES))
def hook(self): self.config['include_package_data'] = 'True' packaging.append_text_list( self.config, 'dependency_links', packaging.parse_dependency_links()) packaging.append_text_list( self.config, 'tests_require', packaging.parse_requirements( ["test-requirements.txt", "tools/test-requires"]))
def test_parse_repo_url_dependency_links(self): result = packaging.parse_dependency_links([self.requirements]) self.assertEqual( result, [ 'git+git://git.project.org/Proj#egg=Proj1', 'git+https://git.project.org/Proj#egg=Proj2-0.0.1', 'git+ssh://git.project.org/Proj#egg=Proj3', 'svn+svn://svn.project.org/svn/Proj#egg=Proj4-0.0.2', 'svn+http://svn.project.org/svn/Proj/trunk@2019#egg=Proj5', 'hg+http://hg.project.org/Proj@da39a3ee5e6b#egg=Proj-0.0.3', 'hg+http://hg.project.org/Proj@2019#egg=Proj', 'hg+http://hg.project.org/[email protected]#egg=Proj-0.0.4', 'hg+http://hg.project.org/Proj@special_feature#egg=Proj'])
def _process_requirements(cls, config, field, defaults): existing_requirements_files = cls._get_requirements(config, field, defaults) top_one = existing_requirements_files[0] if existing_requirements_files else None if not top_one: return Requirements([], [], []) with cls._cd_to_file(top_one) as (dirname, filename): # # pbr doesn't guess cwd from file path requirements = packaging.parse_requirements([filename]) referenced_files = cls._find_linked_requirements_files(top_one) currdir = os.getcwd() normalized_referenced_files = [x[len(currdir) + 1:] for x in referenced_files] dependency_links = packaging.parse_dependency_links(referenced_files) return Requirements(requirements, normalized_referenced_files, dependency_links)
def test_parse_repo_url_dependency_links(self): result = packaging.parse_dependency_links([self.requirements]) self.assertEqual( [ 'git+git://git.pro-ject.org/oslo.messaging#egg=oslo.messaging-1.0.0-rc', # noqa 'git+git://git.pro-ject.org/django-thumborize#egg=django-thumborize', # noqa 'git+git://git.pro-ject.org/django-thumborize#egg=django-thumborize-beta', # noqa 'git+git://git.pro-ject.org/django-thumborize#egg=django-thumborize2-beta', # noqa 'git+git://git.pro-ject.org/django-thumborize#egg=django-thumborize2-beta-4.0.1', # noqa 'git+git://git.pro-ject.org/django-thumborize#egg=django-thumborize2-beta-1.0.0-alpha.beta.1', # noqa 'git+git://git.pro-ject.org/django-thumborize#egg=django-thumborize2-beta-1.0.0-alpha-a.b-c-somethinglong+build.1-aef.1-its-okay', # noqa 'git+git://git.pro-ject.org/django-thumborize#egg=django-thumborize2-beta-2.0.0-rc.1+build.123', # noqa 'git+git://git.project.org/Proj#egg=Proj1', 'git+https://git.project.org/Proj#egg=Proj2-0.0.1', 'git+ssh://git.project.org/Proj#egg=Proj3', 'svn+svn://svn.project.org/svn/Proj#egg=Proj4-0.0.2', 'svn+http://svn.project.org/svn/Proj/trunk@2019#egg=Proj5', 'hg+http://hg.project.org/Proj@da39a3ee5e6b#egg=Proj-0.0.3', 'hg+http://hg.project.org/Proj@2019#egg=Proj', 'hg+http://hg.project.org/[email protected]#egg=Proj-0.0.4', 'hg+http://hg.project.org/Proj@special_feature#egg=Proj', 'git://foo.com/zipball#egg=foo-bar-1.2.4'], result)
def _process_requirements(cls, config, field, defaults): existing_requirements_files = cls._get_requirements( config, field, defaults) top_one = existing_requirements_files[ 0] if existing_requirements_files else None if not top_one: return Requirements([], [], []) with cls._cd_to_file(top_one) as ( dirname, filename): # # pbr doesn't guess cwd from file path requirements = packaging.parse_requirements([filename]) referenced_files = cls._find_linked_requirements_files(top_one) currdir = os.getcwd() normalized_referenced_files = [ x[len(currdir) + 1:] for x in referenced_files ] dependency_links = packaging.parse_dependency_links(referenced_files) return Requirements(requirements, normalized_referenced_files, dependency_links)
def test_parse_dependency_with_git_egg_url(self): with open(self.tmp_file, "w") as fh: fh.write("-e git://foo.com/zipball#egg=bar") self.assertEqual( ["git://foo.com/zipball#egg=bar"], packaging.parse_dependency_links([self.tmp_file]))
def test_parse_dependency_normal(self): with open(self.tmp_file, "w") as fh: fh.write("http://test.com\n") self.assertEqual( ["http://test.com"], packaging.parse_dependency_links([self.tmp_file]))