/
setup.py
98 lines (82 loc) · 2.19 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
90
91
92
93
94
95
96
97
98
"""
Flask RESTful Quick Start Setup
"""
import sys
import os
from setuptools import setup
from setuptools import Command
from setuptools.command.test import test as TestCommand
from datetime import datetime
NAME = 'strapi-permission-export'
VERSION = '0.1'
AUTHOR = 'Q.s. Wang'
REQUIRED_PYTHON_VERSION = (3, 0)
PACKAGES = ['export']
INSTALL_DEPENDENCIES = [
'psycopg2-binary'
]
SETUP_DEPENDENCIES = [
]
TEST_DEPENDENCIES = [
'pytest'
]
EXTRA_DEPENDENCIES = {
'dev': [
'pytest',
'flake8',
'Sphinx'
]
}
if sys.version_info < REQUIRED_PYTHON_VERSION:
sys.exit('Python >= 3.0 is required. Your version:\n'+sys.version)
class PyTest(TestCommand):
"""
Use pytest to run tests
"""
user_options = [('pytest-args=', 'a', "Arguments to pass into py.test")]
def initialize_options(self):
TestCommand.initialize_options(self)
self.pytest_args = []
def finalize_options(self):
TestCommand.finalize_options(self)
self.test_args = []
self.test_suite = True
def run_tests(self):
import pytest
errno = pytest.main(self.pytest_args)
sys.exit(errno)
class BuildDocs(Command):
"""
Build Documentation
"""
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
import sphinx
metadata = self.distribution.metadata
docs = os.path.join(os.getcwd(), 'docs')
sphinx.main(['',
'-D', 'project='+metadata.name,
'-D', 'copyright={}, {}'.format(datetime.now().year,
metadata.author),
'-D', 'version='+metadata.version,
'-D', 'release='+metadata.version,
docs, os.path.join(docs, '_build')])
setup(
name=NAME,
version=VERSION,
author=AUTHOR,
packages=PACKAGES,
include_package_data=True,
install_requires=INSTALL_DEPENDENCIES,
setup_requires=SETUP_DEPENDENCIES,
tests_require=TEST_DEPENDENCIES,
extras_require=EXTRA_DEPENDENCIES,
cmdclass={
'test': PyTest,
'doc': BuildDocs
}
)