blob: e0e245d70192a7a3751da8f6c7713ec0eb12ee25 [file] [log] [blame]
Paul Sokolovskydaebc272024-02-15 23:22:51 +07001#
2# Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6# This script is used to account for differences between change log format
7# produced by NodeJS module "standard-version" and format actually used
8# by the TF-A LTS project.
9#
10import sys
11import re
12
13
14TAIL_RE = r"\(https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/\+/refs/tags/.+lts.+\) \(\d+-\d+-\d+\)$"
15PREFIX_RE = r"^## \[lts-[0-9.]+\]" + TAIL_RE
16NOPREFIX_RE = r"^###? \[[0-9.]+\]" + TAIL_RE
17
18
19def main():
20 with open(sys.argv[2]) as f:
21 for l in f:
22 if sys.argv[1] == "remove-prefix":
23 if re.match(PREFIX_RE, l):
24 l = re.sub(r"\[lts-([0-9.]+)\]", r"[\1]", l)
25 elif sys.argv[1] == "add-prefix":
26 if re.match(NOPREFIX_RE, l):
27 l = re.sub(r"\[([0-9.]+)\]", r"[lts-\1]", l)
28 # stadard-version generates "###", while change-log.md uses "##"
29 l = l.replace("### ", "## ")
30 else:
31 assert sys.argv[1], "'add-prefix' or 'remove-prefix' expected"
32 sys.stdout.write(l)
33
34
35if __name__ == "__main__":
36 main()