-
Notifications
You must be signed in to change notification settings - Fork 83
/
setup.py
89 lines (80 loc) · 3.03 KB
/
setup.py
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
from setuptools import setup, find_packages
import glob
import os
version = '0.4.76'
name = 'erp5.util'
long_description = open("README.erp5.util.txt").read() + "\n"
for f in sorted(glob.glob(os.path.join('erp5', 'util', 'README.*.txt'))):
long_description += '\n' + open(f).read() + '\n'
long_description += open("CHANGES.erp5.util.txt").read() + "\n"
# silence setuptools, create README.txt
if not os.path.exists('README.txt'):
os.symlink('README.erp5.util.txt', 'README.txt')
benchmark_install_require_list = [name+'[testbrowser]']
# argparse needed for erp5.util.benchmark is only available from python >= 2.7
import sys
python_major_version, python_minor_version = sys.version_info[:2]
if python_major_version == 2 and python_minor_version < 7:
benchmark_install_require_list.append('argparse')
# Only build/install erp5.util package, otherwise other directories may
# be considered as part of erp5.util (such as product)
package_list = ['erp5.%s' % subpackage for subpackage in find_packages('erp5')]
package_list.append('erp5')
setup(name=name,
version=version,
description="ERP5 related utilities.",
long_description=long_description,
classifiers=[
"Development Status :: 2 - Pre-Alpha",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License (GPL)",
"Operating System :: POSIX",
"Programming Language :: Python",
"Topic :: Utilities",
],
url='https://www.erp5.com',
author='The ERP5 Development Team',
keywords='erp5 utilities',
license='GPLv3',
namespace_packages=['erp5', 'erp5.util'],
install_requires=[
'setuptools', # namespaces
'psutil >= 0.5.0',
'six',
],
extras_require={
'testnode': ['slapos.core', 'xml_marshaller', 'psutil >= 0.5.0'],
'testbrowser': ['zope.testbrowser >= 5.0.0', 'z3c.etestbrowser'],
'benchmark': benchmark_install_require_list,
'benchmark-report': [name+'[benchmark]', 'matplotlib', 'numpy'],
'zodbanalyse': ['ZODB'],
'test': [
'mock; python_version < "3"',
'psutil >= 0.5.0',
'setproctitle',
'slapos.core',
'xml_marshaller',
]
},
zip_safe=True,
packages=package_list,
include_package_data=True,
entry_points={
'console_scripts': [
'testnode = erp5.util.testnode:main [testnode]',
'performance_tester_erp5 = '\
'erp5.util.benchmark.performance_tester:main [benchmark]',
'runScalabilityTestSuite = '\
'erp5.util.scalability.runScalabilityTestSuite:main',
'requestUrl = '\
'erp5.util.scalability.requestUrl:main',
'generate_erp5_tester_report = '\
'erp5.util.benchmark.report:generateReport [benchmark-report]',
],
},
)
# cleanup garbage
if os.path.islink('README.txt'):
if os.readlink('README.txt') == 'README.erp5.util.txt':
os.unlink('README.txt')