From 41568b01496465b83bfbf36d343e07f6a6dfe743 Mon Sep 17 00:00:00 2001 From: James Harton Date: Thu, 20 Jul 2023 08:37:34 +1200 Subject: [PATCH] improvement(asdf_install): don't break when a plugin is already installed. --- asdf_install | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/asdf_install b/asdf_install index 7989e82..06d62f3 100755 --- a/asdf_install +++ b/asdf_install @@ -3,6 +3,19 @@ set -e source ~/.asdf/asdf.sh -cat .tool-versions | cut -d \ -f 1 | xargs -n 1 asdf plugin add +REQUIRED_PLUGINS=$(cat .tool-versions | cut -d \ -f 1) +INSTALLED_PLUGINS=$(asdf plugin list) + +for PLUGIN in $REQUIRED_PLUGINS; do + if [[ $INSTALLED_PLUGINS =~ (^|[^[:alpha:]])$PLUGIN([^[:alpha:]]|$) ]]; then + echo "ASDF plugin $PLUGIN already installed" + else + echo "Installing $PLUGIN ASDF plugin..." + asdf plugin add $PLUGIN + echo " ...done" + fi +done + +echo "Running ASDF install..." asdf install -cat .tool-versions | xargs -n 2 asdf global +echo " ...done"