From 111d741ad7979e45955dccc4731580eab9640aec Mon Sep 17 00:00:00 2001 From: Akis Maziotis Date: Mon, 18 Jul 2022 14:40:34 +0300 Subject: [PATCH] [feat] Notice.txt generation configuration We created a tool to automatically generate NOTICE.txt from project folders. And there is a scheduled pipeline configured to run at every Monday which creates a PR if there is a change. We selected noticegen directory to store the configuration files. Tool repo: https://github.com/mattermost/notice-file-generator Ticket: https://mattermost.atlassian.net/browse/CLD-3697 Signed-off-by: Akis Maziotis --- noticegen/Readme.md | 28 ++++++++++++++++++++++++++++ noticegen/config.yaml | 14 ++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 noticegen/Readme.md create mode 100644 noticegen/config.yaml diff --git a/noticegen/Readme.md b/noticegen/Readme.md new file mode 100644 index 000000000..9d93b96f3 --- /dev/null +++ b/noticegen/Readme.md @@ -0,0 +1,28 @@ +# Notice.txt File Configuration + +We are automatically generating Notice.txt by using first-level dependencies of the project. The related pipeline uses `config.yaml` stored in this folder. + + +## Configuration + +Sample: + +``` +title: "Mattermost Playbooks" +copyright: "©2015-present Mattermost, Inc. All Rights Reserved. See LICENSE for license information." +description: "This document includes a list of open source components used in Mattermost Playbooks, including those that have been modified." +search: + - "go.mod" + - "client/go.mod" +dependencies: [] +devDependencies: [] +``` + +| Field | Type | Purpose | +| :-- | :-- | :-- | +| title | string | Field content will be used as a title of the application. See first line of `NOTICE.txt` file. | +| copyright | string | Field content will be used as a copyright message. See second line of `NOTICE.txt` file. | +| description | string | Field content will be used as notice file description. See third line of `NOTICE.txt` file. | +| dependencies | array | If any dependency name mentioned, it will be automatically added even if it is not a first-level dependency. | +| devDependencies | array | If any dependency name mentioned, it will be added when it is referenced in devDependency section. | +| search | array | Pipeline will search for package.json/go.mod files mentioned here. Globstar format is supported ie. `x/**/go.mod`. | diff --git a/noticegen/config.yaml b/noticegen/config.yaml new file mode 100644 index 000000000..3aba778dc --- /dev/null +++ b/noticegen/config.yaml @@ -0,0 +1,14 @@ +--- + +title: "Mattermost Focalboard" +copyright: "©2015-present Mattermost,Inc. All Rights Reserved. See LICENSE for license information." +description: "This document includes a list of open source components used in Mattermost Focalboard, including those that have been modified." +search: + - "mattermost-plugin/go.mod" + - "mattermost-plugin/build/go.mod" + - "server/go.mod" + - "linux/go.mod" +dependencies: [] +devDependencies: [] + +...