[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 <akis.maziotis@mattermost.com>
This commit is contained in:
Akis Maziotis 2022-07-18 14:40:34 +03:00
parent 3d753a15e5
commit 111d741ad7
No known key found for this signature in database
GPG key ID: AD329BE9116DB572
2 changed files with 42 additions and 0 deletions

28
noticegen/Readme.md Normal file
View file

@ -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`. |

14
noticegen/config.yaml Normal file
View file

@ -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: []
...