Files
galaxy/packages/build_scripts/commit_version.py
T

46 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, "r").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, "r").read()
mod = re.sub(r"__version__ = '[\d\.]*\.dev0'",
"__version__ = '%s'" % version,
mod)
mod = open(mod_path, "w").write(mod)
tag = "galaxy-%s-%s" % (PROJECT_NAME, version)
shell(["git", "commit", "-m", "Version %s of %s (tag %s)." % (version, PROJECT_NAME, 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)