-
Notifications
You must be signed in to change notification settings - Fork 31
/
setup.cfg
279 lines (193 loc) · 4.6 KB
/
setup.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
# This file defines the general configuration for the javatools
# wheel, and the tools tox, nose, flake8, coverage, and sphinx
[metadata]
name = javatools
version = 1.6.0
description = Tools for working with Java class files and JARs
author = Christopher O'Brien
author_email = [email protected]
license = GNU Lesser General Public License v3 (LGPLv3)
license_files =
LICENSE
long_description = file: README.md
long_description_content_type = text/markdown
home_page = https://github.com/obriencj/python-javatools
platform = any
project_urls =
Source = https://github.com/obriencj/python-javatools
Bug Reports = https://github.com/obriencj/python-javatools/issues
classifiers =
Development Status :: 5 - Production/Stable
Environment :: Console
Intended Audience :: Developers
Intended Audience :: Information Technology
License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Topic :: Software Development :: Disassemblers
[options]
packages =
javatools
javatools.cheetah
zip_safe = False
setup_requires =
CT3 # Cheetah3
six
install_requires =
CT3 # Cheetah3
six
tests_require =
CT3 # Cheetah3
M2Crypto >= 0.26.0
coverage
six
[options.extras_require]
crypto =
M2Crypto >= 0.26.0
[options.package_data]
javatools.cheetah =
*.tmpl
data/*.css
data/*.js
data/*.png
[options.entry_points]
console_scripts =
classdiff=javatools.classdiff:main
classinfo=javatools.classinfo:main
distdiff=javatools.distdiff:main
distinfo=javatools.distinfo:main
jardiff=javatools.jardiff:main
jarinfo=javatools.jarinfo:main
jarutil=javatools.jarutil:main
manifest=javatools.manifest:main
[aliases]
# nose acts enough like the original test command, but without the
# extremely obnoxious deprecation warning. And why are they
# deprecating the test command? So someone can remove approximately 40
# lines of code from setuptools, despite the test command being the
# most convenient and available way to get started with unit testing.
test = nosetests
[tox:tox]
envlist = flake8,py{27,37,38,39,310,311},coverage,bandit,twine
skip_missing_interpreters = true
[testenv]
setenv =
COVERAGE_FILE = .coverage.{envname}
commands =
python -B -m coverage run -m nose
sitepackages = true
download = true
deps =
CT3 # Cheetah3
M2Crypto>=0.26.0
coverage
nose-py3
six
[testenv:py27]
deps =
CT3 # Cheetah3
M2Crypto>=0.26.0
coverage
nose
six
[testenv:bandit]
basepython = python3.9
commands =
python -B -m bandit --ini setup.cfg -qr javatools
deps =
bandit
[testenv:twine]
basepython = python3.9
commands =
python -B setup.py bdist_wheel
python -B -m twine check --strict dist/*.whl
deps =
twine
[testenv:flake8]
basepython = python3.9
commands =
python -B -m flake8 javatools
deps =
flake8
[testenv:coverage]
# this is just here to combine the coverage output
setenv =
COVERAGE_FILE = .coverage
basepython = python
commands =
python -B -m coverage combine
python -B -m coverage report
python -B -m coverage html
[nosetests]
all-modules = 1
no-byte-compile = 1
verbosity = 2
[coverage:run]
source =
javatools
[coverage:report]
exclude_lines =
\.\.\.
pass
pragma: no cover
@abstract
[bandit]
# B101 complains about asserts
skips = B101
[flake8]
# E303 complains about more than one blank lines between methods in a class
# E731 assigning a lambda to a variable
# E741 ambiguous variable name
# F401 ambiguous variable name
# F812 list comprehension redefines variable (I reuse tmp names)
# W504 line break after binary operator
ignore = E303,E731,E741,F401,F812,W504
filename =
*.py
*.pyi
exclude =
__pycache__
.*
build
dist
docs
gh-pages
htmlcov
setup.py
tests
todo
tools
[testenv:sphinx]
basepython = python3.9
commands =
python -B setup.py build_sphinx
# sphinx 7 not only doesn't have a build_sphinx command, but it also
# completely ignores the settings in setup.cfg
deps =
sphinx<7
numpydoc
[build_sphinx]
# some of the configuration for sphinx. The rest of it lives over in
# docs/conf.py
version = 1.6
release = 1.6.0
project = python-javatools
copyright = 2014-2023, Christopher O'Brien
build-dir = build/sphinx
builder = dirhtml html
source-dir = docs
[gh-actions]
python =
2.7: py27
3.7: py37
3.8: py38
3.9: py39, flake8, bandit
3.10: py310
#
# The end.