[ARVADOS] created: 1.1.3-316-g196cb2e

Git user git at public.curoverse.com
Wed Apr 4 16:11:02 EDT 2018


        at  196cb2e84834de79f25414de09a8d00bbe1a5eae (commit)


commit 196cb2e84834de79f25414de09a8d00bbe1a5eae
Author: Peter Amstutz <pamstutz at veritasgenetics.com>
Date:   Wed Apr 4 16:05:31 2018 -0400

    13200: Fix python versioning for arvados-python-client and arvados-cwl-runner
    
    New behavior:
    
    1) If ARVADOS_BUILDING_VERSION is set, write that to _version.py
    
    2) Else, try to import arvados_version, get version based on git
      tags+timestamp and write that to _version.py.  arvados_version.py is
      present in the source tree but not included in the package, so if we
      get ImportError, do nothing.
    
    If neither (1) or (2) succeeds, take that to mean we're installing a
    source package.  Leave _version.py alone.
    
    Read the version back from _version.py and use that.
    
    Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz at veritasgenetics.com>

diff --git a/.gitignore b/.gitignore
index cc4f17e..517166c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,3 +29,4 @@ services/api/config/arvados-clients.yml
 .DS_Store
 .vscode
 .Rproj.user
+_version.py
\ No newline at end of file
diff --git a/sdk/cwl/arvados_cwl/_version.py b/sdk/cwl/arvados_cwl/_version.py
deleted file mode 100644
index 652a291..0000000
--- a/sdk/cwl/arvados_cwl/_version.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright (C) The Arvados Authors. All rights reserved.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-import pkg_resources
-
-__version__ = pkg_resources.require('arvados-cwl-runner')[0].version
diff --git a/sdk/cwl/setup.py b/sdk/cwl/setup.py
index d1df898..d67b5ed 100644
--- a/sdk/cwl/setup.py
+++ b/sdk/cwl/setup.py
@@ -5,24 +5,35 @@
 
 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')
 
-tagger = egg_info_cmd.egg_info
-version = os.environ.get("ARVADOS_BUILDING_VERSION")
-if not version:
+env_version = os.environ.get("ARVADOS_BUILDING_VERSION")
+
+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()
-        version = vtag.git_latest_tag() + vtag.git_timestamp_tag()
+        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=version,
       description='Arvados Common Workflow Language runner',
@@ -54,6 +65,5 @@ setup(name='arvados-cwl-runner',
       ],
       test_suite='tests',
       tests_require=['mock>=1.0'],
-      zip_safe=True,
-      cmdclass={'egg_info': tagger},
+      zip_safe=True
       )
diff --git a/sdk/python/arvados/_version.py b/sdk/python/arvados/_version.py
deleted file mode 100644
index 3f7330f..0000000
--- a/sdk/python/arvados/_version.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright (C) The Arvados Authors. All rights reserved.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-import pkg_resources
-
-__version__ = pkg_resources.require('arvados-python-client')[0].version
diff --git a/sdk/python/setup.py b/sdk/python/setup.py
index 1adc19f..a19b876 100644
--- a/sdk/python/setup.py
+++ b/sdk/python/setup.py
@@ -5,23 +5,35 @@
 
 import os
 import sys
-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')
 
-tagger = egg_info_cmd.egg_info
-version = os.environ.get("ARVADOS_BUILDING_VERSION")
-if not version:
+env_version = os.environ.get("ARVADOS_BUILDING_VERSION")
+
+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", env_version)
+else:
     try:
         import arvados_version
         vtag = arvados_version.VersionInfoFromGit()
-        version = vtag.git_latest_tag() + vtag.git_timestamp_tag()
+        save_version("arvados", vtag.git_latest_tag() + vtag.git_timestamp_tag())
     except ImportError:
         pass
 
+version = read_version("arvados")
+
 short_tests_only = False
 if '--short-tests-only' in sys.argv:
     short_tests_only = True
@@ -63,6 +75,5 @@ setup(name='arvados-python-client',
       ],
       test_suite='tests',
       tests_require=['pbr<1.7.0', 'mock>=1.0', 'PyYAML'],
-      zip_safe=False,
-      cmdclass={'egg_info': tagger},
+      zip_safe=False
       )

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list