X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/63cfe7a9b391e1a07c6c6c8b0fab10b1c875f1be..48c38895200cdafaaeca37299bf8352878389a77:/sdk/cwl/setup.py diff --git a/sdk/cwl/setup.py b/sdk/cwl/setup.py index 6633314042..d4bb6d102a 100644 --- a/sdk/cwl/setup.py +++ b/sdk/cwl/setup.py @@ -1,66 +1,68 @@ #!/usr/bin/env python +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 +from __future__ import absolute_import import os import sys -import subprocess -import setuptools.command.egg_info as egg_info_cmd from setuptools import setup, find_packages SETUP_DIR = os.path.dirname(__file__) or '.' README = os.path.join(SETUP_DIR, 'README.rst') -try: - import gittaggers - tagger = gittaggers.EggInfoFromGit -except ImportError: - tagger = egg_info_cmd.egg_info - -versionfile = os.path.join(SETUP_DIR, "arvados_cwl/_version.py") -try: - gitinfo = subprocess.check_output( - ['git', 'log', '--first-parent', '--max-count=1', - '--format=format:%H', gittaggers.choose_version_from()]).strip() - with open(versionfile, "w") as f: - f.write("__version__ = '%s'\n" % gitinfo) -except Exception as e: - # When installing from package, it won't be part of a git repository, and - # check_output() will raise an exception. But the package should include the - # version file, so we can proceed. - if not os.path.exists(versionfile): - raise +import arvados_version +version = arvados_version.get_version(SETUP_DIR, "arvados_cwl") +if os.environ.get('ARVADOS_BUILDING_VERSION', False): + pysdk_dep = "=={}".format(version) +else: + # On dev releases, arvados-python-client may have a different timestamp + pysdk_dep = "<={}".format(version) setup(name='arvados-cwl-runner', - version='1.0', + version=version, description='Arvados Common Workflow Language runner', long_description=open(README).read(), author='Arvados', author_email='info@arvados.org', url="https://arvados.org", - download_url="https://github.com/curoverse/arvados.git", + download_url="https://github.com/arvados/arvados.git", license='Apache 2.0', packages=find_packages(), - package_data={'arvados_cwl': ['arv-cwl-schema.yml']}, + package_data={'arvados_cwl': ['arv-cwl-schema-v1.0.yml', 'arv-cwl-schema-v1.1.yml']}, scripts=[ 'bin/cwl-runner', - 'bin/arvados-cwl-runner' + 'bin/arvados-cwl-runner', ], # Note that arvados/build/run-build-packages.sh looks at this - # file to determine what version of cwltool and schema-salad to build. + # file to determine what version of cwltool and schema-salad to + # build. install_requires=[ - 'cwltool==1.0.20170525215327', - 'schema-salad==2.5.20170428142041', - 'typing==3.5.3.0', - 'ruamel.yaml==0.13.7', - 'arvados-python-client>=0.1.20170526013812', + 'cwltool==1.0.20190831161204', + 'schema-salad==4.5.20190815125611', + 'typing >= 3.6.4', + 'ruamel.yaml >=0.15.54, <=0.15.77', + 'arvados-python-client{}'.format(pysdk_dep), 'setuptools', - 'ciso8601' + 'ciso8601 >= 2.0.0', + 'networkx < 2.3' ], + extras_require={ + ':os.name=="posix" and python_version<"3"': ['subprocess32 >= 3.5.1'], + ':python_version<"3"': ['pytz'], + }, data_files=[ ('share/doc/arvados-cwl-runner', ['LICENSE-2.0.txt', 'README.rst']), ], + classifiers=[ + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 3', + ], test_suite='tests', - tests_require=['mock>=1.0'], + tests_require=[ + 'mock>=1.0,<4', + 'subprocess32>=3.5.1', + ], zip_safe=True, - cmdclass={'egg_info': tagger}, - ) +)