diff options
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 32 |
1 files changed, 17 insertions, 15 deletions
@@ -1,27 +1,29 @@ import os -import subprocess +import pkgutil import sys from setuptools import setup, find_packages +from subprocess import check_call, CalledProcessError PACKAGENAME='firewatch' -if os.path.exists('relic'): - sys.path.insert(1, 'relic') - import relic.release -else: +if not pkgutil.find_loader('relic'): + relic_local = os.path.exists('relic') + relic_submodule = (relic_local and + os.path.exists('.gitmodules') and + not os.listdir('relic')) try: - import relic.release - except ImportError: - try: - subprocess.check_call(['git', 'clone', - 'https://github.com/jhunkeler/relic.git']) - sys.path.insert(1, 'relic') - import relic.release - except subprocess.CalledProcessError as e: - print(e) - exit(1) + if relic_submodule: + check_call(['git', 'submodule', 'update', '--init', '--recursive']) + elif not relic_local: + check_call(['git', 'clone', 'https://github.com/spacetelescope/relic.git']) + sys.path.insert(1, 'relic') + except CalledProcessError as e: + print(e) + exit(1) + +import relic.release version = relic.release.get_info() relic.release.write_template(version, PACKAGENAME) |