~launchpad-pqm/python-oops-tools/trunk

« back to all changes in this revision

Viewing changes to setup.py

  • Committer: Robert Collins
  • Date: 2011-10-13 20:18:51 UTC
  • Revision ID: robertc@robertcollins.net-20111013201851-ym8jmdhoeol3p83s
Export of cruft-deleted tree.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
#
 
3
# Copyright 2009-2011 Canonical Ltd.  All rights reserved.
 
4
#
 
5
# This program is free software: you can redistribute it and/or modify
 
6
# it under the terms of the GNU Affero General Public License as published by
 
7
# the Free Software Foundation, either version 3 of the License, or
 
8
# (at your option) any later version.
 
9
#
 
10
# This program is distributed in the hope that it will be useful,
 
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
# GNU Affero General Public License for more details.
 
14
#
 
15
# You should have received a copy of the GNU Affero General Public License
 
16
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
17
 
 
18
import ez_setup
 
19
ez_setup.use_setuptools()
 
20
 
 
21
import sys
 
22
from setuptools import setup, find_packages
 
23
 
 
24
# generic helpers primarily for the long_description
 
25
def generate(*docname_or_string):
 
26
    res = []
 
27
    for value in docname_or_string:
 
28
        if value.endswith('.txt'):
 
29
            f = open(value)
 
30
            value = f.read()
 
31
            f.close()
 
32
        res.append(value)
 
33
        if not value.endswith('\n'):
 
34
            res.append('')
 
35
    return '\n'.join(res)
 
36
# end generic helpers
 
37
 
 
38
__version__ = open("src/oopstools/version.txt").read().strip()
 
39
 
 
40
setup(
 
41
    name='oops-tools',
 
42
    version=__version__,
 
43
    namespace_packages=[],
 
44
    packages=find_packages('src'),
 
45
    package_dir={'':'src'},
 
46
    include_package_data=True,
 
47
    zip_safe=False,
 
48
    maintainer='Launchpad Developers',
 
49
    maintainer_email="launchpad-dev@lists.launchpad.net",
 
50
    description=open('README.txt').readline().strip(),
 
51
    long_description=generate(
 
52
        'src/oopstools/README.txt',
 
53
        'src/oopstools/NEWS.txt'),
 
54
    install_requires=[
 
55
        'BeautifulSoup',
 
56
        'fixtures',
 
57
        'launchpadlib',
 
58
        'lazr.config',
 
59
        'oops',
 
60
        'oops-datedir-repo',
 
61
        'pytz',
 
62
        'setuptools',
 
63
        'South',
 
64
        'sqlparse',
 
65
        'testtools',
 
66
        'zope.cachedescriptors',
 
67
        'zope.testbrowser',
 
68
        #'Django', - installed through djangorecipe.
 
69
        ],
 
70
    classifiers=[
 
71
        "Development Status :: 5 - Production/Stable",
 
72
        "Intended Audience :: Developers",
 
73
        "License :: OSI Approved :: GNU Affero General Public License v3",
 
74
        "Operating System :: OS Independent",
 
75
        "Programming Language :: Python"],
 
76
    extras_require=dict(
 
77
        docs=['Sphinx',
 
78
              'z3c.recipe.sphinxdoc']
 
79
    ),
 
80
    entry_points=dict(
 
81
        console_scripts=[ # `console_scripts` is a magic name to setuptools
 
82
            'analyse_error_reports = oopstools.scripts.analyse_error_reports:main',
 
83
            'load_sample_data = oopstools.scripts.load_sample_data:main',
 
84
            'update_db = oopstools.scripts.update_db:main',
 
85
            'dir_finder = oopstools.scripts.dir_finder:main',
 
86
            'report = oopstools.scripts.report:main',
 
87
            'graph_report = oopstools.scripts.graph_report:main',
 
88
        ]
 
89
    ),
 
90
    )