Remove extra `cargo install cargo-about` (#13077)

Marshall Bowers created

This PR removes an extra `cargo install cargo-about` in the
`generate-licenses` script, as we already install a specific version of
`cargo-about`.

It also improves the way we detect if `cargo-about` is already
installed, to avoid logging an error when it is not installed.

Resolves #13075.

Release Notes:

- N/A

Change summary

script/generate-licenses | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

Detailed changes

script/generate-licenses 🔗

@@ -2,6 +2,7 @@
 
 set -euo pipefail
 
+CARGO_ABOUT_VERSION="0.6.1"
 OUTPUT_FILE="${1:-$(pwd)/assets/licenses.md}"
 
 > $OUTPUT_FILE
@@ -14,10 +15,14 @@ cat assets/icons/LICENSES >> $OUTPUT_FILE
 
 echo -e "# ###### CODE LICENSES ######\n" >> $OUTPUT_FILE
 
-[[ "$(cargo about --version)" == "cargo-about 0.6.1" ]] || cargo install cargo-about@0.6.1
+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 install cargo-about
 cargo about generate --fail -c script/licenses/zed-licenses.toml script/licenses/template.hbs.md >> $OUTPUT_FILE