[llvm] [Utils] Updates to bump-version.py (PR #100089)
Tobias Hieta via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 23 02:27:04 PDT 2024
https://github.com/tru created https://github.com/llvm/llvm-project/pull/100089
* Add support for --git flag to bump version for a git suffix
* Update location of the new file where the version is stored
>From b9afbf3d6381af1435d1d6b2402e4c4fc5e232bb Mon Sep 17 00:00:00 2001
From: Tobias Hieta <tobias at hieta.se>
Date: Tue, 23 Jul 2024 10:39:15 +0200
Subject: [PATCH] [Utils] Updates to bump-version.py
* Add support for --git flag to bump version for a git suffix
* Update location of the new file where the version is stored
---
llvm/utils/release/bump-version.py | 26 +++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)
diff --git a/llvm/utils/release/bump-version.py b/llvm/utils/release/bump-version.py
index abff67ae926ac..b1799cba9363e 100755
--- a/llvm/utils/release/bump-version.py
+++ b/llvm/utils/release/bump-version.py
@@ -12,6 +12,9 @@
class Processor:
+ def __init__(self, args):
+ self.args = args
+
def process_line(self, line: str) -> str:
raise NotImplementedError()
@@ -23,6 +26,13 @@ def process_file(self, fpath: Path, version: packaging.version.Version) -> None:
version.micro,
version.pre,
)
+
+ if self.args.rc:
+ self.suffix = f"-rc{self.args.rc}"
+
+ if self.args.git:
+ self.suffix = "git"
+
data = fpath.read_text()
new_data = []
@@ -64,7 +74,7 @@ def process_line(self, line: str) -> str:
if self.suffix:
nline = re.sub(
r"set\(LLVM_VERSION_SUFFIX(.*)\)",
- f"set(LLVM_VERSION_SUFFIX -{self.suffix[0]}{self.suffix[1]})",
+ f"set(LLVM_VERSION_SUFFIX {self.suffix})",
line,
)
else:
@@ -144,6 +154,7 @@ def process_line(self, line: str) -> str:
)
parser.add_argument("version", help="Version to bump to, e.g. 15.0.1", default=None)
parser.add_argument("--rc", default=None, type=int, help="RC version")
+ parser.add_argument("--git", action="store_true", help="Git version")
parser.add_argument(
"-s",
"--source-root",
@@ -153,9 +164,10 @@ def process_line(self, line: str) -> str:
args = parser.parse_args()
+ if args.rc and args.git:
+ raise RuntimeError("Can't specify --git and --rc at the same time!")
+
verstr = args.version
- if args.rc:
- verstr += f"-rc{args.rc}"
# parse the version string with distutils.
# note that -rc will end up as version.pre here
@@ -170,20 +182,20 @@ def process_line(self, line: str) -> str:
files_to_update = (
# Main CMakeLists.
- (source_root / "llvm" / "CMakeLists.txt", CMakeProcessor()),
+ (source_root / "cmake" / "Modules" / "LLVMVersion.cmake", CMakeProcessor(args)),
# Lit configuration
(
"llvm/utils/lit/lit/__init__.py",
- LitProcessor(),
+ LitProcessor(args),
),
# GN build system
(
"llvm/utils/gn/secondary/llvm/version.gni",
- GNIProcessor(),
+ GNIProcessor(args),
),
(
"libcxx/include/__config",
- LibCXXProcessor(),
+ LibCXXProcessor(args),
),
)
More information about the llvm-commits
mailing list