Thu Apr 17 14:02:59 MDT 2008 zooko@zooko.com
* setup: use the console_scripts feature of setuptools for buildbot, darcs_buildbot, and buildbot_service
Also use the find_packages() feature of setuptools instead of an explicit list of packages in setup.py. Also make contrib and contrib/windows be packages (by adding __init__.py files to them) so that they can be imported at run-time by the console scripts.
diff -rN -u old-trunk/contrib/darcs_buildbot.py new-trunk/contrib/darcs_buildbot.py
--- old-trunk/contrib/darcs_buildbot.py 2008-04-17 14:04:21.000000000 -0600
+++ new-trunk/contrib/darcs_buildbot.py 2008-04-17 14:04:21.000000000 -0600
@@ -159,6 +159,9 @@
f.write(lastchange)
f.close()
-if __name__ == '__main__':
+def main():
MASTER = sys.argv[1]
sendChanges(MASTER)
+
+if __name__ == '__main__':
+ main()
diff -rN -u old-trunk/setup.py new-trunk/setup.py
--- old-trunk/setup.py 2008-04-17 14:04:21.000000000 -0600
+++ new-trunk/setup.py 2008-04-17 14:04:21.000000000 -0600
@@ -1,7 +1,6 @@
#! /usr/bin/env python
import sys, os, re
-from distutils.core import setup
from buildbot import version
# Path: twisted!cvstoys!buildbot
@@ -32,11 +31,6 @@
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("~"):
@@ -64,16 +58,6 @@
'Topic :: Software Development :: Testing',
],
- 'packages': ["buildbot",
- "buildbot.status", "buildbot.status.web",
- "buildbot.changes",
- "buildbot.steps",
- "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",
@@ -85,7 +69,6 @@
("buildbot/test/mail", testmsgs),
("buildbot/test/subdir", ["buildbot/test/subdir/emit.py"]),
],
- 'scripts ': scripts,
'cmdclass': {'install_data': install_data_twisted},
}
@@ -94,9 +77,32 @@
# to the setup args.
import setuptools
except ImportError:
- pass
+ from distutils.core import setup
+ setup_args['scripts'] = ["bin/buildbot"]
+ if sys.platform == "win32":
+ setup_args['scripts'].append("contrib/windows/buildbot.bat")
+ setup_args['scripts'].append("contrib/windows/buildbot_service.py")
+ setup_args['packages'] = ["buildbot",
+ "buildbot.status", "buildbot.status.web",
+ "buildbot.changes",
+ "buildbot.steps",
+ "buildbot.process",
+ "buildbot.clients",
+ "buildbot.slave",
+ "buildbot.scripts",
+ "buildbot.test",
+ ],
else:
+ from setuptools import find_packages, setup
setup_args['install_requires'] = ['twisted >= 2.4.0']
+ setup_args['entry_points'] = {
+ 'console_scripts': [
+ 'buildbot = buildbot.scripts.runner:run',
+ 'buildbot_service = contrib.windows.buildbot_service:HandleCommandLine',
+ 'darcs_buildbot = contrib.darcs_buildbot:main'
+ ]
+ }
+ setup_args['packages'] = find_packages()
setup(**setup_args)