summaryrefslogtreecommitdiff
path: root/setup.py
blob: 212dc9f6cf2554aa459fa13594b930d2e09af7d3 (plain)
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
# 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>`_.

"""

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 sys

if sys.hexversion < 0x03000000:
    from ez_setup import use_setuptools
    use_setuptools()
    
    from setuptools import setup, find_packages
    from distutils.core import Extension

    setuptools_args = dict(
        entry_points = {
            'console_scripts': [
                'coverage = coverage:main',
                ]
            },
        
        zip_safe = False,    # we need to get HTML assets from our htmlfiles dir.
        )
else:
    from distutils.core import setup, Extension
    setuptools_args = {}


# Get or massage our metadata.

from coverage 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 = 'coverage',
    version = __version__,

    packages = [
        'coverage',
        ],

    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',
    
    **setuptools_args
)