| #!/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.rst", |
| "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) |