xref: /aosp_15_r20/external/arm-trusted-firmware/.versionrc.js (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong Park/*
2*54fd6939SJiyong Park * Copyright (c) 2021, Arm Limited. All rights reserved.
3*54fd6939SJiyong Park *
4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause
5*54fd6939SJiyong Park */
6*54fd6939SJiyong Park
7*54fd6939SJiyong Park/* eslint-env es6 */
8*54fd6939SJiyong Park
9*54fd6939SJiyong Park"use strict";
10*54fd6939SJiyong Park
11*54fd6939SJiyong Parkconst cz = require("./.cz.json");
12*54fd6939SJiyong Park
13*54fd6939SJiyong Park/*
14*54fd6939SJiyong Park * Convert the Commitizen types array into the format accepted by the Conventional Changelog
15*54fd6939SJiyong Park * Conventional Commits plugin (which our own plugin extends).
16*54fd6939SJiyong Park */
17*54fd6939SJiyong Parkconst types = cz.types.map(type => {
18*54fd6939SJiyong Park    if (!type.hidden) {
19*54fd6939SJiyong Park        /*
20*54fd6939SJiyong Park         * Conventional Changelog prevents each section from appearing only if it has no designated
21*54fd6939SJiyong Park         * title, regardless of the value of the `hidden` flag.
22*54fd6939SJiyong Park         */
23*54fd6939SJiyong Park        type.section = type.title;
24*54fd6939SJiyong Park    }
25*54fd6939SJiyong Park
26*54fd6939SJiyong Park    delete type.title;
27*54fd6939SJiyong Park    delete type.description;
28*54fd6939SJiyong Park
29*54fd6939SJiyong Park    return type;
30*54fd6939SJiyong Park});
31*54fd6939SJiyong Park
32*54fd6939SJiyong Parkmodule.exports = {
33*54fd6939SJiyong Park    "header": "# Change Log & Release Notes\n\nThis document contains a summary of the new features, changes, fixes and known\nissues in each release of Trusted Firmware-A.\n",
34*54fd6939SJiyong Park    "preset": {
35*54fd6939SJiyong Park        "name": "tf-a",
36*54fd6939SJiyong Park        "commitUrlFormat": "https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/{{hash}}",
37*54fd6939SJiyong Park        "compareUrlFormat": "https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/{{previousTag}}..{{currentTag}}",
38*54fd6939SJiyong Park        "userUrlFormat": "https://github.com/{{user}}",
39*54fd6939SJiyong Park
40*54fd6939SJiyong Park        "types": types,
41*54fd6939SJiyong Park        "sections": cz.sections,
42*54fd6939SJiyong Park    },
43*54fd6939SJiyong Park    "bumpFiles": [
44*54fd6939SJiyong Park        {
45*54fd6939SJiyong Park            "filename": "Makefile",
46*54fd6939SJiyong Park            "updater": {
47*54fd6939SJiyong Park                "readVersion": function (contents) {
48*54fd6939SJiyong Park                    const major = contents.match(/^VERSION_MAJOR\s*:=\s*(\d+?)$/m)[1];
49*54fd6939SJiyong Park                    const minor = contents.match(/^VERSION_MINOR\s*:=\s*(\d+?)$/m)[1];
50*54fd6939SJiyong Park
51*54fd6939SJiyong Park                    return `${major}.${minor}.0`;
52*54fd6939SJiyong Park                },
53*54fd6939SJiyong Park
54*54fd6939SJiyong Park                "writeVersion": function (contents, version) {
55*54fd6939SJiyong Park                    const major = version.split(".")[0];
56*54fd6939SJiyong Park                    const minor = version.split(".")[1];
57*54fd6939SJiyong Park
58*54fd6939SJiyong Park                    contents = contents.replace(/^(VERSION_MAJOR\s*:=\s*)(\d+?)$/m, `$1${major}`);
59*54fd6939SJiyong Park                    contents = contents.replace(/^(VERSION_MINOR\s*:=\s*)(\d+?)$/m, `$1${minor}`);
60*54fd6939SJiyong Park
61*54fd6939SJiyong Park                    return contents;
62*54fd6939SJiyong Park                }
63*54fd6939SJiyong Park            }
64*54fd6939SJiyong Park        }
65*54fd6939SJiyong Park    ]
66*54fd6939SJiyong Park};
67