#!/usr/bin/env python
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
import os
import sys
-import subprocess
-import setuptools.command.egg_info as egg_info_cmd
+import re
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
+env_version = os.environ.get("ARVADOS_BUILDING_VERSION")
-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
+def save_version(module, v):
+ with open(os.path.join(SETUP_DIR, module, "_version.py"), 'w') as fp:
+ return fp.write("__version__ = '%s'\n" % v)
+
+def read_version(module):
+ with open(os.path.join(SETUP_DIR, module, "_version.py"), 'r') as fp:
+ return re.match("__version__ = '(.*)'$", fp.read()).groups()[0]
+
+if env_version:
+ save_version("arvados_cwl", env_version)
+else:
+ try:
+ import arvados_version
+ vtag = arvados_version.VersionInfoFromGit()
+ save_version("arvados_cwl", vtag.git_latest_tag() + vtag.git_timestamp_tag())
+ except ImportError:
+ pass
+
+version = read_version("arvados_cwl")
setup(name='arvados-cwl-runner',
- version='1.0',
+ version=version,
description='Arvados Common Workflow Language runner',
long_description=open(README).read(),
author='Arvados',
package_data={'arvados_cwl': ['arv-cwl-schema.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.
install_requires=[
- 'cwltool==1.0.20170510165748',
- 'schema-salad==2.5.20170428142041',
+ 'cwltool==1.0.20180326152342',
+ 'schema-salad==2.6.20171201034858',
'typing==3.5.3.0',
'ruamel.yaml==0.13.7',
'arvados-python-client>=0.1.20170526013812',
'setuptools',
- 'ciso8601'
+ 'ciso8601 >=1.0.0, <=1.0.4',
],
data_files=[
('share/doc/arvados-cwl-runner', ['LICENSE-2.0.txt', 'README.rst']),
],
test_suite='tests',
tests_require=['mock>=1.0'],
- zip_safe=True,
- cmdclass={'egg_info': tagger},
+ zip_safe=True
)