61 lines
1.4 KiB
Python
61 lines
1.4 KiB
Python
|
from setuptools import setup
|
||
|
|
||
|
import configparser
|
||
|
import os
|
||
|
import time
|
||
|
|
||
|
from cic_cache.version import (
|
||
|
version_object,
|
||
|
version_string
|
||
|
)
|
||
|
|
||
|
class PleaseCommitFirstError(Exception):
|
||
|
pass
|
||
|
|
||
|
def git_hash():
|
||
|
import subprocess
|
||
|
git_diff = subprocess.run(['git', 'diff'], capture_output=True)
|
||
|
if len(git_diff.stdout) > 0:
|
||
|
raise PleaseCommitFirstError()
|
||
|
git_hash = subprocess.run(['git', 'rev-parse', 'HEAD'], capture_output=True)
|
||
|
git_hash_brief = git_hash.stdout.decode('utf-8')[:8]
|
||
|
return git_hash_brief
|
||
|
|
||
|
version_string = str(version_object)
|
||
|
|
||
|
try:
|
||
|
version_git = git_hash()
|
||
|
version_string += '+build.{}'.format(version_git)
|
||
|
except FileNotFoundError:
|
||
|
time_string_pair = str(time.time()).split('.')
|
||
|
version_string += '+build.{}{:<09d}'.format(
|
||
|
time_string_pair[0],
|
||
|
int(time_string_pair[1]),
|
||
|
)
|
||
|
print('final version string will be {}'.format(version_string))
|
||
|
|
||
|
requirements = []
|
||
|
f = open('requirements.txt', 'r')
|
||
|
while True:
|
||
|
l = f.readline()
|
||
|
if l == '':
|
||
|
break
|
||
|
requirements.append(l.rstrip())
|
||
|
f.close()
|
||
|
|
||
|
test_requirements = []
|
||
|
f = open('test_requirements.txt', 'r')
|
||
|
while True:
|
||
|
l = f.readline()
|
||
|
if l == '':
|
||
|
break
|
||
|
test_requirements.append(l.rstrip())
|
||
|
f.close()
|
||
|
|
||
|
|
||
|
setup(
|
||
|
version=version_string,
|
||
|
install_requires=requirements,
|
||
|
tests_require=test_requirements,
|
||
|
)
|