Mercurial > bitten > bitten-test
comparison setup.py @ 684:a9157ac17ff9 0.6.x
0.6dev: Merging [758:759] from trunk.
author | osimons |
---|---|
date | Fri, 11 Sep 2009 21:32:25 +0000 |
parents | fe344dac8385 |
children | 24c04502b29f |
comparison
equal
deleted
inserted
replaced
681:9d462b71e852 | 684:a9157ac17ff9 |
---|---|
8 # This software is licensed as described in the file COPYING, which | 8 # This software is licensed as described in the file COPYING, which |
9 # you should have received as part of this distribution. The terms | 9 # you should have received as part of this distribution. The terms |
10 # are also available at http://bitten.edgewall.org/wiki/License. | 10 # are also available at http://bitten.edgewall.org/wiki/License. |
11 | 11 |
12 import os | 12 import os |
13 from setuptools import setup, find_packages | |
14 import sys | 13 import sys |
14 from setuptools import setup, find_packages, Feature | |
15 from setuptools.command import egg_info | |
15 | 16 |
16 sys.path.append(os.path.join('doc', 'common')) | 17 sys.path.append(os.path.join('doc', 'common')) |
17 try: | 18 try: |
18 from doctools import build_doc, test_doc | 19 from doctools import build_doc, test_doc |
19 except ImportError: | 20 except ImportError: |
23 # Bug in setuptools/distutils test runner using Python 2.6.2+? | 24 # Bug in setuptools/distutils test runner using Python 2.6.2+? |
24 import logging | 25 import logging |
25 if hasattr(logging, 'logMultiprocessing'): | 26 if hasattr(logging, 'logMultiprocessing'): |
26 logging.logMultiprocessing = 0 | 27 logging.logMultiprocessing = 0 |
27 | 28 |
28 NS = 'http://bitten.cmlenz.net/tools/' | 29 NS_old = 'http://bitten.cmlenz.net/tools/' |
29 recipe_commands = [ | 30 NS_new = 'http://bitten.edgewall.org/tools/' |
30 NS + 'sh#exec = bitten.build.shtools:exec_', | 31 tools = [ |
31 NS + 'sh#pipe = bitten.build.shtools:pipe', | 32 'sh#exec = bitten.build.shtools:exec_', |
32 NS + 'c#configure = bitten.build.ctools:configure', | 33 'sh#pipe = bitten.build.shtools:pipe', |
33 NS + 'c#autoreconf = bitten.build.ctools:autoreconf', | 34 'c#configure = bitten.build.ctools:configure', |
34 NS + 'c#cppunit = bitten.build.ctools:cppunit', | 35 'c#autoreconf = bitten.build.ctools:autoreconf', |
35 NS + 'c#cunit = bitten.build.ctools:cunit', | 36 'c#cppunit = bitten.build.ctools:cppunit', |
36 NS + 'c#gcov = bitten.build.ctools:gcov', | 37 'c#cunit = bitten.build.ctools:cunit', |
37 NS + 'c#make = bitten.build.ctools:make', | 38 'c#gcov = bitten.build.ctools:gcov', |
38 NS + 'mono#nunit = bitten.build.monotools:nunit', | 39 'c#make = bitten.build.ctools:make', |
39 NS + 'java#ant = bitten.build.javatools:ant', | 40 'mono#nunit = bitten.build.monotools:nunit', |
40 NS + 'java#junit = bitten.build.javatools:junit', | 41 'java#ant = bitten.build.javatools:ant', |
41 NS + 'java#cobertura = bitten.build.javatools:cobertura', | 42 'java#junit = bitten.build.javatools:junit', |
42 NS + 'php#phing = bitten.build.phptools:phing', | 43 'java#cobertura = bitten.build.javatools:cobertura', |
43 NS + 'php#phpunit = bitten.build.phptools:phpunit', | 44 'php#phing = bitten.build.phptools:phing', |
44 NS + 'php#coverage = bitten.build.phptools:coverage', | 45 'php#phpunit = bitten.build.phptools:phpunit', |
45 NS + 'python#coverage = bitten.build.pythontools:coverage', | 46 'php#coverage = bitten.build.phptools:coverage', |
46 NS + 'python#distutils = bitten.build.pythontools:distutils', | 47 'python#coverage = bitten.build.pythontools:coverage', |
47 NS + 'python#exec = bitten.build.pythontools:exec_', | 48 'python#distutils = bitten.build.pythontools:distutils', |
48 NS + 'python#figleaf = bitten.build.pythontools:figleaf', | 49 'python#exec = bitten.build.pythontools:exec_', |
49 NS + 'python#pylint = bitten.build.pythontools:pylint', | 50 'python#figleaf = bitten.build.pythontools:figleaf', |
50 NS + 'python#trace = bitten.build.pythontools:trace', | 51 'python#pylint = bitten.build.pythontools:pylint', |
51 NS + 'python#unittest = bitten.build.pythontools:unittest', | 52 'python#trace = bitten.build.pythontools:trace', |
52 NS + 'svn#checkout = bitten.build.svntools:checkout', | 53 'python#unittest = bitten.build.pythontools:unittest', |
53 NS + 'svn#export = bitten.build.svntools:export', | 54 'svn#checkout = bitten.build.svntools:checkout', |
54 NS + 'svn#update = bitten.build.svntools:update', | 55 'svn#export = bitten.build.svntools:export', |
55 NS + 'hg#pull = bitten.build.hgtools:pull', | 56 'svn#update = bitten.build.svntools:update', |
56 NS + 'xml#transform = bitten.build.xmltools:transform' | 57 'hg#pull = bitten.build.hgtools:pull', |
58 'xml#transform = bitten.build.xmltools:transform' | |
57 ] | 59 ] |
58 shared_args = { | 60 recipe_commands = [NS_old + tool for tool in tools] \ |
59 'version': '0.6', | 61 + [NS_new + tool for tool in tools] |
60 'author': 'Edgewall Software', | |
61 'author_email': 'info@edgewall.org', | |
62 'license': 'BSD', | |
63 'url':'http://bitten.edgewall.org/', | |
64 'download_url': 'http://bitten.edgewall.org/wiki/Download', | |
65 'zip_safe': False | |
66 } | |
67 | 62 |
68 if __name__ == '__main__': | 63 class MasterFeature(Feature): |
69 setup( | |
70 name = 'Bitten', | |
71 description = 'Continuous integration for Trac', | |
72 long_description = \ | |
73 """A Trac plugin for collecting software metrics via continuous integration.""", | |
74 | 64 |
75 packages = find_packages(exclude=['*.tests*']), | 65 def exclude_from(self, dist): |
76 package_data = { | 66 # Called when master is disabled (--without-master) |
77 'bitten': ['htdocs/*.*', | 67 pass |
78 'htdocs/charts_library/*.swf', | 68 |
79 'templates/*.html', | 69 def include_in(self, dist): |
80 'templates/*.txt'] | 70 # Called when master is enabled (default, or --with-master) |
81 }, | 71 dist.metadata.name = 'Bitten' |
82 test_suite = 'bitten.tests.suite', | 72 dist.metadata.description = 'Continuous integration for Trac', |
83 tests_require = [ | 73 dist.long_description = "A Trac plugin for collecting software " \ |
84 'figleaf', | 74 "metrics via continuous integration.""" |
75 # Use full manifest when master is included | |
76 egg_info.manifest_maker.template = "MANIFEST.in" | |
77 # Include tests in source distribution | |
78 if 'sdist' in dist.commands: | |
79 dist.packages = find_packages() | |
80 else: | |
81 dist.packages = find_packages(exclude=['*tests*']) | |
82 dist.test_suite = 'bitten.tests.suite' | |
83 dist.package_data = { | |
84 'bitten': ['htdocs/*.*', | |
85 'htdocs/charts_library/*.swf', | |
86 'templates/*.html', | |
87 'templates/*.txt']} | |
88 dist.entry_points['trac.plugins'] = [ | |
89 'bitten.admin = bitten.admin', | |
90 'bitten.main = bitten.main', | |
91 'bitten.master = bitten.master', | |
92 'bitten.web_ui = bitten.web_ui', | |
93 'bitten.testing = bitten.report.testing', | |
94 'bitten.coverage = bitten.report.coverage', | |
95 'bitten.lint = bitten.report.lint', | |
96 'bitten.notify = bitten.notify'] | |
97 | |
98 master = MasterFeature( | |
99 description = "Bitten Master Trac plugin", | |
100 standard = True, | |
101 py_modules = []) | |
102 | |
103 egg_info.manifest_maker.template = "MANIFEST-SLAVE.in" | |
104 | |
105 if os.path.exists(os.path.join(os.path.dirname(__file__), 'MANIFEST.in')): | |
106 available_features = {"master": master} | |
107 else: | |
108 # Building from a slave distribution | |
109 available_features = {} | |
110 | |
111 setup( | |
112 name = 'BittenSlave', | |
113 version = '0.7', | |
114 author = 'Edgewall Software', | |
115 author_email = 'info@edgewall.org', | |
116 license = 'BSD', | |
117 url = 'http://bitten.edgewall.org/', | |
118 download_url = 'http://bitten.edgewall.org/wiki/Download', | |
119 zip_safe = False, | |
120 description = 'Continuous integration build slave for Trac', | |
121 long_description = "A slave for running builds and submitting them to " \ | |
122 "Bitten, the continuous integration system for Trac", | |
123 packages = {}, | |
124 py_modules = ["bitten.__init__", | |
125 "bitten.build.__init__", | |
126 "bitten.build.api", | |
127 "bitten.build.config", | |
128 "bitten.build.ctools", | |
129 "bitten.build.hgtools", | |
130 "bitten.build.javatools", | |
131 "bitten.build.monotools", | |
132 "bitten.build.phptools", | |
133 "bitten.build.pythontools", | |
134 "bitten.build.shtools", | |
135 "bitten.build.svntools", | |
136 "bitten.build.xmltools", | |
137 "bitten.recipe", | |
138 "bitten.slave", | |
139 "bitten.util.__init__", | |
140 "bitten.util.loc", | |
141 "bitten.util.testrunner", | |
142 "bitten.util.xmlio", | |
143 ], | |
144 test_suite = 'bitten.slave_tests.suite', | |
145 tests_require = [ | |
146 'figleaf', | |
147 ], | |
148 entry_points = { | |
149 'console_scripts': [ | |
150 'bitten-slave = bitten.slave:main' | |
85 ], | 151 ], |
86 entry_points = { | 152 'distutils.commands': [ |
87 'console_scripts': [ | 153 'unittest = bitten.util.testrunner:unittest' |
88 'bitten-slave = bitten.slave:main' | 154 ], |
89 ], | 155 'bitten.recipe_commands': recipe_commands |
90 'distutils.commands': [ | 156 }, |
91 'unittest = bitten.util.testrunner:unittest' | 157 features = available_features, |
92 ], | 158 cmdclass = {'build_doc': build_doc, 'test_doc': test_doc} |
93 'trac.plugins': [ | 159 ) |
94 'bitten.admin = bitten.admin', | |
95 'bitten.main = bitten.main', | |
96 'bitten.master = bitten.master', | |
97 'bitten.web_ui = bitten.web_ui', | |
98 'bitten.testing = bitten.report.testing', | |
99 'bitten.coverage = bitten.report.coverage', | |
100 'bitten.lint = bitten.report.lint', | |
101 'bitten.notify = bitten.notify' | |
102 ], | |
103 'bitten.recipe_commands': recipe_commands | |
104 }, | |
105 | |
106 cmdclass = {'build_doc': build_doc, 'test_doc': test_doc}, | |
107 | |
108 **shared_args | |
109 ) |