annotate setup.py @ 879:2c7f9e41c268 0.6.x 0.6b3

0.6b3: Merged changelog [955:956] from trunk and changed version in branch as preparation for tagging 0.6b3.
author osimons
date Thu, 21 Oct 2010 09:54:56 +0000
parents f4d07544722b
children 11fb824892b6
rev   line source
4
196009657e5e Simplify the recipe commands interface:
cmlenz
parents: 3
diff changeset
1 #!/usr/bin/env python
379
0df178e07fdb Use UTF-8 as encoding of source files.
cmlenz
parents: 365
diff changeset
2 # -*- coding: utf-8 -*-
5
738a0ae251f6 Added GPL boilerplate.
cmlenz
parents: 4
diff changeset
3 #
833
f4d07544722b 0.6dev: Merged [910] from trunk.
osimons
parents: 793
diff changeset
4 # Copyright (C) 2007-2010 Edgewall Software
408
933105ab516b Update file headers and other stuff pointing to the old home.
cmlenz
parents: 393
diff changeset
5 # Copyright (C) 2005-2007 Christopher Lenz <cmlenz@gmx.de>
163
634be6cbb808 Flip the switch: Bitten is now BSD-licensed.
cmlenz
parents: 160
diff changeset
6 # All rights reserved.
5
738a0ae251f6 Added GPL boilerplate.
cmlenz
parents: 4
diff changeset
7 #
163
634be6cbb808 Flip the switch: Bitten is now BSD-licensed.
cmlenz
parents: 160
diff changeset
8 # This software is licensed as described in the file COPYING, which
634be6cbb808 Flip the switch: Bitten is now BSD-licensed.
cmlenz
parents: 160
diff changeset
9 # you should have received as part of this distribution. The terms
408
933105ab516b Update file headers and other stuff pointing to the old home.
cmlenz
parents: 393
diff changeset
10 # are also available at http://bitten.edgewall.org/wiki/License.
4
196009657e5e Simplify the recipe commands interface:
cmlenz
parents: 3
diff changeset
11
412
84b8cde2dfd4 Start with documentation.
cmlenz
parents: 410
diff changeset
12 import os
84b8cde2dfd4 Start with documentation.
cmlenz
parents: 410
diff changeset
13 import sys
684
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
14 from setuptools import setup, find_packages, Feature
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
15 from setuptools.command import egg_info
6
9b57159428b0 Fix package list in {{{setup.py}}}.
cmlenz
parents: 5
diff changeset
16
412
84b8cde2dfd4 Start with documentation.
cmlenz
parents: 410
diff changeset
17 sys.path.append(os.path.join('doc', 'common'))
84b8cde2dfd4 Start with documentation.
cmlenz
parents: 410
diff changeset
18 try:
84b8cde2dfd4 Start with documentation.
cmlenz
parents: 410
diff changeset
19 from doctools import build_doc, test_doc
84b8cde2dfd4 Start with documentation.
cmlenz
parents: 410
diff changeset
20 except ImportError:
84b8cde2dfd4 Start with documentation.
cmlenz
parents: 410
diff changeset
21 build_doc = test_doc = None
84b8cde2dfd4 Start with documentation.
cmlenz
parents: 410
diff changeset
22
646
fe344dac8385 0.6dev: Workaround for bug with setuptools and multiprocess logging with Python 2.6.2+. Thanks to Hodgestar (irc) for report and patch.
osimons
parents: 598
diff changeset
23 # Turn off multiprocessing logging
fe344dac8385 0.6dev: Workaround for bug with setuptools and multiprocess logging with Python 2.6.2+. Thanks to Hodgestar (irc) for report and patch.
osimons
parents: 598
diff changeset
24 # Bug in setuptools/distutils test runner using Python 2.6.2+?
fe344dac8385 0.6dev: Workaround for bug with setuptools and multiprocess logging with Python 2.6.2+. Thanks to Hodgestar (irc) for report and patch.
osimons
parents: 598
diff changeset
25 import logging
fe344dac8385 0.6dev: Workaround for bug with setuptools and multiprocess logging with Python 2.6.2+. Thanks to Hodgestar (irc) for report and patch.
osimons
parents: 598
diff changeset
26 if hasattr(logging, 'logMultiprocessing'):
fe344dac8385 0.6dev: Workaround for bug with setuptools and multiprocess logging with Python 2.6.2+. Thanks to Hodgestar (irc) for report and patch.
osimons
parents: 598
diff changeset
27 logging.logMultiprocessing = 0
fe344dac8385 0.6dev: Workaround for bug with setuptools and multiprocess logging with Python 2.6.2+. Thanks to Hodgestar (irc) for report and patch.
osimons
parents: 598
diff changeset
28
684
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
29 NS_old = 'http://bitten.cmlenz.net/tools/'
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
30 NS_new = 'http://bitten.edgewall.org/tools/'
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
31 tools = [
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
32 'sh#exec = bitten.build.shtools:exec_',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
33 'sh#pipe = bitten.build.shtools:pipe',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
34 'c#configure = bitten.build.ctools:configure',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
35 'c#autoreconf = bitten.build.ctools:autoreconf',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
36 'c#cppunit = bitten.build.ctools:cppunit',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
37 'c#cunit = bitten.build.ctools:cunit',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
38 'c#gcov = bitten.build.ctools:gcov',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
39 'c#make = bitten.build.ctools:make',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
40 'mono#nunit = bitten.build.monotools:nunit',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
41 'java#ant = bitten.build.javatools:ant',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
42 'java#junit = bitten.build.javatools:junit',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
43 'java#cobertura = bitten.build.javatools:cobertura',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
44 'php#phing = bitten.build.phptools:phing',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
45 'php#phpunit = bitten.build.phptools:phpunit',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
46 'php#coverage = bitten.build.phptools:coverage',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
47 'python#coverage = bitten.build.pythontools:coverage',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
48 'python#distutils = bitten.build.pythontools:distutils',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
49 'python#exec = bitten.build.pythontools:exec_',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
50 'python#figleaf = bitten.build.pythontools:figleaf',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
51 'python#pylint = bitten.build.pythontools:pylint',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
52 'python#trace = bitten.build.pythontools:trace',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
53 'python#unittest = bitten.build.pythontools:unittest',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
54 'svn#checkout = bitten.build.svntools:checkout',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
55 'svn#export = bitten.build.svntools:export',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
56 'svn#update = bitten.build.svntools:update',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
57 'hg#pull = bitten.build.hgtools:pull',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
58 'xml#transform = bitten.build.xmltools:transform'
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.
osimons
parents: 556
diff changeset
59 ]
684
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
60 recipe_commands = [NS_old + tool for tool in tools] \
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
61 + [NS_new + tool for tool in tools]
408
933105ab516b Update file headers and other stuff pointing to the old home.
cmlenz
parents: 393
diff changeset
62
684
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
63 class MasterFeature(Feature):
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.
osimons
parents: 556
diff changeset
64
684
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
65 def exclude_from(self, dist):
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
66 # Called when master is disabled (--without-master)
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
67 pass
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
68
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
69 def include_in(self, dist):
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
70 # Called when master is enabled (default, or --with-master)
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
71 dist.metadata.name = 'Bitten'
688
eac5ed5a2d88 0.6dev: One comma too much... Merging [765] from trunk.
osimons
parents: 686
diff changeset
72 dist.metadata.description = 'Continuous integration for Trac'
684
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
73 dist.long_description = "A Trac plugin for collecting software " \
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
74 "metrics via continuous integration."""
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
75 # Use full manifest when master is included
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
76 egg_info.manifest_maker.template = "MANIFEST.in"
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
77 # Include tests in source distribution
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
78 if 'sdist' in dist.commands:
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
79 dist.packages = find_packages()
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
80 else:
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
81 dist.packages = find_packages(exclude=['*tests*'])
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
82 dist.test_suite = 'bitten.tests.suite'
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
83 dist.package_data = {
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
84 'bitten': ['htdocs/*.*',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
85 'templates/*.html',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
86 'templates/*.txt']}
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
87 dist.entry_points['trac.plugins'] = [
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
88 'bitten.admin = bitten.admin',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
89 'bitten.main = bitten.main',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
90 'bitten.master = bitten.master',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
91 'bitten.web_ui = bitten.web_ui',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
92 'bitten.testing = bitten.report.testing',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
93 'bitten.coverage = bitten.report.coverage',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
94 'bitten.lint = bitten.report.lint',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
95 'bitten.notify = bitten.notify']
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
96
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
97 master = MasterFeature(
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
98 description = "Bitten Master Trac plugin",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
99 standard = True,
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
100 py_modules = [])
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
101
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
102 egg_info.manifest_maker.template = "MANIFEST-SLAVE.in"
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
103
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
104 if os.path.exists(os.path.join(os.path.dirname(__file__), 'MANIFEST.in')):
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
105 available_features = {"master": master}
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
106 else:
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
107 # Building from a slave distribution
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
108 available_features = {}
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
109
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
110 setup(
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
111 name = 'BittenSlave',
879
2c7f9e41c268 0.6b3: Merged changelog [955:956] from trunk and changed version in branch as preparation for tagging 0.6b3.
osimons
parents: 833
diff changeset
112 version = '0.6b3',
684
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
113 author = 'Edgewall Software',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
114 author_email = 'info@edgewall.org',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
115 license = 'BSD',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
116 url = 'http://bitten.edgewall.org/',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
117 download_url = 'http://bitten.edgewall.org/wiki/Download',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
118 zip_safe = False,
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
119 description = 'Continuous integration build slave for Trac',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
120 long_description = "A slave for running builds and submitting them to " \
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
121 "Bitten, the continuous integration system for Trac",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
122 packages = {},
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
123 py_modules = ["bitten.__init__",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
124 "bitten.build.__init__",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
125 "bitten.build.api",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
126 "bitten.build.config",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
127 "bitten.build.ctools",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
128 "bitten.build.hgtools",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
129 "bitten.build.javatools",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
130 "bitten.build.monotools",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
131 "bitten.build.phptools",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
132 "bitten.build.pythontools",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
133 "bitten.build.shtools",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
134 "bitten.build.svntools",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
135 "bitten.build.xmltools",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
136 "bitten.recipe",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
137 "bitten.slave",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
138 "bitten.util.__init__",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
139 "bitten.util.loc",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
140 "bitten.util.testrunner",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
141 "bitten.util.xmlio",
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
142 ],
726
df8d2cd7e50e 0.6dev: Merge [803] from trunk.
osimons
parents: 688
diff changeset
143 test_suite = 'bitten.tests_slave.suite',
684
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
144 tests_require = [
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
145 'figleaf',
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
146 ],
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
147 entry_points = {
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
148 'console_scripts': [
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
149 'bitten-slave = bitten.slave:main'
213
25f84dd9f159 * Refactoring of build recipes, the file format has changed slightly:
cmlenz
parents: 205
diff changeset
150 ],
684
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
151 'distutils.commands': [
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
152 'unittest = bitten.util.testrunner:unittest'
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
153 ],
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
154 'bitten.recipe_commands': recipe_commands
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
155 },
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
156 features = available_features,
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
157 cmdclass = {'build_doc': build_doc, 'test_doc': test_doc}
a9157ac17ff9 0.6dev: Merging [758:759] from trunk.
osimons
parents: 646
diff changeset
158 )
Copyright (C) 2012-2017 Edgewall Software