diff options
Diffstat (limited to 'buildbot/setup.py')
-rw-r--r-- | buildbot/setup.py | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/buildbot/setup.py b/buildbot/setup.py new file mode 100644 index 0000000..451f15f --- /dev/null +++ b/buildbot/setup.py @@ -0,0 +1,127 @@ +#!/usr/bin/env python +# +# This software may be freely redistributed under the terms of the GNU +# general public license. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +""" +Standard setup script. +""" + +import sys +import os +import re + +from distutils.core import setup +from buildbot import version + +# Path: twisted!cvstoys!buildbot +from distutils.command.install_data import install_data + + +class install_data_twisted(install_data): + """make sure data files are installed in package. + this is evil. + copied from Twisted/setup.py. + """ + + def finalize_options(self): + self.set_undefined_options('install', + ('install_lib', 'install_dir'), + ) + install_data.finalize_options(self) + +long_description=""" +The BuildBot is a system to automate the compile/test cycle required by +most software projects to validate code changes. By automatically +rebuilding and testing the tree each time something has changed, build +problems are pinpointed quickly, before other developers are +inconvenienced by the failure. The guilty developer can be identified +and harassed without human intervention. By running the builds on a +variety of platforms, developers who do not have the facilities to test +their changes everywhere before checkin will at least know shortly +afterwards whether they have broken the build or not. Warning counts, +lint checks, image size, compile time, and other build parameters can +be tracked over time, are more visible, and are therefore easier to +improve. +""" + +scripts = ["bin/buildbot"] +if sys.platform == "win32": + scripts.append("contrib/windows/buildbot.bat") + scripts.append("contrib/windows/buildbot_service.py") + +testmsgs = [] +for f in os.listdir("buildbot/test/mail"): + if f.endswith("~"): + continue + if re.search(r'\.\d+$', f): + testmsgs.append("buildbot/test/mail/%s" % f) + +setup_args = { + 'name': "buildbot", + 'version': version, + 'description': "BuildBot build automation system", + 'long_description': long_description, + 'author': "Brian Warner", + 'author_email': "warner-buildbot@lothar.com", + 'url': "http://buildbot.net/", + 'license': "GNU GPL", + # does this classifiers= mean that this can't be installed on 2.2/2.3? + 'classifiers': [ + 'Development Status :: 4 - Beta', + 'Environment :: No Input/Output (Daemon)', + 'Environment :: Web Environment', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: GNU General Public License (GPL)', + 'Topic :: Software Development :: Build Tools', + 'Topic :: Software Development :: Testing', + ], + + 'packages': ["buildbot", + "buildbot.status", "buildbot.status.web", + "buildbot.changes", + "buildbot.steps", + "buildbot.steps.package", + "buildbot.steps.package.rpm", + "buildbot.process", + "buildbot.clients", + "buildbot.slave", + "buildbot.scripts", + "buildbot.test", + ], + 'data_files': [("buildbot", ["buildbot/buildbot.png"]), + ("buildbot/clients", ["buildbot/clients/debug.glade"]), + ("buildbot/status/web", + ["buildbot/status/web/classic.css", + "buildbot/status/web/index.html", + "buildbot/status/web/robots.txt", + ]), + ("buildbot/scripts", ["buildbot/scripts/sample.cfg"]), + ("buildbot/test/mail", testmsgs), + ("buildbot/test/subdir", ["buildbot/test/subdir/emit.py"]), + ], + 'scripts': scripts, + 'cmdclass': {'install_data': install_data_twisted}, + } + +try: + # If setuptools is installed, then we'll add setuptools-specific arguments + # to the setup args. + import setuptools +except ImportError: + pass +else: + setup_args['install_requires'] = ['twisted >= 2.0.0'] + entry_points={ + 'console_scripts': [ + 'buildbot = buildbot.scripts.runner:run'], + }, + +setup(**setup_args) + +# Local Variables: +# fill-column: 71 +# End: |