Add go licenses to licenses.txt (#21034)
`make go-licenses` will generate `assets/go-licenses.json` which is then included in the webpack build. This step depends on both go and node being present, so unfortunately, I could not automate the generation by hooking it up to `tidy` as that target is triggered on CI where we do not have a docker image with both go an node. It should be ran from time to time, ideally after each go mod update.release
parent
82c6f7bf4a
commit
49efd1fb96
File diff suppressed because one or more lines are too long
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env node
|
||||
import fastGlob from 'fast-glob';
|
||||
import {fileURLToPath} from 'url';
|
||||
import {readFileSync, writeFileSync} from 'fs';
|
||||
import wrapAnsi from 'wrap-ansi';
|
||||
import {join, dirname} from 'path';
|
||||
|
||||
const base = process.argv[2];
|
||||
const out = process.argv[3];
|
||||
|
||||
function exit(err) {
|
||||
if (err) console.error(err);
|
||||
process.exit(err ? 1 : 0);
|
||||
}
|
||||
|
||||
async function main() {
|
||||
const data = fastGlob.sync('**/*', {
|
||||
cwd: fileURLToPath(new URL(`../${base}`, import.meta.url)),
|
||||
}).filter((path) => {
|
||||
return /\/((UN)?LICEN(S|C)E|COPYING|NOTICE)/i.test(path);
|
||||
}).sort().map((path) => {
|
||||
return {
|
||||
name: dirname(path),
|
||||
body: wrapAnsi(readFileSync(join(base, path), 'utf8') || '', 80)
|
||||
};
|
||||
});
|
||||
writeFileSync(out, JSON.stringify(data, null, 2));
|
||||
}
|
||||
|
||||
main().then(exit).catch(exit);
|
Loading…
Reference in New Issue