| #!/usr/bin/env python3 | |
| # ===-- clear-release-notes.py ---------------------------------------------===# | |
| # | |
| # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| # See https://llvm.org/LICENSE.txt for license information. | |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| # | |
| # ===------------------------------------------------------------------------===# | |
| # | |
| # Clear release notes, which is needed when bumping trunk version. | |
| # | |
| # ===------------------------------------------------------------------------===# | |
| import argparse | |
| from pathlib import Path | |
| def process_file(fpath: Path) -> None: | |
| # ReleaseNotes.rst/.md -> ReleaseNotesTemplate.txt | |
| template_path = fpath.with_name(f"{fpath.stem}Template.txt") | |
| fpath.write_text(template_path.read_text(), newline="\n") | |
| print(f"{fpath} updated.") | |
| if __name__ == "__main__": | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument( | |
| "-s", | |
| "--source-root", | |
| default=None, | |
| help="LLVM source root (/path/llvm-project). Defaults to the " | |
| "llvm-project the script is located in.", | |
| ) | |
| args = parser.parse_args() | |
| # Find llvm-project root | |
| source_root = Path(__file__).resolve().parents[3] | |
| if args.source_root: | |
| source_root = Path(args.source_root).resolve() | |
| files_to_update = ( | |
| "clang/docs/ReleaseNotes.md", | |
| "clang-tools-extra/docs/ReleaseNotes.rst", | |
| "flang/docs/ReleaseNotes.md", | |
| "lld/docs/ReleaseNotes.rst", | |
| "llvm/docs/ReleaseNotes.md", | |
| ) | |
| for f in files_to_update: | |
| process_file(source_root / f) |