mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-08-31 01:02:04 +08:00
Replace deprecated distutils.version with packaging.version
Fix https://github.com/galaxyproject/galaxy/issues/12654 .
This commit is contained in:
@@ -3,9 +3,10 @@
|
||||
# This file is appended to conf.py by the Build docs github workflow.
|
||||
#
|
||||
import re
|
||||
from distutils.version import LooseVersion
|
||||
from subprocess import check_output
|
||||
|
||||
from packaging.version import Version
|
||||
|
||||
# This is set in the Jenkins matrix config
|
||||
TARGET_GIT_BRANCH = os.environ.get("TARGET_BRANCH", "dev") # noqa: F821
|
||||
|
||||
@@ -17,7 +18,7 @@ BANNER_APPEND = """ You can alternatively <a href="%(stable_path)s">view this pa
|
||||
exists</a> or <a href="%(stable_root)s">view the top of the latest release's documentation</a>."""
|
||||
|
||||
# Minimum version for linking to docs
|
||||
MIN_DOC_VERSION = LooseVersion("17.05")
|
||||
MIN_DOC_VERSION = Version("17.05")
|
||||
|
||||
# Enable simpleversioning
|
||||
extensions += ["sphinxcontrib.simpleversioning"] # noqa: F821
|
||||
@@ -43,16 +44,16 @@ for _tag in reversed(tags):
|
||||
_ver = _tag[1:]
|
||||
if not _stable:
|
||||
_stable = _ver
|
||||
if LooseVersion(_ver) >= MIN_DOC_VERSION:
|
||||
simpleversioning_versions.append({"id": "release_%s" % _ver, "name": _ver})
|
||||
if Version(_ver) >= MIN_DOC_VERSION:
|
||||
simpleversioning_versions.append({"id": f"release_{_ver}", "name": _ver})
|
||||
|
||||
if re.fullmatch(r"release_\d{2}\.\d{2}", TARGET_GIT_BRANCH):
|
||||
if _stable:
|
||||
# The current stable release will go here but fail the next conditional, avoiding either banner.
|
||||
if TARGET_GIT_BRANCH != "release_%s" % _stable:
|
||||
if TARGET_GIT_BRANCH != f"release_{_stable}":
|
||||
simpleversioning_show_banner = True
|
||||
_target_ver = TARGET_GIT_BRANCH[len("release_") :]
|
||||
if LooseVersion(_target_ver) > LooseVersion(_stable):
|
||||
if Version(_target_ver) > Version(_stable):
|
||||
# Pre-release
|
||||
# Insert it between master and _stable
|
||||
simpleversioning_versions.insert(2, {"id": TARGET_GIT_BRANCH, "name": _target_ver})
|
||||
|
||||
@@ -4,7 +4,8 @@ import os
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
from distutils.version import StrictVersion
|
||||
|
||||
from packaging.version import Version
|
||||
|
||||
DEV_RELEASE = os.environ.get("DEV_RELEASE", None) == "1"
|
||||
PROJECT_DIRECTORY = os.getcwd()
|
||||
@@ -14,19 +15,16 @@ PROJECT_NAME = PROJECT_DIRECTORY_NAME.replace("_", "-")
|
||||
|
||||
def main(argv):
|
||||
version = argv[1]
|
||||
version_obj = Version(version)
|
||||
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
|
||||
# Discard epoch, release numbers after micro, pre-, post-, dev-release segments and local version
|
||||
new_version_tuple = list(version_obj.release[:3])
|
||||
new_version_tuple[2] += 1
|
||||
new_version = ".".join(map(str, new_version_tuple))
|
||||
new_dev_version = 0
|
||||
else:
|
||||
dev_match = re.compile(r"dev([\d]+)").search(version)
|
||||
assert dev_match
|
||||
dev_version = dev_match.group(1)
|
||||
new_dev_version = int(dev_version) + 1
|
||||
new_version = version.replace(f"dev{dev_version}", f"dev{new_dev_version}")
|
||||
dev_number = version_obj.dev
|
||||
assert dev_number is not None
|
||||
new_version = f"{version_obj.base_version}.dev{dev_number + 1}"
|
||||
|
||||
history_path = os.path.join(PROJECT_DIRECTORY, "HISTORY.rst")
|
||||
if not DEV_RELEASE:
|
||||
@@ -53,13 +51,11 @@ def main(argv):
|
||||
with open(setup_cfg_path) as f:
|
||||
setup_cfg = f.read()
|
||||
if not DEV_RELEASE:
|
||||
setup_cfg = re.sub(
|
||||
r"^version = [\d\.]+", f"version = {new_version}.dev0", setup_cfg, count=1, flags=re.MULTILINE
|
||||
)
|
||||
setup_cfg = re.sub(r"^version = .*$", f"version = {new_version}.dev0", setup_cfg, count=1, flags=re.MULTILINE)
|
||||
else:
|
||||
setup_cfg = re.sub(
|
||||
rf"^version = ([\d\.]+).dev{dev_version}",
|
||||
rf"version = \1.dev{new_dev_version}",
|
||||
r"^version = .*$",
|
||||
rf"version = {new_version}",
|
||||
setup_cfg,
|
||||
count=1,
|
||||
flags=re.MULTILINE,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import os
|
||||
import re
|
||||
from distutils.version import LooseVersion
|
||||
|
||||
from packaging.version import Version
|
||||
|
||||
_version_re = re.compile(r"^version\s+=\s+(.*)", flags=re.MULTILINE)
|
||||
|
||||
@@ -18,9 +19,9 @@ def main():
|
||||
version = version_match.group(1)
|
||||
|
||||
if not DEV_RELEASE:
|
||||
version_obj = Version(version)
|
||||
# Strip .devN
|
||||
version_tuple = LooseVersion(version).version[0:3]
|
||||
print(".".join(map(str, version_tuple)))
|
||||
print(version_obj.base_version)
|
||||
else:
|
||||
print(version)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user