13200: Consolidate package version behavior in arvados_version
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Wed, 4 Apr 2018 20:57:27 +0000 (16:57 -0400)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Wed, 4 Apr 2018 20:57:27 +0000 (16:57 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

sdk/cwl/MANIFEST.in
sdk/cwl/arvados_version.py
sdk/cwl/setup.py
sdk/python/MANIFEST.in
sdk/python/arvados_version.py
sdk/python/setup.py

index d1388b3ed41039e6798eea96ccd5e87e16615f32..50a29234beac746d1ad29d9a2436a150d4e82c5e 100644 (file)
@@ -4,3 +4,4 @@
 
 include LICENSE-2.0.txt
 include README.rst
+include arvados_version.py
\ No newline at end of file
index db46417ea6d711dd7e7fe3e872c67de92f844469..a24d53dad6a629f9d08692bb19dd62e144655a7b 100644 (file)
@@ -4,17 +4,37 @@
 
 import subprocess
 import time
+import os
+import re
 
-class VersionInfoFromGit():
-    """Return arvados version from git
-    """
-    def git_latest_tag(self):
-        gitinfo = subprocess.check_output(
-            ['git', 'describe', '--abbrev=0']).strip()
-        return str(gitinfo.decode('utf-8'))
-
-    def git_timestamp_tag(self):
-        gitinfo = subprocess.check_output(
-            ['git', 'log', '--first-parent', '--max-count=1',
-             '--format=format:%ct', '.']).strip()
-        return str(time.strftime('.%Y%m%d%H%M%S', time.gmtime(int(gitinfo))))
+def git_latest_tag():
+    gitinfo = subprocess.check_output(
+        ['git', 'describe', '--abbrev=0']).strip()
+    return str(gitinfo.decode('utf-8'))
+
+def git_timestamp_tag():
+    gitinfo = subprocess.check_output(
+        ['git', 'log', '--first-parent', '--max-count=1',
+         '--format=format:%ct', '.']).strip()
+    return str(time.strftime('.%Y%m%d%H%M%S', time.gmtime(int(gitinfo))))
+
+def save_version(setup_dir, 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(setup_dir, module):
+  with open(os.path.join(setup_dir, module, "_version.py"), 'r') as fp:
+      return re.match("__version__ = '(.*)'$", fp.read()).groups()[0]
+
+def get_version(setup_dir, module):
+    env_version = os.environ.get("ARVADOS_BUILDING_VERSION")
+
+    if env_version:
+        save_version(setup_dir, module, env_version)
+    else:
+        try:
+            save_version(setup_dir, module, git_latest_tag() + git_timestamp_tag())
+        except subprocess.CalledProcessError:
+            pass
+
+    return read_version(setup_dir, module)
index d67b5ed47da71881a4ac1d075158ae4c4744f64d..aed96c6023ad85ee13eab2d4339eab3bc860abb6 100644 (file)
@@ -3,36 +3,17 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
+from __future__ import absolute_import
 import os
 import sys
-import re
 
 from setuptools import setup, find_packages
 
 SETUP_DIR = os.path.dirname(__file__) or '.'
 README = os.path.join(SETUP_DIR, 'README.rst')
 
-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()
-        save_version("arvados_cwl", vtag.git_latest_tag() + vtag.git_timestamp_tag())
-    except ImportError:
-        pass
-
-version = read_version("arvados_cwl")
+import arvados_version
+version = arvados_version.get_version(SETUP_DIR, "arvados_cwl")
 
 setup(name='arvados-cwl-runner',
       version=version,
index d1388b3ed41039e6798eea96ccd5e87e16615f32..50a29234beac746d1ad29d9a2436a150d4e82c5e 100644 (file)
@@ -4,3 +4,4 @@
 
 include LICENSE-2.0.txt
 include README.rst
+include arvados_version.py
\ No newline at end of file
index db46417ea6d711dd7e7fe3e872c67de92f844469..a24d53dad6a629f9d08692bb19dd62e144655a7b 100644 (file)
@@ -4,17 +4,37 @@
 
 import subprocess
 import time
+import os
+import re
 
-class VersionInfoFromGit():
-    """Return arvados version from git
-    """
-    def git_latest_tag(self):
-        gitinfo = subprocess.check_output(
-            ['git', 'describe', '--abbrev=0']).strip()
-        return str(gitinfo.decode('utf-8'))
-
-    def git_timestamp_tag(self):
-        gitinfo = subprocess.check_output(
-            ['git', 'log', '--first-parent', '--max-count=1',
-             '--format=format:%ct', '.']).strip()
-        return str(time.strftime('.%Y%m%d%H%M%S', time.gmtime(int(gitinfo))))
+def git_latest_tag():
+    gitinfo = subprocess.check_output(
+        ['git', 'describe', '--abbrev=0']).strip()
+    return str(gitinfo.decode('utf-8'))
+
+def git_timestamp_tag():
+    gitinfo = subprocess.check_output(
+        ['git', 'log', '--first-parent', '--max-count=1',
+         '--format=format:%ct', '.']).strip()
+    return str(time.strftime('.%Y%m%d%H%M%S', time.gmtime(int(gitinfo))))
+
+def save_version(setup_dir, 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(setup_dir, module):
+  with open(os.path.join(setup_dir, module, "_version.py"), 'r') as fp:
+      return re.match("__version__ = '(.*)'$", fp.read()).groups()[0]
+
+def get_version(setup_dir, module):
+    env_version = os.environ.get("ARVADOS_BUILDING_VERSION")
+
+    if env_version:
+        save_version(setup_dir, module, env_version)
+    else:
+        try:
+            save_version(setup_dir, module, git_latest_tag() + git_timestamp_tag())
+        except subprocess.CalledProcessError:
+            pass
+
+    return read_version(setup_dir, module)
index a19b876fd3f1de647004e23ae2095feeed08fc4d..4f487af0a9dbb4065ef08a42d440800e8a547e3c 100644 (file)
@@ -3,6 +3,7 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
+from __future__ import absolute_import
 import os
 import sys
 import re
@@ -12,27 +13,8 @@ from setuptools import setup, find_packages
 SETUP_DIR = os.path.dirname(__file__) or '.'
 README = os.path.join(SETUP_DIR, 'README.rst')
 
-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()
-        save_version("arvados", vtag.git_latest_tag() + vtag.git_timestamp_tag())
-    except ImportError:
-        pass
-
-version = read_version("arvados")
+import arvados_version
+version = arvados_version.get_version(SETUP_DIR, "arvados")
 
 short_tests_only = False
 if '--short-tests-only' in sys.argv: