Files
galaxy/packages/build_scripts/commit_version.py
T
2022-02-03 07:42:20 -05:00

45 lines
1.4 KiB
Python

#!/usr/bin/env python
# Modify version...
import datetime
import os
import re
import subprocess
import sys
DEV_RELEASE = os.environ.get("DEV_RELEASE", None) == "1"
PROJECT_DIRECTORY = os.getcwd()
PROJECT_DIRECTORY_NAME = os.path.basename(os.path.abspath(PROJECT_DIRECTORY))
PROJECT_MODULE_FILENAME = "project_galaxy_%s.py" % PROJECT_DIRECTORY_NAME
PROJECT_NAME = PROJECT_DIRECTORY_NAME.replace("_", "-")
def main(argv):
source_dir = argv[1]
version = argv[2]
mod_path = os.path.join(PROJECT_DIRECTORY, source_dir, PROJECT_MODULE_FILENAME)
if not DEV_RELEASE:
history_path = os.path.join(PROJECT_DIRECTORY, "HISTORY.rst")
history = open(history_path).read()
today = datetime.datetime.today()
today_str = today.strftime('%Y-%m-%d')
history = history.replace(".dev0", " (%s)" % today_str)
open(history_path, "w").write(history)
mod = open(mod_path).read()
mod = re.sub(r"__version__ = '[\d\.]*\.dev\d+'",
"__version__ = '%s'" % version,
mod)
mod = open(mod_path, "w").write(mod)
tag = f"galaxy-{PROJECT_NAME}-{version}"
shell(["git", "commit", "-m", f"Version {version} of {PROJECT_NAME} (tag {tag}).",
"HISTORY.rst", mod_path])
shell(["git", "tag", tag])
def shell(cmds, **kwds):
p = subprocess.Popen(cmds, **kwds)
return p.wait()
if __name__ == "__main__":
main(sys.argv)