def pyscaffold_keyword(dist, keyword, value): """ Handles the `use_pyscaffold` keyword of the setup(...) command :param dist: distribution object as :obj:`setuptools.dist` :param keyword: keyword argument = 'use_pyscaffold' :param value: value of the keyword argument """ check_setuptools_version() if value: # If value is a dictionary we keep it otherwise use for configuration value = value if isinstance(value, dict) else dict() command_options = dist.command_options.copy() cmdclass = dist.cmdclass.copy() deactivate_pbr_authors_changelog() read_setup_cfg(dist, keyword, True) try: dist.metadata.version = get_version( root=value.get('root', get_git_root()), version_scheme=value.get('version_scheme', version2str), local_scheme=value.get('local_scheme', local_version2str)) except Exception as e: trace('error', e) # Adding old command classes and options since pbr seems to drop these dist.cmdclass['doctest'] = build_cmd_docs() dist.command_options['doctest'] = {'builder': ('setup.py', 'doctest')} dist.cmdclass['test'] = PyTest dist.cmdclass.update(cmdclass) dist.cmdclass.update(command_options)
def pyscaffold_keyword(dist, keyword, value): """ Handles the `use_pyscaffold` keyword of the setup(...) command :param dist: distribution object as :obj:`setuptools.dist` :param keyword: keyword argument = 'use_pyscaffold' :param value: value of the keyword argument """ check_setuptools_version() if value: # If value is a dictionary we keep it otherwise use for configuration value = value if isinstance(value, dict) else dict() command_options = dist.command_options.copy() cmdclass = dist.cmdclass.copy() deactivate_pbr_authors_changelog() read_setup_cfg(dist, keyword, True) try: dist.metadata.version = get_version( version_scheme=value.get('version_scheme', version2str), local_scheme=value.get('local_scheme', local_version2str)) except Exception as e: trace('error', e) # Adding old command classes and options since pbr seems to drop these dist.cmdclass['doctest'] = build_cmd_docs() dist.command_options['doctest'] = {'builder': ('setup.py', 'doctest')} dist.cmdclass['test'] = PyTest dist.cmdclass.update(cmdclass) dist.cmdclass.update(command_options)
def parse(root): import glob from setuptools_scm.utils import trace from setuptools_scm.version import meta for p in glob.iglob(os.path.join(root, '**/__about__.py')): try: about = {} with open(p) as f: exec(f.read(), about) return meta('{0}.dev0+unknown'.format(about["__version__"]), preformatted=True) except: trace('no __version__ in', p) continue else: return None
def pyscaffold_keyword(dist, keyword, value): """ Handles the `use_pyscaffold` keyword of the setup(...) command :param dist: distribution object as :obj:`setuptools.dist` :param keyword: keyword argument = 'use_pyscaffold' :param value: value of the keyword argument """ _warn_if_setuptools_outdated() if value is True: deactivate_pbr_authors_changelog() read_setup_cfg(dist, keyword, value) try: dist.metadata.version = get_version(version_scheme=version2str, local_scheme=local_version2str) except Exception as e: trace('error', e) # Adding doctest again since PBR seems to drop these dist.cmdclass['doctest'] = build_cmd_docs() dist.command_options['doctest'] = {'builder': ('setup.py', 'doctest')}
def archival_to_version(data): trace('data', data) versions = tags_to_versions(tag_re.findall(data.get('ref-names', ''))) if versions: return meta(versions[0])