upgrade-master: add basedir to sys.path, for helper classes
[buildbot.git] / setup.py
blobdfe8ce4a0e0684cc487eb83e4967e22db6c7c7cf
1 #! /usr/bin/python
3 import sys, os
4 from distutils.core import setup
5 from buildbot import version
7 # Path: twisted!cvstoys!buildbot
8 from distutils.command.install_data import install_data
9 class install_data_twisted(install_data):
10 """make sure data files are installed in package.
11 this is evil.
12 copied from Twisted/setup.py.
13 """
14 def finalize_options(self):
15 self.set_undefined_options('install',
16 ('install_lib', 'install_dir')
18 install_data.finalize_options(self)
20 long_description="""
21 The BuildBot is a system to automate the compile/test cycle required by
22 most software projects to validate code changes. By automatically
23 rebuilding and testing the tree each time something has changed, build
24 problems are pinpointed quickly, before other developers are
25 inconvenienced by the failure. The guilty developer can be identified
26 and harassed without human intervention. By running the builds on a
27 variety of platforms, developers who do not have the facilities to test
28 their changes everywhere before checkin will at least know shortly
29 afterwards whether they have broken the build or not. Warning counts,
30 lint checks, image size, compile time, and other build parameters can
31 be tracked over time, are more visible, and are therefore easier to
32 improve.
33 """
35 scripts = ["bin/buildbot"]
36 if sys.platform == "win32":
37 scripts.append("contrib/windows/buildbot.bat")
38 scripts.append("contrib/windows/buildbot_service.py")
40 testmsgs = []
41 for f in os.listdir("buildbot/test/mail"):
42 if f.endswith("~"):
43 continue
44 if f.startswith("msg") or f.startswith("syncmail"):
45 testmsgs.append("buildbot/test/mail/%s" % f)
47 setup(name="buildbot",
48 version=version,
49 description="BuildBot build automation system",
50 long_description=long_description,
51 author="Brian Warner",
52 author_email="warner-buildbot@lothar.com",
53 url="http://buildbot.sourceforge.net/",
54 license="GNU GPL",
55 # does this classifiers= mean that this can't be installed on 2.2/2.3?
56 classifiers=[
57 'Development Status :: 4 - Beta',
58 'Environment :: No Input/Output (Daemon)',
59 'Environment :: Web Environment',
60 'Intended Audience :: Developers',
61 'License :: OSI Approved :: GNU General Public License (GPL)',
62 'Topic :: Software Development :: Build Tools',
63 'Topic :: Software Development :: Testing',
66 packages=["buildbot",
67 "buildbot.status", "buildbot.status.web",
68 "buildbot.changes",
69 "buildbot.steps",
70 "buildbot.process",
71 "buildbot.clients",
72 "buildbot.slave",
73 "buildbot.scripts",
74 "buildbot.test",
76 data_files=[("buildbot", ["buildbot/buildbot.png"]),
77 ("buildbot/clients", ["buildbot/clients/debug.glade"]),
78 ("buildbot/status/web",
79 ["buildbot/status/web/classic.css",
80 "buildbot/status/web/index.html",
81 "buildbot/status/web/robots.txt",
82 ]),
83 ("buildbot/scripts", ["buildbot/scripts/sample.cfg"]),
84 ("buildbot/test/mail", testmsgs),
85 ("buildbot/test/subdir", ["buildbot/test/subdir/emit.py"]),
87 scripts = scripts,
88 cmdclass={'install_data': install_data_twisted},
91 # Local Variables:
92 # fill-column: 71
93 # End: