13200: Fix python versioning for arvados-python-client and arvados-cwl-runner
[arvados.git] / sdk / cwl / setup.py
1 #!/usr/bin/env python
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: Apache-2.0
5
6 import os
7 import sys
8 import re
9
10 from setuptools import setup, find_packages
11
12 SETUP_DIR = os.path.dirname(__file__) or '.'
13 README = os.path.join(SETUP_DIR, 'README.rst')
14
15 env_version = os.environ.get("ARVADOS_BUILDING_VERSION")
16
17 def save_version(module, v):
18   with open(os.path.join(SETUP_DIR, module, "_version.py"), 'w') as fp:
19       return fp.write("__version__ = '%s'\n" % v)
20
21 def read_version(module):
22   with open(os.path.join(SETUP_DIR, module, "_version.py"), 'r') as fp:
23       return re.match("__version__ = '(.*)'$", fp.read()).groups()[0]
24
25 if env_version:
26     save_version("arvados_cwl", env_version)
27 else:
28     try:
29         import arvados_version
30         vtag = arvados_version.VersionInfoFromGit()
31         save_version("arvados_cwl", vtag.git_latest_tag() + vtag.git_timestamp_tag())
32     except ImportError:
33         pass
34
35 version = read_version("arvados_cwl")
36
37 setup(name='arvados-cwl-runner',
38       version=version,
39       description='Arvados Common Workflow Language runner',
40       long_description=open(README).read(),
41       author='Arvados',
42       author_email='info@arvados.org',
43       url="https://arvados.org",
44       download_url="https://github.com/curoverse/arvados.git",
45       license='Apache 2.0',
46       packages=find_packages(),
47       package_data={'arvados_cwl': ['arv-cwl-schema.yml']},
48       scripts=[
49           'bin/cwl-runner',
50           'bin/arvados-cwl-runner',
51       ],
52       # Note that arvados/build/run-build-packages.sh looks at this
53       # file to determine what version of cwltool and schema-salad to build.
54       install_requires=[
55           'cwltool==1.0.20180326152342',
56           'schema-salad==2.6.20171201034858',
57           'typing==3.5.3.0',
58           'ruamel.yaml==0.13.7',
59           'arvados-python-client>=0.1.20170526013812',
60           'setuptools',
61           'ciso8601 >=1.0.0, <=1.0.4',
62       ],
63       data_files=[
64           ('share/doc/arvados-cwl-runner', ['LICENSE-2.0.txt', 'README.rst']),
65       ],
66       test_suite='tests',
67       tests_require=['mock>=1.0'],
68       zip_safe=True
69       )