1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
# setup.py for coverage.
"""Code coverage measurement for Python
Coverage measures code coverage, typically during test execution. It uses the
code analysis tools and tracing hooks provided in the Python standard library
to determine which lines are executable, and which have been executed.
Code repository and issue tracker are at
`bitbucket.org <http://bitbucket.org/ned/coveragepy>`_.
"""
# This file is used unchanged under all versions of Python, 2.x and 3.x.
classifiers = """
Environment :: Console
Intended Audience :: Developers
License :: OSI Approved :: BSD License
Operating System :: OS Independent
Programming Language :: Python
Topic :: Software Development :: Quality Assurance
Topic :: Software Development :: Testing
"""
# Pull in the tools we need.
import os, sys
if sys.hexversion < 0x03000000:
# In Py 2.x, use setuptools.
from ez_setup import use_setuptools
use_setuptools()
from setuptools import setup
from distutils.core import Extension
package_name = 'coverage'
# The 2.x sources are in coverage
coverage_dir = "coverage"
more_setup_args = dict(
entry_points = {
'console_scripts': [
'coverage = coverage:main',
]
},
# We need to get HTML assets from our htmlfiles dir.
zip_safe = False,
)
else:
# No setuptools yet for Py 3.x, so do without.
from distutils.core import setup, Extension
package_name = 'coverage3k'
# The 3.x sources are in coverage
coverage_dir = "coverage"
more_setup_args = dict(
scripts = [
'scripts/coverage',
],
)
# Get or massage our metadata.
from coverage.version import __version__
doclines = __doc__.split('\n')
classifier_list = [c for c in classifiers.split("\n") if c]
if 'a' in __version__:
devstat = "3 - Alpha"
elif 'b' in __version__:
devstat = "4 - Beta"
else:
devstat = "5 - Production/Stable"
classifier_list.append("Development Status :: " + devstat)
# Set it up!
setup(
name = package_name,
version = __version__,
packages = [
'coverage',
],
package_dir = {
'coverage': coverage_dir,
},
package_data = {
'coverage': [
'htmlfiles/*.*',
]
},
ext_modules = [
Extension("coverage.tracer", sources=["coverage/tracer.c"])
],
author = 'Ned Batchelder',
author_email = 'ned@nedbatchelder.com',
description = doclines[0],
long_description = '\n'.join(doclines[2:]),
keywords = 'code coverage testing',
license = 'BSD',
classifiers = classifier_list,
url = 'http://nedbatchelder.com/code/coverage',
**more_setup_args
)
|