-
-
Notifications
You must be signed in to change notification settings - Fork 450
/
setup.py.tmpl
113 lines (98 loc) · 3.46 KB
/
setup.py.tmpl
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
#!/usr/bin/env python
import os
import sys
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
import mayan
PACKAGE_NAME = 'mayan-edms'
PACKAGE_DIR = 'mayan'
if sys.argv[-1] == 'publish':
os.system('python setup.py sdist upload')
sys.exit()
def fullsplit(path, result=None):
"""
Split a pathname into components (the opposite of os.path.join) in a
platform-neutral way.
"""
if result is None:
result = []
head, tail = os.path.split(path)
if head == '':
return [tail] + result
if head == path:
return result
return fullsplit(head, [tail] + result)
def find_packages(directory):
# Compile the list of packages available, because distutils doesn't have
# an easy way to do this.
packages, data_files = [], []
root_dir = os.path.dirname(__file__)
if root_dir != '':
os.chdir(root_dir)
for dirpath, dirnames, filenames in os.walk(directory):
if not dirpath.startswith('mayan/media'):
# Ignore dirnames that start with '.'
if os.path.basename(dirpath).startswith('.'):
continue
if '__init__.py' in filenames:
packages.append('.'.join(fullsplit(dirpath)))
elif filenames:
data_files.append(
[
dirpath, [
os.path.join(dirpath, filename) for filename in filenames
]
]
)
return packages
install_requires = """
{% for requirement in requirements %}{{ requirement|safe }}
{% endfor %}""".split()
with open(file='README.rst') as file_object:
readme = file_object.read()
with open(file='HISTORY.rst') as file_object:
history = file_object.read()
setup(
author='Roberto Rosario',
author_email='roberto.rosario@mayan-edms.com',
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Framework :: Django',
'Intended Audience :: Education',
'Intended Audience :: Developers',
'Intended Audience :: Information Technology',
'License :: OSI Approved :: Apache Software License',
'Natural Language :: English',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Internet :: WWW/HTTP :: WSGI :: Application',
'Topic :: Communications :: File Sharing',
],
description=mayan.__description__,
include_package_data=True,
install_requires=install_requires,
license='Apache 2.0',
long_description=readme + '\n\n' + history,
name=PACKAGE_NAME,
packages=find_packages(PACKAGE_DIR),
platforms=['any'],
project_urls={
'Documentation': 'https://docs.mayan-edms.com/',
'Changelog': 'https://gitlab.com/mayan-edms/mayan-edms/-/blob/master/HISTORY.rst',
'Bug Tracker': 'https://gitlab.com/mayan-edms/mayan-edms/-/issues',
'Source Code': 'https://gitlab.com/mayan-edms/mayan-edms',
'Support': 'https://www.mayan-edms.com/support/'
},
python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
scripts=['mayan/bin/mayan-edms.py'],
url=mayan.__website__,
version=mayan.__version__,
zip_safe=False,
)