mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-24 17:28:40 +00:00
Add script to generate license dependencies as csv (#18411)
Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
This commit is contained in:
parent
e28496d4e2
commit
48c6eb9ac7
5 changed files with 35 additions and 2 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -10,7 +10,7 @@
|
|||
/crates/collab/seed.json
|
||||
/crates/zed/resources/flatpak/flatpak-cargo-sources.json
|
||||
/dev.zed.Zed*.json
|
||||
/assets/*licenses.md
|
||||
/assets/*licenses.*
|
||||
**/venv
|
||||
.build
|
||||
*.wasm
|
||||
|
|
|
@ -4,6 +4,7 @@ set -euo pipefail
|
|||
|
||||
CARGO_ABOUT_VERSION="0.6.1"
|
||||
OUTPUT_FILE="${1:-$(pwd)/assets/licenses.md}"
|
||||
TEMPLATE_FILE="script/licenses/template.md.hbs"
|
||||
|
||||
> $OUTPUT_FILE
|
||||
|
||||
|
@ -23,7 +24,10 @@ else
|
|||
fi
|
||||
|
||||
echo "Generating cargo licenses"
|
||||
cargo about generate --fail -c script/licenses/zed-licenses.toml script/licenses/template.hbs.md >> $OUTPUT_FILE
|
||||
cargo about generate \
|
||||
--fail \
|
||||
-c script/licenses/zed-licenses.toml \
|
||||
"${TEMPLATE_FILE}" >> $OUTPUT_FILE
|
||||
|
||||
|
||||
sed -i.bak 's/"/"/g' $OUTPUT_FILE
|
||||
|
|
23
script/generate-licenses-csv
Executable file
23
script/generate-licenses-csv
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
CARGO_ABOUT_VERSION="0.6.1"
|
||||
OUTPUT_FILE="${1:-$(pwd)/assets/licenses.csv}"
|
||||
TEMPLATE_FILE="script/licenses/template.csv.hbs"
|
||||
|
||||
if ! cargo install --list | grep "cargo-about v$CARGO_ABOUT_VERSION" > /dev/null; then
|
||||
echo "Installing cargo-about@$CARGO_ABOUT_VERSION..."
|
||||
cargo install "cargo-about@$CARGO_ABOUT_VERSION"
|
||||
else
|
||||
echo "cargo-about@$CARGO_ABOUT_VERSION is already installed."
|
||||
fi
|
||||
|
||||
echo "Generating cargo licenses"
|
||||
cargo about generate \
|
||||
--fail \
|
||||
-c script/licenses/zed-licenses.toml \
|
||||
script/licenses/template.csv.hbs \
|
||||
| awk 'NR==1{print;next} NF{print | "sort"}' \
|
||||
> $OUTPUT_FILE
|
||||
echo "Completed. See $OUTPUT_FILE"
|
6
script/licenses/template.csv.hbs
Normal file
6
script/licenses/template.csv.hbs
Normal file
|
@ -0,0 +1,6 @@
|
|||
Crate Name,Crate Version,License,Url
|
||||
{{#each licenses}}
|
||||
{{#each used_by}}
|
||||
{{crate.name}},{{crate.version}},{{../name}},{{#if crate.repository}}{{crate.repository}}{{else}}https://crates.io/crates/{{crate.name}}{{/if}}
|
||||
{{/each}}
|
||||
{{/each}}
|
Loading…
Reference in a new issue