Files
galaxy/packages/build_scripts/new_version.py
T
Nicola Soranzo 9d74bba7fb Drop support for retired Python 3.5
Upgrade syntax using `pyupgrade --py36-plus` .

Manually drop several `six` imports.

Also:
- Remove broken pr_cache in scripts/bootstrap_history.py
- Fix broken prefix removal in lib/galaxy/tool_util/deps/mulled/mulled_build.py
2020-10-07 11:52:13 +01:00

70 lines
2.1 KiB
Python

#!/usr/bin/env python
# Modify version...
import os
import re
import subprocess
import sys
from distutils.version import StrictVersion
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]
if not DEV_RELEASE:
old_version = StrictVersion(version)
old_version_tuple = old_version.version
new_version_tuple = list(old_version_tuple)
new_version_tuple[2] = old_version_tuple[2] + 1
new_version = ".".join(map(str, new_version_tuple))
new_dev_version = 0
else:
dev_version = re.compile(r'dev([\d]+)').search(version).group(1)
new_dev_version = int(dev_version) + 1
new_version = version.replace("dev%s" % dev_version, "dev%s" % new_dev_version)
history_path = os.path.join(PROJECT_DIRECTORY, "HISTORY.rst")
if not DEV_RELEASE:
history = open(history_path).read()
def extend(from_str, line):
from_str += "\n"
return history.replace(from_str, from_str + line + "\n")
history = extend(".. to_doc", """
---------------------
%s.dev0
---------------------
""" % new_version)
open(history_path, "w").write(history)
mod_path = os.path.join(PROJECT_DIRECTORY, source_dir, PROJECT_MODULE_FILENAME)
mod = open(mod_path).read()
if not DEV_RELEASE:
mod = re.sub(r"__version__ = '[\d\.]+'",
"__version__ = '%s.dev0'" % new_version,
mod, 1)
else:
mod = re.sub("dev%s" % dev_version,
"dev%s" % new_dev_version,
mod, 1)
mod = open(mod_path, "w").write(mod)
shell(["git", "commit", "-m", f"Starting work on {PROJECT_NAME} {new_version}",
"HISTORY.rst", mod_path])
def shell(cmds, **kwds):
p = subprocess.Popen(cmds, **kwds)
return p.wait()
if __name__ == "__main__":
main(sys.argv)