setup.py is automatically generated based on the version
diff --git a/scripts/packages/BUILD b/scripts/packages/BUILD
index 881d9b5..257b1f4 100644
--- a/scripts/packages/BUILD
+++ b/scripts/packages/BUILD
@@ -312,7 +312,7 @@
name = "generate-pyheron-package",
srcs = [
"pyheron/requirements.txt",
- "pyheron/setup.py",
+ "pyheron/setup.py.template",
] + generated_release_files,
outs = generated_pyheron_egg_file,
stamp = 1,
@@ -326,6 +326,11 @@
'echo $$TMP_DIR',
'export PYHERON_DIR=$$TMP_DIR/pyheron',
'export PYHERON_UNZIP=$$TMP_DIR/unzipped',
+ 'export HERON_VERSION=$$(grep version $$RELEASE_FILE_DIR/$(location :release.yaml) | awk \'{print $$3}\')',
+ 'export HERON_VERSION=$$(echo $$HERON_VERSION | sed -e "s/^\'//" -e "s/\'$$//")',
+ 'export HERON_VERSION=$$(echo $$HERON_VERSION | grep "[0-9]*\.[0-9]*\.[0-9]*")',
+ 'export HERON_VERSION=$$([[ -z $$HERON_VERSION ]] && echo "0.0.0" || echo $$HERON_VERSION)',
+ 'echo $$HERON_VERSION',
'mkdir -p $$TMP_DIR $$PYHERON_DIR',
'unzip -qd $$PYHERON_UNZIP $(location //heron/pyheron/src/python:pyheron-package)',
'find $$PYHERON_UNZIP -name "*.pyc" -exec rm {} \;',
@@ -333,12 +338,16 @@
'rm -rf $$PYHERON_UNZIP/heron/pyheron',
'mv $$PYHERON_UNZIP/heron $$PYHERON_DIR/heron',
'cp $(SRCS) $$PYHERON_DIR',
- 'ls -l',
'echo "PyHeron toplevel directory: $$PYHERON_DIR"',
'cd $$PYHERON_DIR',
+ 'sed "s/VERSION/$$HERON_VERSION/" setup.py.template > setup.py',
+ 'rm setup.py.template',
+ 'tree $$PYHERON_DIR',
+ '/usr/bin/env python2.7 setup.py sdist',
'/usr/bin/env python2.7 setup.py bdist_wheel',
'ls -l $$PYHERON_DIR/dist',
'cp $$PYHERON_DIR/dist/pyheron-*-py2-*.whl $$OUTPUT_DIR',
+ 'cp $$PYHERON_DIR/dist/pyheron-*.tar.gz $$OUTPUT_DIR',
'touch $$OUTPUT_DIR/pyheron.whl',
'rm -rf $$TMP_DIR',
]),
diff --git a/scripts/packages/pyheron/setup.py b/scripts/packages/pyheron/setup.py.template
similarity index 66%
rename from scripts/packages/pyheron/setup.py
rename to scripts/packages/pyheron/setup.py.template
index b509d42..c3548d7 100644
--- a/scripts/packages/pyheron/setup.py
+++ b/scripts/packages/pyheron/setup.py.template
@@ -3,28 +3,10 @@
from setuptools import setup, find_packages
package_name = "pyheron"
-dummy_release_version = "0.0.0"
+release_version = "VERSION"
# read the requirements file
here = os.path.abspath(os.path.dirname(__file__))
-
-# get the version from release yaml file
-release_yaml = os.path.join(here, 'release.yaml')
-with open(release_yaml, 'r') as f:
- file_lines = f.readlines()
- for line in file_lines:
- split_line = line.strip().split(" : ")
- if 'version' in split_line[0]:
- version = split_line[1].strip("'")
-release_version = version.replace("/", "_")
-print release_version
-
-# if it is being build out of a branch, we give 0.0.0 version
-if re.search('[a-zA-Z]', release_version):
- release_version = dummy_release_version
-print release_version
-
-# read the requirements file
requirement_file = os.path.join(here, 'requirements.txt')
with open(requirement_file, 'r') as f:
raw_requirements = f.read().strip()
@@ -45,7 +27,7 @@
url='https://github.com/twitter/heron',
- author='Heron Release Team',
+ author='Heron Team',
author_email='heronstreaming@gmail.com',
classifiers=[