Skip to content

Commit 0e3ed09

Browse files
committed
Use setuptools_scm for easier version handling
1 parent 7bdc25d commit 0e3ed09

File tree

6 files changed

+18
-16
lines changed

6 files changed

+18
-16
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
build/
2+
covimerage/__version__.py

covimerage/__init__.py

+5
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121
RE_SNR_PREFIX = re.compile(r'^<SNR>\d+_')
2222

2323

24+
def get_version():
25+
from covimerage.__version__ import version
26+
return version
27+
28+
2429
@attr.s
2530
class Line(object):
2631
"""A source code line."""

covimerage/__version__.py

-1
This file was deleted.

covimerage/cli.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33

44
import click
55

6-
from . import DEFAULT_COVERAGE_DATA_FILE, MergedProfiles, Profile
7-
from .__version__ import __version__
6+
from . import DEFAULT_COVERAGE_DATA_FILE, MergedProfiles, Profile, get_version
87
from .coveragepy import CoverageWrapper
98
from .exceptions import CustomClickException
109
from .logger import logger
@@ -16,7 +15,7 @@ def default_loglevel():
1615

1716

1817
@click.group(context_settings={'help_option_names': ['-h', '--help']})
19-
@click.version_option(__version__, '-V', '--version', prog_name='covimerage')
18+
@click.version_option(get_version(), '-V', '--version', prog_name='covimerage')
2019
@click.option('-v', '--verbose', count=True, help='Increase verbosity.')
2120
@click.option('-q', '--quiet', count=True, help='Decrease verbosity.')
2221
@click.option('-l', '--loglevel', show_default=True,

setup.py

+6-7
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,6 @@ def read(fname):
1919
return f.read()
2020

2121

22-
# Load the package's __version__.py module as a dictionary.
23-
about = {}
24-
with open(os.path.join(here, 'covimerage', '__version__.py')) as f:
25-
exec(f.read(), about)
26-
27-
2822
class PublishCommand(Command):
2923
"""Support setup.py publish."""
3024

@@ -72,7 +66,6 @@ def run(self):
7266

7367
setup(
7468
name='covimerage',
75-
version=about['__version__'],
7669
description='Generate coverage information for Vim scripts.',
7770
long_description=read('README.md'),
7871
long_description_content_type='text/markdown',
@@ -82,6 +75,12 @@ def run(self):
8275
entry_points={
8376
'console_scripts': ['covimerage=covimerage.cli:main'],
8477
},
78+
use_scm_version={
79+
'write_to': 'covimerage/__version__.py',
80+
},
81+
setup_requires=[
82+
'setuptools_scm',
83+
],
8584
install_requires=[
8685
'attrs',
8786
'click',

tests/test_cli.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44

55
import pytest
66

7-
from covimerage import DEFAULT_COVERAGE_DATA_FILE, cli
8-
from covimerage.__version__ import __version__
7+
from covimerage import DEFAULT_COVERAGE_DATA_FILE, cli, get_version
98
from covimerage._compat import StringIO
109

1110

@@ -18,7 +17,7 @@ def test_dunder_main_run(capfd):
1817
def test_dunder_main_run_help(capfd):
1918
assert call([sys.executable, '-m', 'covimerage', '--version']) == 0
2019
out, err = capfd.readouterr()
21-
assert out == 'covimerage, version %s\n' % __version__
20+
assert out == 'covimerage, version %s\n' % get_version()
2221

2322

2423
def test_cli(runner, tmpdir):
@@ -38,7 +37,7 @@ def test_cli(runner, tmpdir):
3837
@pytest.mark.parametrize('arg', ('-V', '--version'))
3938
def test_cli_version(arg, runner):
4039
result = runner.invoke(cli.main, [arg])
41-
assert result.output == 'covimerage, version %s\n' % __version__
40+
assert result.output == 'covimerage, version %s\n' % get_version()
4241
assert result.exit_code == 0
4342

4443

@@ -238,7 +237,7 @@ def test_cli_run_report_fd(capfd, tmpdir, devnull):
238237
def test_cli_call(capfd):
239238
assert call(['covimerage', '--version']) == 0
240239
out, err = capfd.readouterr()
241-
assert out == 'covimerage, version %s\n' % __version__
240+
assert out == 'covimerage, version %s\n' % get_version()
242241

243242
assert call(['covimerage', '--help']) == 0
244243
out, err = capfd.readouterr()

0 commit comments

Comments
 (0)