Skip to content

Commit 20fe252

Browse files
authored
[Utils] Updates to bump-version.py (#100089)
* Add support for --git flag to bump version for a git suffix * Update location of the new file where the version is stored
1 parent b4ebf2d commit 20fe252

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

llvm/utils/release/bump-version.py

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212

1313

1414
class Processor:
15+
def __init__(self, args):
16+
self.args = args
17+
1518
def process_line(self, line: str) -> str:
1619
raise NotImplementedError()
1720

@@ -23,6 +26,13 @@ def process_file(self, fpath: Path, version: packaging.version.Version) -> None:
2326
version.micro,
2427
version.pre,
2528
)
29+
30+
if self.args.rc:
31+
self.suffix = f"-rc{self.args.rc}"
32+
33+
if self.args.git:
34+
self.suffix = "git"
35+
2636
data = fpath.read_text()
2737
new_data = []
2838

@@ -64,7 +74,7 @@ def process_line(self, line: str) -> str:
6474
if self.suffix:
6575
nline = re.sub(
6676
r"set\(LLVM_VERSION_SUFFIX(.*)\)",
67-
f"set(LLVM_VERSION_SUFFIX -{self.suffix[0]}{self.suffix[1]})",
77+
f"set(LLVM_VERSION_SUFFIX {self.suffix})",
6878
line,
6979
)
7080
else:
@@ -144,6 +154,7 @@ def process_line(self, line: str) -> str:
144154
)
145155
parser.add_argument("version", help="Version to bump to, e.g. 15.0.1", default=None)
146156
parser.add_argument("--rc", default=None, type=int, help="RC version")
157+
parser.add_argument("--git", action="store_true", help="Git version")
147158
parser.add_argument(
148159
"-s",
149160
"--source-root",
@@ -153,9 +164,10 @@ def process_line(self, line: str) -> str:
153164

154165
args = parser.parse_args()
155166

167+
if args.rc and args.git:
168+
raise RuntimeError("Can't specify --git and --rc at the same time!")
169+
156170
verstr = args.version
157-
if args.rc:
158-
verstr += f"-rc{args.rc}"
159171

160172
# parse the version string with distutils.
161173
# note that -rc will end up as version.pre here
@@ -170,20 +182,20 @@ def process_line(self, line: str) -> str:
170182

171183
files_to_update = (
172184
# Main CMakeLists.
173-
(source_root / "llvm" / "CMakeLists.txt", CMakeProcessor()),
185+
(source_root / "cmake" / "Modules" / "LLVMVersion.cmake", CMakeProcessor(args)),
174186
# Lit configuration
175187
(
176188
"llvm/utils/lit/lit/__init__.py",
177-
LitProcessor(),
189+
LitProcessor(args),
178190
),
179191
# GN build system
180192
(
181193
"llvm/utils/gn/secondary/llvm/version.gni",
182-
GNIProcessor(),
194+
GNIProcessor(args),
183195
),
184196
(
185197
"libcxx/include/__config",
186-
LibCXXProcessor(),
198+
LibCXXProcessor(args),
187199
),
188200
)
189201

0 commit comments

Comments
 (0)