[feat] Notice.txt generation configuration (#20669)

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 build/notice-file directory to store the configuration files.

Tool repo: https://github.com/mattermost/notice-file-generator

Ticket: https://mattermost.atlassian.net/browse/CLD-3697
Этот коммит содержится в:
Akis Maziotis
2022-07-19 10:16:40 +03:00
коммит произвёл GitHub
родитель 0a9eda0e63
Коммит 56ce900f7b
2 изменённых файлов: 39 добавлений и 0 удалений

28
build/notice-file/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`. |

11
build/notice-file/config.yaml Обычный файл
Просмотреть файл

@@ -0,0 +1,11 @@
---
title: "Mattermost Server"
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 Server, including those that have been modified."
search:
- "go.mod"
dependencies: []
devDependencies: []
...