| Paul Sokolovsky | daebc27 | 2024-02-15 23:22:51 +0700 | [diff] [blame] | 1 | # | 
|  | 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 | # | 
|  | 10 | import sys | 
|  | 11 | import re | 
|  | 12 |  | 
|  | 13 |  | 
|  | 14 | TAIL_RE = r"\(https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/\+/refs/tags/.+lts.+\) \(\d+-\d+-\d+\)$" | 
|  | 15 | PREFIX_RE = r"^## \[lts-[0-9.]+\]" + TAIL_RE | 
|  | 16 | NOPREFIX_RE = r"^###? \[[0-9.]+\]" + TAIL_RE | 
|  | 17 |  | 
|  | 18 |  | 
|  | 19 | def 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 |  | 
|  | 35 | if __name__ == "__main__": | 
|  | 36 | main() |