#!/usr/bin/env bash set -euo pipefail CARGO_ABOUT_VERSION="0.6.1" OUTPUT_FILE="${1:-$(pwd)/assets/licenses.md}" > $OUTPUT_FILE echo -e "# ###### THEME LICENSES ######\n" >> $OUTPUT_FILE cat assets/themes/LICENSES >> $OUTPUT_FILE echo -e "# ###### ICON LICENSES ######\n" >> $OUTPUT_FILE cat assets/icons/LICENSES >> $OUTPUT_FILE echo -e "# ###### CODE LICENSES ######\n" >> $OUTPUT_FILE 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.hbs.md >> $OUTPUT_FILE sed -i.bak 's/"/"/g' $OUTPUT_FILE sed -i.bak 's/'/'\''/g' $OUTPUT_FILE # The ` '\'' ` thing ends the string, appends a single quote, and re-opens the string sed -i.bak 's/=/=/g' $OUTPUT_FILE sed -i.bak 's/`/`/g' $OUTPUT_FILE sed -i.bak 's/<//g' $OUTPUT_FILE rm -rf "${OUTPUT_FILE}.bak"