Skip to content

Commit

Permalink
[Utils] Updates to bump-version.py (#100089)
Browse files Browse the repository at this point in the history
* Add support for --git flag to bump version for a git suffix
* Update location of the new file where the version is stored
  • Loading branch information
tru authored Jul 23, 2024
1 parent b4ebf2d commit 20fe252
Showing 1 changed file with 19 additions and 7 deletions.
26 changes: 19 additions & 7 deletions llvm/utils/release/bump-version.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@


class Processor:
def __init__(self, args):
self.args = args

def process_line(self, line: str) -> str:
raise NotImplementedError()

Expand All @@ -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 = []

Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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",
Expand All @@ -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
Expand All @@ -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),
),
)

Expand Down

0 comments on commit 20fe252

Please sign in to comment.