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 )
Copyright (C) 2012-2017 Edgewall Software