forked from danilobellini/dose
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
executable file
·69 lines (60 loc) · 2.46 KB
/
setup.py
File metadata and controls
executable file
·69 lines (60 loc) · 2.46 KB
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
#!/usr/bin/env python
"""Dose GUI for TDD: setup script."""
import os, setuptools, dose, dose.rest, dose.misc, distutils.filelist
SDIST_PATH = os.path.dirname(__file__) # That's also sys.path[0]
if SDIST_PATH: # The setuptools.setup function requires this to
os.chdir(SDIST_PATH) # work properly when called from otherwhere
def parse_manifest(template_lines):
"""List of file names included by the MANIFEST.in template lines."""
manifest_files = distutils.filelist.FileList()
for line in template_lines:
if line.strip():
manifest_files.process_template_line(line)
return manifest_files.files
README = dose.rest.abs_urls(dose.misc.read_plain_text("README.rst"),
image_url = "/".join([dose.__url__, "raw",
dose.__version__]),
target_url = dose.__url__)
SHARED_FILES = parse_manifest(dose.misc.read_plain_text("MANIFEST.in"))
metadata = {
"name": "dose",
"version": dose.__version__,
"author": dose.__author__,
"author_email": dose.__author_email__,
"url": dose.__url__,
"description": dose.rest.single_line_block("summary", README),
"long_description": dose.rest.all_but_blocks("summary", README),
"license": "GPLv3",
"packages": setuptools.find_packages(),
"install_requires": ["watchdog>=0.9.0",
"colorama>=0.3.7",
"docutils>=0.12",
"wxPython"],
"entry_points": {"console_scripts": ["dose = dose.__main__:main"]},
"data_files": [("share/dose/v" + dose.__version__, SHARED_FILES)],
}
metadata["classifiers"] = """
Development Status :: 4 - Beta
Environment :: MacOS X
Environment :: Win32 (MS Windows)
Environment :: X11 Applications
Intended Audience :: Developers
Intended Audience :: Education
License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Operating System :: MacOS :: MacOS X
Operating System :: Microsoft :: Windows
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.3
Programming Language :: Python :: Implementation :: CPython
Topic :: Education
Topic :: Education :: Testing
Topic :: Software Development
Topic :: Software Development :: Testing
""".strip().splitlines()
setuptools.setup(**metadata)