Make generate-licenses scripts pass shellcheck (#25516)

Michael Sloan created

Release Notes:

- N/A

Change summary

script/generate-licenses     | 30 ++++++++++++++++--------------
script/generate-licenses-csv |  4 ++--
2 files changed, 18 insertions(+), 16 deletions(-)

Detailed changes

script/generate-licenses 🔗

@@ -6,15 +6,17 @@ CARGO_ABOUT_VERSION="0.6.6"
 OUTPUT_FILE="${1:-$(pwd)/assets/licenses.md}"
 TEMPLATE_FILE="script/licenses/template.md.hbs"
 
-> $OUTPUT_FILE
+echo -n "" > "$OUTPUT_FILE"
 
-echo -e "# ###### THEME LICENSES ######\n" >> $OUTPUT_FILE
-cat assets/themes/LICENSES >> $OUTPUT_FILE
+{
+    echo -e "# ###### THEME LICENSES ######\n"
+    cat assets/themes/LICENSES
 
-echo -e "\n# ###### ICON LICENSES ######\n" >> $OUTPUT_FILE
-cat assets/icons/LICENSES >> $OUTPUT_FILE
+    echo -e "\n# ###### ICON LICENSES ######\n"
+    cat assets/icons/LICENSES
 
-echo -e "\n# ###### CODE LICENSES ######\n" >> $OUTPUT_FILE
+    echo -e "\n# ###### 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..."
@@ -28,14 +30,14 @@ echo "Generating cargo licenses"
 cargo about generate \
     --fail \
     -c script/licenses/zed-licenses.toml \
-    "${TEMPLATE_FILE}" >> $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/&lt;/</g' $OUTPUT_FILE
-sed -i.bak 's/&gt;/>/g' $OUTPUT_FILE
+    "$TEMPLATE_FILE" >> "$OUTPUT_FILE"
+
+sed -i.bak 's/&quot;/"/g' "$OUTPUT_FILE"
+sed -i.bak 's/&#x27;/'\''/g' "$OUTPUT_FILE" # The ` '\'' ` thing ends the string, appends a single quote, and re-opens the string
+sed -i.bak 's/&#x3D;/=/g' "$OUTPUT_FILE"
+sed -i.bak 's/&#x60;/`/g' "$OUTPUT_FILE"
+sed -i.bak 's/&lt;/</g' "$OUTPUT_FILE"
+sed -i.bak 's/&gt;/>/g' "$OUTPUT_FILE"
 
 rm -rf "${OUTPUT_FILE}.bak"
 

script/generate-licenses-csv 🔗

@@ -18,8 +18,8 @@ echo "Generating cargo licenses"
 cargo about generate \
     --fail \
     -c script/licenses/zed-licenses.toml \
-    script/licenses/template.csv.hbs \
+    "$TEMPLATE_FILE" \
     | awk 'NR==1{print;next} NF{print | "sort"}' \
-    > $OUTPUT_FILE
+    > "$OUTPUT_FILE"
 
 echo "generate-licenses-csv completed. See $OUTPUT_FILE"