diff --git a/user_manual/changes/README.md b/user_manual/changes/README.md index 0b13236c4..d30512852 100644 --- a/user_manual/changes/README.md +++ b/user_manual/changes/README.md @@ -13,3 +13,8 @@ The contents are used for two purposes: To see what should be documented in each YAML entry, please see [entry_schema.yaml](./entry_schema.yaml), which uses the [JSON Schema](https://json-schema.org/) schema description, but with YAML objects. + +* Files of the form `S123-456.yaml` are old style ticket entries. + +* Files in the `libadalang` and `langkit` directories, and of the form + `123.yaml` are new style Gitlab ticket entries. diff --git a/user_manual/changes/process_changes.py b/user_manual/changes/process_changes.py index d092f5af6..a87bc89df 100755 --- a/user_manual/changes/process_changes.py +++ b/user_manual/changes/process_changes.py @@ -137,12 +137,23 @@ def get_entries(*args): entries_names = args else: entries_names = [ + # Old style TN entries live in the base dir f for f in glob(P.join(ENTRIES_PATH, '*.yaml')) if P.basename(f) != 'entry_schema.yaml' - ] + ] + ( + # Gitlab entries live in subdirs + glob(P.join(ENTRIES_PATH, "libadalang", "*.yaml")) + + glob(P.join(ENTRIES_PATH, "langkit", "*.yaml")) + ) for fname in entries_names: - tn = P.basename(fname).split('.')[0] + # With this transformation: + # * Old style ticket numbers will look like S123-456 + # * New style Gitlab ticket numbers will look like libadalang-123 + tn = P.relpath( + fname, start=ENTRIES_PATH + ).split('.')[0].replace("/", "-") + with open(fname, encoding="utf-8") as f: entry = yaml.safe_load(f) entry['tn'] = tn @@ -150,6 +161,7 @@ def get_entries(*args): yield entry + types_to_header = OrderedDict(( ('api-change', 'breaking changes'), ('new-feature', 'new features'),