changeset 598:5f3e66e5b451

0.6dev: Running `python setup-slave.py install` now works for installing only the parts of Bitten needed by slave to run builds. Closes #383.
author osimons
date Wed, 29 Jul 2009 12:24:43 +0000
parents 4c3d43adaa48
children b76e6accad72
files MANIFEST-SLAVE.in bitten/__init__.py doc/install.txt setup-slave.py setup.py
diffstat 5 files changed, 126 insertions(+), 109 deletions(-) [+]
line wrap: on
line diff
--- a/MANIFEST-SLAVE.in
+++ b/MANIFEST-SLAVE.in
@@ -3,8 +3,6 @@
 prune doc
 prune scripts
 exclude bitten/*.py
-exclude bitten/build/*.py
-exclude bitten/build/*.py
 exclude bitten/build/tests/*.py
 exclude bitten/report/*.py
 exclude bitten/report/tests/*.py
@@ -14,9 +12,7 @@
 exclude setup.py
 exclude MANIFEST.in
 include bitten/__init__.py
-include bitten/build/__init__.py
-include bitten/build/api.py
-include bitten/build/config.py
+include bitten/build/*.py
 include bitten/recipe.py
 include bitten/slave.py
 include bitten/tests/slave.py
--- a/bitten/__init__.py
+++ b/bitten/__init__.py
@@ -11,5 +11,9 @@
 __docformat__ = 'restructuredtext en'
 try:
     __version__ = __import__('pkg_resources').get_distribution('Bitten').version
-except ImportError:
-    pass
+except:
+    try:
+        __version__ = __import__('pkg_resources').get_distribution(
+                                                    'Bitten-Slave').version
+    except:
+        pass
--- a/doc/install.txt
+++ b/doc/install.txt
@@ -34,6 +34,11 @@
 
   $ python setup.py test
 
+It is also possible to install only the build slave, installing only the
+parts of Bitten that are needed by clients to run builds::
+
+  $ python setup-slave.py install
+
 
 What's left to do now depends on whether you want to use the build master and
 web interface, or just the build slave. In the latter case, you're already
--- a/setup-slave.py
+++ b/setup-slave.py
@@ -10,40 +10,46 @@
 # you should have received as part of this distribution. The terms
 # are also available at http://bitten.edgewall.org/wiki/License.
 
-from setuptools import setup
+from setuptools import setup as setup_slave
 from setuptools.command import egg_info
 
-NS = 'http://bitten.cmlenz.net/tools/'
+from setup import recipe_commands, shared_args
 
 # TODO: there must be a way to pass this altered value in...
 egg_info.manifest_maker.template = "MANIFEST-SLAVE.in"
 
-setup(
-    name = 'Bitten-Slave',
-    version = '0.6',
-    description = 'Continuous integration build slave for Trac',
-    long_description = \
-"""A slave for running builds and submitting them to Bitten, the continuous integration system for Trac""",
-    author = 'Edgewall Software',
-    author_email = 'info@edgewall.org',
-    license = 'BSD',
-    url = 'http://bitten.edgewall.org/',
-    download_url = 'http://bitten.edgewall.org/wiki/Download',
-    zip_safe = False,
+if __name__ == '__main__':
+    setup_slave(
+        name = 'Bitten-Slave',
+        description = 'Continuous integration build slave for Trac',
+        long_description = \
+    """A slave for running builds and submitting them to Bitten, the continuous integration system for Trac""",
 
-    py_modules = ["bitten.__init__", "bitten.slave",
-                 "bitten.build.__init__", "bitten.build.api", "bitten.build.config",
-                 "bitten.recipe", "bitten.tests.slave",
-                 "bitten.util.__init__", "bitten.util.testrunner", "bitten.util.xmlio",
-                ],
-    test_suite = 'bitten.tests.slave',
-    entry_points = {
-        'console_scripts': [
-            'bitten-slave = bitten.slave:main'
-        ],
-        'distutils.commands': [
-            'unittest = bitten.util.testrunner:unittest'
-        ],
-    },
-)
-
+        py_modules = ["bitten.__init__",
+                      "bitten.build.__init__",
+                      "bitten.build.api",
+                      "bitten.build.config",
+                      "bitten.build.ctools",
+                      "bitten.build.hgtools",
+                      "bitten.build.javatools",
+                      "bitten.build.monotools",
+                      "bitten.build.phptools",
+                      "bitten.build.pythontools",
+                      "bitten.build.shtools",
+                      "bitten.build.svntools",
+                      "bitten.build.xmltools",
+                      "bitten.recipe",
+                      "bitten.slave",
+                      "bitten.util.__init__",
+                      "bitten.util.testrunner",
+                      "bitten.util.xmlio",
+                    ],
+        entry_points = {
+            'console_scripts': [
+                'bitten-slave = bitten.slave:main'
+            ],
+            'bitten.recipe_commands': recipe_commands
+        },
+        
+        **shared_args
+    )
--- a/setup.py
+++ b/setup.py
@@ -20,78 +20,84 @@
     build_doc = test_doc = None
 
 NS = 'http://bitten.cmlenz.net/tools/'
-
-setup(
-    name = 'Bitten',
-    version = '0.6',
-    description = 'Continuous integration for Trac',
-    long_description = \
-"""A Trac plugin for collecting software metrics via continuous integration.""",
-    author = 'Edgewall Software',
-    author_email = 'info@edgewall.org',
-    license = 'BSD',
-    url = 'http://bitten.edgewall.org/',
-    download_url = 'http://bitten.edgewall.org/wiki/Download',
-    zip_safe = False,
+recipe_commands = [
+        NS + 'sh#exec = bitten.build.shtools:exec_',
+        NS + 'sh#pipe = bitten.build.shtools:pipe',
+        NS + 'c#configure = bitten.build.ctools:configure',
+        NS + 'c#autoreconf = bitten.build.ctools:autoreconf',
+        NS + 'c#cppunit = bitten.build.ctools:cppunit',
+        NS + 'c#cunit = bitten.build.ctools:cunit',
+        NS + 'c#gcov = bitten.build.ctools:gcov',
+        NS + 'c#make = bitten.build.ctools:make',
+        NS + 'mono#nunit = bitten.build.monotools:nunit',
+        NS + 'java#ant = bitten.build.javatools:ant',
+        NS + 'java#junit = bitten.build.javatools:junit',
+        NS + 'java#cobertura = bitten.build.javatools:cobertura',
+        NS + 'php#phing = bitten.build.phptools:phing',
+        NS + 'php#phpunit = bitten.build.phptools:phpunit',
+        NS + 'php#coverage = bitten.build.phptools:coverage',
+        NS + 'python#coverage = bitten.build.pythontools:coverage',
+        NS + 'python#distutils = bitten.build.pythontools:distutils',
+        NS + 'python#exec = bitten.build.pythontools:exec_',
+        NS + 'python#figleaf = bitten.build.pythontools:figleaf',
+        NS + 'python#pylint = bitten.build.pythontools:pylint',
+        NS + 'python#trace = bitten.build.pythontools:trace',
+        NS + 'python#unittest = bitten.build.pythontools:unittest',
+        NS + 'svn#checkout = bitten.build.svntools:checkout',
+        NS + 'svn#export = bitten.build.svntools:export',
+        NS + 'svn#update = bitten.build.svntools:update',
+        NS + 'hg#pull = bitten.build.hgtools:pull',
+        NS + 'xml#transform = bitten.build.xmltools:transform'
+    ]
+shared_args = {
+        'version': '0.6',
+        'author': 'Edgewall Software',
+        'author_email': 'info@edgewall.org',
+        'license': 'BSD',
+        'url':'http://bitten.edgewall.org/',
+        'download_url': 'http://bitten.edgewall.org/wiki/Download',
+        'zip_safe': False
+    }
 
-    packages = find_packages(exclude=['*.tests*']),
-    package_data = {
-        'bitten': ['htdocs/*.*',
-                   'htdocs/charts_library/*.swf',
-                   'templates/*.html',
-                   'templates/*.txt']
-    },
-    test_suite = 'bitten.tests.suite',
-    tests_require = [
-        'figleaf',
-    ],
-    entry_points = {
-        'console_scripts': [
-            'bitten-slave = bitten.slave:main'
-        ],
-        'distutils.commands': [
-            'unittest = bitten.util.testrunner:unittest'
+if __name__ == '__main__':
+    setup(
+        name = 'Bitten',
+        description = 'Continuous integration for Trac',
+        long_description = \
+    """A Trac plugin for collecting software metrics via continuous integration.""",
+
+        packages = find_packages(exclude=['*.tests*']),
+        package_data = {
+            'bitten': ['htdocs/*.*',
+                       'htdocs/charts_library/*.swf',
+                       'templates/*.html',
+                       'templates/*.txt']
+        },
+        test_suite = 'bitten.tests.suite',
+        tests_require = [
+            'figleaf',
         ],
-        'trac.plugins': [
-            'bitten.admin = bitten.admin',
-            'bitten.main = bitten.main',
-            'bitten.master = bitten.master',
-            'bitten.web_ui = bitten.web_ui',
-            'bitten.testing = bitten.report.testing',
-            'bitten.coverage = bitten.report.coverage',
-            'bitten.lint = bitten.report.lint',
-            'bitten.notify = bitten.notify'
-        ],
-        'bitten.recipe_commands': [
-            NS + 'sh#exec = bitten.build.shtools:exec_',
-            NS + 'sh#pipe = bitten.build.shtools:pipe',
-            NS + 'c#configure = bitten.build.ctools:configure',
-            NS + 'c#autoreconf = bitten.build.ctools:autoreconf',
-            NS + 'c#cppunit = bitten.build.ctools:cppunit',
-            NS + 'c#cunit = bitten.build.ctools:cunit',
-            NS + 'c#gcov = bitten.build.ctools:gcov',
-            NS + 'c#make = bitten.build.ctools:make',
-            NS + 'mono#nunit = bitten.build.monotools:nunit',
-            NS + 'java#ant = bitten.build.javatools:ant',
-            NS + 'java#junit = bitten.build.javatools:junit',
-            NS + 'java#cobertura = bitten.build.javatools:cobertura',
-            NS + 'php#phing = bitten.build.phptools:phing',
-            NS + 'php#phpunit = bitten.build.phptools:phpunit',
-            NS + 'php#coverage = bitten.build.phptools:coverage',
-            NS + 'python#coverage = bitten.build.pythontools:coverage',
-            NS + 'python#distutils = bitten.build.pythontools:distutils',
-            NS + 'python#exec = bitten.build.pythontools:exec_',
-            NS + 'python#figleaf = bitten.build.pythontools:figleaf',
-            NS + 'python#pylint = bitten.build.pythontools:pylint',
-            NS + 'python#trace = bitten.build.pythontools:trace',
-            NS + 'python#unittest = bitten.build.pythontools:unittest',
-            NS + 'svn#checkout = bitten.build.svntools:checkout',
-            NS + 'svn#export = bitten.build.svntools:export',
-            NS + 'svn#update = bitten.build.svntools:update',
-            NS + 'hg#pull = bitten.build.hgtools:pull',
-            NS + 'xml#transform = bitten.build.xmltools:transform'
-        ]
-    },
+        entry_points = {
+            'console_scripts': [
+                'bitten-slave = bitten.slave:main'
+            ],
+            'distutils.commands': [
+                'unittest = bitten.util.testrunner:unittest'
+            ],
+            'trac.plugins': [
+                'bitten.admin = bitten.admin',
+                'bitten.main = bitten.main',
+                'bitten.master = bitten.master',
+                'bitten.web_ui = bitten.web_ui',
+                'bitten.testing = bitten.report.testing',
+                'bitten.coverage = bitten.report.coverage',
+                'bitten.lint = bitten.report.lint',
+                'bitten.notify = bitten.notify'
+            ],
+            'bitten.recipe_commands': recipe_commands
+        },
 
-    cmdclass = {'build_doc': build_doc, 'test_doc': test_doc}
-)
+        cmdclass = {'build_doc': build_doc, 'test_doc': test_doc},
+        
+        **shared_args
+    )
Copyright (C) 2012-2017 Edgewall Software