Merge ~cjwatson/launchpad:declarative-setup into launchpad: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)
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

To post a comment you must log in.
Revision history for this message
Jürgen Gmach (jugmac00) wrote :

LGTM

review: Approve

Preview Diff

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

Subscribers

People subscribed via source and target branches

to status/vote changes: