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

Subscribers

People subscribed via source and target branches

to status/vote changes: