Merge ~cjwatson/launchpad:declarative-setup into launchpad:master
- Git
- lp:~cjwatson/launchpad
- declarative-setup
- Merge into master
Proposed by
Colin Watson
Status: | Merged |
---|---|
Approved by: | Colin Watson |
Approved revision: | 3c10f9503019ab708ce6c1ac63a47e9a7b40f7e0 |
Merge reported by: | Otto Co-Pilot |
Merged at revision: | not available |
Proposed branch: | ~cjwatson/launchpad:declarative-setup |
Merge into: | launchpad:master |
Diff against target: |
407 lines (+187/-192) 2 files modified
setup.cfg (+186/-0) setup.py (+1/-192) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jürgen Gmach | Approve | ||
Review via email: mp+411326@code.launchpad.net |
Commit message
Move declarative parts of setup.py to setup.cfg
Description of the change
Assisted by https:/
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/setup.cfg b/setup.cfg | |||
2 | index 77c02df..70efbe9 100644 | |||
3 | --- a/setup.cfg | |||
4 | +++ b/setup.cfg | |||
5 | @@ -1,3 +1,189 @@ | |||
6 | 1 | [metadata] | ||
7 | 2 | name = lp | ||
8 | 3 | version = 2.2.3 | ||
9 | 4 | description = A unique collaboration and Bazaar code hosting platform for software projects. | ||
10 | 5 | url = https://launchpad.net/ | ||
11 | 6 | maintainer = Launchpad Developers | ||
12 | 7 | license = Affero GPL v3 | ||
13 | 8 | license_file = LICENSE | ||
14 | 9 | classifiers = | ||
15 | 10 | Development Status :: 5 - Production/Stable | ||
16 | 11 | Intended Audience :: Developers | ||
17 | 12 | Programming Language :: Python | ||
18 | 13 | |||
19 | 14 | [options] | ||
20 | 15 | packages = find: | ||
21 | 16 | # This list should only contain direct dependencies - things imported or | ||
22 | 17 | # used in ZCML. | ||
23 | 18 | install_requires = | ||
24 | 19 | ampoule | ||
25 | 20 | beautifulsoup4[lxml] | ||
26 | 21 | boto3 | ||
27 | 22 | breezy | ||
28 | 23 | celery | ||
29 | 24 | cssutils | ||
30 | 25 | defusedxml | ||
31 | 26 | distro | ||
32 | 27 | dkimpy[ed25519] | ||
33 | 28 | feedparser | ||
34 | 29 | fixtures | ||
35 | 30 | # Required for gunicorn[gthread]. We depend on it explicitly because | ||
36 | 31 | # gunicorn declares its dependency in a way that produces (and thus may | ||
37 | 32 | # cache) different wheels depending on whether it was built on Python 2 | ||
38 | 33 | # or 3 while claiming that the wheels are universal. | ||
39 | 34 | # XXX cjwatson 2020-02-03: Remove this once we're on Python 3. | ||
40 | 35 | futures; python_version < "3.2" | ||
41 | 36 | geoip2 | ||
42 | 37 | gunicorn | ||
43 | 38 | importlib-resources; python_version < "3.7" | ||
44 | 39 | ipython | ||
45 | 40 | jsautobuild | ||
46 | 41 | launchpad-buildd | ||
47 | 42 | launchpadlib | ||
48 | 43 | lazr.batchnavigator | ||
49 | 44 | lazr.config | ||
50 | 45 | lazr.delegates | ||
51 | 46 | lazr.enum | ||
52 | 47 | lazr.jobrunner | ||
53 | 48 | lazr.lifecycle | ||
54 | 49 | lazr.restful | ||
55 | 50 | lazr.sshserver | ||
56 | 51 | lazr.uri | ||
57 | 52 | lpjsmin | ||
58 | 53 | lxml[cssselect] | ||
59 | 54 | Markdown | ||
60 | 55 | meliae | ||
61 | 56 | multipart | ||
62 | 57 | oauth | ||
63 | 58 | oauthlib | ||
64 | 59 | oops | ||
65 | 60 | oops_amqp | ||
66 | 61 | oops_datedir_repo | ||
67 | 62 | oops_timeline | ||
68 | 63 | oops_twisted | ||
69 | 64 | oops_wsgi | ||
70 | 65 | paramiko | ||
71 | 66 | psutil | ||
72 | 67 | pgbouncer | ||
73 | 68 | psycopg2 | ||
74 | 69 | pyasn1 | ||
75 | 70 | pygettextpo | ||
76 | 71 | pygpgme | ||
77 | 72 | pymacaroons | ||
78 | 73 | pystache | ||
79 | 74 | python-debian | ||
80 | 75 | python-keystoneclient | ||
81 | 76 | python-memcached | ||
82 | 77 | python-openid2 | ||
83 | 78 | python-subunit | ||
84 | 79 | python-swiftclient | ||
85 | 80 | pytz | ||
86 | 81 | PyYAML | ||
87 | 82 | rabbitfixture | ||
88 | 83 | requests | ||
89 | 84 | requests-file | ||
90 | 85 | requests-toolbelt | ||
91 | 86 | responses | ||
92 | 87 | secure-cookie | ||
93 | 88 | setproctitle | ||
94 | 89 | setuptools | ||
95 | 90 | six | ||
96 | 91 | soupmatchers | ||
97 | 92 | Sphinx | ||
98 | 93 | statsd | ||
99 | 94 | storm | ||
100 | 95 | talisker[gunicorn] | ||
101 | 96 | tenacity | ||
102 | 97 | testscenarios | ||
103 | 98 | testtools | ||
104 | 99 | timeline | ||
105 | 100 | transaction | ||
106 | 101 | treq | ||
107 | 102 | Twisted[conch,tls] | ||
108 | 103 | txfixtures | ||
109 | 104 | txpkgupload | ||
110 | 105 | virtualenv-tools3 | ||
111 | 106 | wadllib | ||
112 | 107 | WebOb | ||
113 | 108 | WebTest | ||
114 | 109 | Werkzeug | ||
115 | 110 | WSGIProxy2 | ||
116 | 111 | z3c.ptcompat | ||
117 | 112 | zope.app.http | ||
118 | 113 | zope.app.publication | ||
119 | 114 | zope.app.publisher | ||
120 | 115 | zope.app.wsgi[testlayer] | ||
121 | 116 | zope.authentication | ||
122 | 117 | zope.browser | ||
123 | 118 | zope.browsermenu | ||
124 | 119 | zope.browserpage | ||
125 | 120 | zope.browserresource | ||
126 | 121 | zope.component[zcml] | ||
127 | 122 | zope.configuration | ||
128 | 123 | zope.contenttype | ||
129 | 124 | zope.datetime | ||
130 | 125 | zope.error | ||
131 | 126 | zope.event | ||
132 | 127 | zope.exceptions | ||
133 | 128 | zope.formlib | ||
134 | 129 | zope.i18n | ||
135 | 130 | zope.i18nmessageid | ||
136 | 131 | zope.interface | ||
137 | 132 | zope.lifecycleevent | ||
138 | 133 | zope.location | ||
139 | 134 | zope.login | ||
140 | 135 | zope.pagetemplate | ||
141 | 136 | zope.principalregistry | ||
142 | 137 | zope.processlifetime | ||
143 | 138 | zope.proxy | ||
144 | 139 | zope.publisher | ||
145 | 140 | zope.schema | ||
146 | 141 | zope.security | ||
147 | 142 | zope.securitypolicy | ||
148 | 143 | zope.sendmail | ||
149 | 144 | zope.session | ||
150 | 145 | zope.tal | ||
151 | 146 | zope.tales | ||
152 | 147 | zope.testbrowser | ||
153 | 148 | zope.testing | ||
154 | 149 | zope.testrunner[subunit] | ||
155 | 150 | zope.traversing | ||
156 | 151 | zope.vocabularyregistry | ||
157 | 152 | # Loggerhead dependencies. These should be removed once bug 383360 is | ||
158 | 153 | # fixed and we include it as a source dist. | ||
159 | 154 | bleach | ||
160 | 155 | Paste | ||
161 | 156 | PasteDeploy | ||
162 | 157 | SimpleTAL | ||
163 | 158 | include_package_data = True | ||
164 | 159 | package_dir = =lib | ||
165 | 160 | zip_safe = False | ||
166 | 161 | |||
167 | 162 | [options.packages.find] | ||
168 | 163 | where = lib | ||
169 | 164 | |||
170 | 165 | [options.entry_points] | ||
171 | 166 | console_scripts = | ||
172 | 167 | bingtestservice = lp.services.sitesearch.bingtestservice:main | ||
173 | 168 | build-twisted-plugin-cache = lp.services.twistedsupport.plugincache:main | ||
174 | 169 | generate-key-pair = lp.services.crypto.scripts.generatekeypair:main | ||
175 | 170 | harness = lp.scripts.harness:python | ||
176 | 171 | iharness = lp.scripts.harness:ipython | ||
177 | 172 | ipy = IPython.frontend.terminal.ipapp:launch_new_instance | ||
178 | 173 | jsbuild = lp.scripts.utilities.js.jsbuild:main | ||
179 | 174 | kill-test-services = lp.scripts.utilities.killtestservices:main | ||
180 | 175 | killservice = lp.scripts.utilities.killservice:main | ||
181 | 176 | retest = lp.testing.utilities.retest:main | ||
182 | 177 | run = lp.scripts.runlaunchpad:start_launchpad | ||
183 | 178 | run-testapp = lp.scripts.runlaunchpad:start_testapp | ||
184 | 179 | sprite-util = lp.scripts.utilities.spriteutil:main | ||
185 | 180 | start_librarian = lp.scripts.runlaunchpad:start_librarian | ||
186 | 181 | test = lp.scripts.utilities.test:main | ||
187 | 182 | twistd = twisted.scripts.twistd:run | ||
188 | 183 | version-info = lp.scripts.utilities.versioninfo:main | ||
189 | 184 | watch_jsbuild = lp.scripts.utilities.js.watchjsbuild:main | ||
190 | 185 | with-xvfb = lp.scripts.utilities.withxvfb:main | ||
191 | 186 | |||
192 | 1 | [flake8] | 187 | [flake8] |
193 | 2 | # These Python 2 builtins are needed until such time as we finish moving to | 188 | # These Python 2 builtins are needed until such time as we finish moving to |
194 | 3 | # Python 3. | 189 | # Python 3. |
195 | diff --git a/setup.py b/setup.py | |||
196 | index 595f582..d458e34 100644 | |||
197 | --- a/setup.py | |||
198 | +++ b/setup.py | |||
199 | @@ -10,10 +10,7 @@ from string import Template | |||
200 | 10 | import sys | 10 | import sys |
201 | 11 | from textwrap import dedent | 11 | from textwrap import dedent |
202 | 12 | 12 | ||
207 | 13 | from setuptools import ( | 13 | from setuptools import setup |
204 | 14 | find_packages, | ||
205 | 15 | setup, | ||
206 | 16 | ) | ||
208 | 17 | from setuptools.command.develop import develop | 14 | from setuptools.command.develop import develop |
209 | 18 | from setuptools.command.easy_install import ScriptWriter | 15 | from setuptools.command.easy_install import ScriptWriter |
210 | 19 | 16 | ||
211 | @@ -126,196 +123,8 @@ class lp_develop(develop): | |||
212 | 126 | print(os.environ["LPCONFIG"], file=instance_name_file) | 123 | print(os.environ["LPCONFIG"], file=instance_name_file) |
213 | 127 | 124 | ||
214 | 128 | 125 | ||
215 | 129 | __version__ = '2.2.3' | ||
216 | 130 | |||
217 | 131 | setup( | 126 | setup( |
218 | 132 | name='lp', | ||
219 | 133 | version=__version__, | ||
220 | 134 | packages=find_packages('lib'), | ||
221 | 135 | package_dir={'': 'lib'}, | ||
222 | 136 | include_package_data=True, | ||
223 | 137 | zip_safe=False, | ||
224 | 138 | maintainer='Launchpad Developers', | ||
225 | 139 | description=('A unique collaboration and Bazaar code hosting platform ' | ||
226 | 140 | 'for software projects.'), | ||
227 | 141 | license='Affero GPL v3', | ||
228 | 142 | # this list should only contain direct dependencies--things imported or | ||
229 | 143 | # used in zcml. | ||
230 | 144 | install_requires=[ | ||
231 | 145 | 'ampoule', | ||
232 | 146 | 'beautifulsoup4[lxml]', | ||
233 | 147 | 'boto3', | ||
234 | 148 | 'breezy', | ||
235 | 149 | 'celery', | ||
236 | 150 | 'cssutils', | ||
237 | 151 | 'defusedxml', | ||
238 | 152 | 'distro', | ||
239 | 153 | 'dkimpy[ed25519]', | ||
240 | 154 | 'feedparser', | ||
241 | 155 | 'fixtures', | ||
242 | 156 | # Required for gunicorn[gthread]. We depend on it explicitly | ||
243 | 157 | # because gunicorn declares its dependency in a way that produces | ||
244 | 158 | # (and thus may cache) different wheels depending on whether it was | ||
245 | 159 | # built on Python 2 or 3 while claiming that the wheels are | ||
246 | 160 | # universal. | ||
247 | 161 | # XXX cjwatson 2020-02-03: Remove this once we're on Python 3. | ||
248 | 162 | 'futures; python_version < "3.2"', | ||
249 | 163 | 'geoip2', | ||
250 | 164 | 'gunicorn', | ||
251 | 165 | 'importlib-resources; python_version < "3.7"', | ||
252 | 166 | 'ipython', | ||
253 | 167 | 'jsautobuild', | ||
254 | 168 | 'launchpad-buildd', | ||
255 | 169 | 'launchpadlib', | ||
256 | 170 | 'lazr.batchnavigator', | ||
257 | 171 | 'lazr.config', | ||
258 | 172 | 'lazr.delegates', | ||
259 | 173 | 'lazr.enum', | ||
260 | 174 | 'lazr.jobrunner', | ||
261 | 175 | 'lazr.lifecycle', | ||
262 | 176 | 'lazr.restful', | ||
263 | 177 | 'lazr.sshserver', | ||
264 | 178 | 'lazr.uri', | ||
265 | 179 | 'lpjsmin', | ||
266 | 180 | 'lxml[cssselect]', | ||
267 | 181 | 'Markdown', | ||
268 | 182 | 'meliae', | ||
269 | 183 | 'multipart', | ||
270 | 184 | 'oauth', | ||
271 | 185 | 'oauthlib', | ||
272 | 186 | 'oops', | ||
273 | 187 | 'oops_amqp', | ||
274 | 188 | 'oops_datedir_repo', | ||
275 | 189 | 'oops_timeline', | ||
276 | 190 | 'oops_twisted', | ||
277 | 191 | 'oops_wsgi', | ||
278 | 192 | 'paramiko', | ||
279 | 193 | 'psutil', | ||
280 | 194 | 'pgbouncer', | ||
281 | 195 | 'psycopg2', | ||
282 | 196 | 'pyasn1', | ||
283 | 197 | 'pygettextpo', | ||
284 | 198 | 'pygpgme', | ||
285 | 199 | 'pymacaroons', | ||
286 | 200 | 'pystache', | ||
287 | 201 | 'python-debian', | ||
288 | 202 | 'python-keystoneclient', | ||
289 | 203 | 'python-memcached', | ||
290 | 204 | 'python-openid2', | ||
291 | 205 | 'python-subunit', | ||
292 | 206 | 'python-swiftclient', | ||
293 | 207 | 'pytz', | ||
294 | 208 | 'PyYAML', | ||
295 | 209 | 'rabbitfixture', | ||
296 | 210 | 'requests', | ||
297 | 211 | 'requests-file', | ||
298 | 212 | 'requests-toolbelt', | ||
299 | 213 | 'responses', | ||
300 | 214 | 'secure-cookie', | ||
301 | 215 | 'setproctitle', | ||
302 | 216 | 'setuptools', | ||
303 | 217 | 'six', | ||
304 | 218 | 'soupmatchers', | ||
305 | 219 | 'Sphinx', | ||
306 | 220 | 'statsd', | ||
307 | 221 | 'storm', | ||
308 | 222 | 'talisker[gunicorn]', | ||
309 | 223 | 'tenacity', | ||
310 | 224 | 'testscenarios', | ||
311 | 225 | 'testtools', | ||
312 | 226 | 'timeline', | ||
313 | 227 | 'transaction', | ||
314 | 228 | 'treq', | ||
315 | 229 | 'Twisted[conch,tls]', | ||
316 | 230 | 'txfixtures', | ||
317 | 231 | 'txpkgupload', | ||
318 | 232 | 'virtualenv-tools3', | ||
319 | 233 | 'wadllib', | ||
320 | 234 | 'WebOb', | ||
321 | 235 | 'WebTest', | ||
322 | 236 | 'Werkzeug', | ||
323 | 237 | 'WSGIProxy2', | ||
324 | 238 | 'z3c.ptcompat', | ||
325 | 239 | 'zope.app.http', | ||
326 | 240 | 'zope.app.publication', | ||
327 | 241 | 'zope.app.publisher', | ||
328 | 242 | 'zope.app.wsgi[testlayer]', | ||
329 | 243 | 'zope.authentication', | ||
330 | 244 | 'zope.browser', | ||
331 | 245 | 'zope.browsermenu', | ||
332 | 246 | 'zope.browserpage', | ||
333 | 247 | 'zope.browserresource', | ||
334 | 248 | 'zope.component[zcml]', | ||
335 | 249 | 'zope.configuration', | ||
336 | 250 | 'zope.contenttype', | ||
337 | 251 | 'zope.datetime', | ||
338 | 252 | 'zope.error', | ||
339 | 253 | 'zope.event', | ||
340 | 254 | 'zope.exceptions', | ||
341 | 255 | 'zope.formlib', | ||
342 | 256 | 'zope.i18n', | ||
343 | 257 | 'zope.i18nmessageid', | ||
344 | 258 | 'zope.interface', | ||
345 | 259 | 'zope.lifecycleevent', | ||
346 | 260 | 'zope.location', | ||
347 | 261 | 'zope.login', | ||
348 | 262 | 'zope.pagetemplate', | ||
349 | 263 | 'zope.principalregistry', | ||
350 | 264 | 'zope.processlifetime', | ||
351 | 265 | 'zope.proxy', | ||
352 | 266 | 'zope.publisher', | ||
353 | 267 | 'zope.schema', | ||
354 | 268 | 'zope.security', | ||
355 | 269 | 'zope.securitypolicy', | ||
356 | 270 | 'zope.sendmail', | ||
357 | 271 | 'zope.session', | ||
358 | 272 | 'zope.tal', | ||
359 | 273 | 'zope.tales', | ||
360 | 274 | 'zope.testbrowser', | ||
361 | 275 | 'zope.testing', | ||
362 | 276 | 'zope.testrunner[subunit]', | ||
363 | 277 | 'zope.traversing', | ||
364 | 278 | 'zope.vocabularyregistry', | ||
365 | 279 | # Loggerhead dependencies. These should be removed once | ||
366 | 280 | # bug 383360 is fixed and we include it as a source dist. | ||
367 | 281 | 'bleach', | ||
368 | 282 | 'Paste', | ||
369 | 283 | 'PasteDeploy', | ||
370 | 284 | 'SimpleTAL', | ||
371 | 285 | ], | ||
372 | 286 | url='https://launchpad.net/', | ||
373 | 287 | classifiers=[ | ||
374 | 288 | "Development Status :: 5 - Production/Stable", | ||
375 | 289 | "Intended Audience :: Developers", | ||
376 | 290 | "Programming Language :: Python", | ||
377 | 291 | ], | ||
378 | 292 | cmdclass={ | 127 | cmdclass={ |
379 | 293 | 'develop': lp_develop, | 128 | 'develop': lp_develop, |
380 | 294 | }, | 129 | }, |
381 | 295 | entry_points=dict( | ||
382 | 296 | console_scripts=[ # `console_scripts` is a magic name to setuptools | ||
383 | 297 | 'bingtestservice = ' | ||
384 | 298 | 'lp.services.sitesearch.bingtestservice:main', | ||
385 | 299 | 'build-twisted-plugin-cache = ' | ||
386 | 300 | 'lp.services.twistedsupport.plugincache:main', | ||
387 | 301 | 'generate-key-pair = ' | ||
388 | 302 | 'lp.services.crypto.scripts.generatekeypair:main', | ||
389 | 303 | 'harness = lp.scripts.harness:python', | ||
390 | 304 | 'iharness = lp.scripts.harness:ipython', | ||
391 | 305 | 'ipy = IPython.frontend.terminal.ipapp:launch_new_instance', | ||
392 | 306 | 'jsbuild = lp.scripts.utilities.js.jsbuild:main', | ||
393 | 307 | 'kill-test-services = lp.scripts.utilities.killtestservices:main', | ||
394 | 308 | 'killservice = lp.scripts.utilities.killservice:main', | ||
395 | 309 | 'retest = lp.testing.utilities.retest:main', | ||
396 | 310 | 'run = lp.scripts.runlaunchpad:start_launchpad', | ||
397 | 311 | 'run-testapp = lp.scripts.runlaunchpad:start_testapp', | ||
398 | 312 | 'sprite-util = lp.scripts.utilities.spriteutil:main', | ||
399 | 313 | 'start_librarian = lp.scripts.runlaunchpad:start_librarian', | ||
400 | 314 | 'test = lp.scripts.utilities.test:main', | ||
401 | 315 | 'twistd = twisted.scripts.twistd:run', | ||
402 | 316 | 'version-info = lp.scripts.utilities.versioninfo:main', | ||
403 | 317 | 'watch_jsbuild = lp.scripts.utilities.js.watchjsbuild:main', | ||
404 | 318 | 'with-xvfb = lp.scripts.utilities.withxvfb:main', | ||
405 | 319 | ] | ||
406 | 320 | ), | ||
407 | 321 | ) | 130 | ) |
LGTM