diff --git a/src/scripts/tools/symfony.sh b/src/scripts/tools/symfony.sh index a4cfefa0..03d2de24 100644 --- a/src/scripts/tools/symfony.sh +++ b/src/scripts/tools/symfony.sh @@ -1,11 +1,30 @@ +add_symfony_with_brew() { + add_brew_tap symfony-cli/homebrew-tap + brew install symfony-cli/tap/symfony-cli +} + +get_symfony_artifact_url() { + arch=$(dpkg --print-architecture) + url=$(get -s -n "" https://raw.githubusercontent.com/symfony-cli/homebrew-tap/main/Formula/symfony-cli.rb 2<&1 | grep -m 1 "url.*linux.*${arch}" | cut -d\" -f 2) + if [ -z "$url" ]; then + url=$(get -s -n "" https://api.github.com/repos/symfony-cli/symfony-cli/releases 2<&1 | grep -m 1 "url.*linux.*${arch}.*gz\"" | cut -d\" -f 4) + fi + echo "$url" +} + add_symfony_helper() { if [ "$(uname -s)" = "Linux" ]; then - arch=$(dpkg --print-architecture) - get -s -n "" "https://github.com/symfony-cli/symfony-cli/releases/latest/download/symfony-cli_linux_$arch.tar.gz" | sudo tar -xz -C "${tool_path_dir:?}" - sudo chmod a+x /usr/local/bin/symfony + url="$(get_symfony_artifact_url)" + if [ -z "$url" ]; then + . "${0%/*}"/tools/brew.sh + configure_brew + add_symfony_with_brew + else + get -s -n "" "$url" | sudo tar -xz -C "${tool_path_dir:?}" 2>/dev/null + sudo chmod a+x /usr/local/bin/symfony + fi elif [ "$(uname -s)" = "Darwin" ]; then - add_brew_tap symfony-cli/homebrew-tap - brew install symfony-cli/tap/symfony-cli + add_symfony_with_brew fi }