|
1 | | -add_symfony_with_brew() { |
2 | | - add_brew_tap symfony-cli/homebrew-tap |
3 | | - brew install symfony-cli/tap/symfony-cli |
4 | | -} |
5 | | - |
6 | 1 | get_symfony_artifact_url() { |
7 | | - arch=$(dpkg --print-architecture) |
8 | | - 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) |
9 | | - if [ -z "$url" ]; then |
10 | | - url="https://github.com/symfony-cli/symfony-cli/releases/latest/download/symfony-cli_linux_${arch}.tar.gz" |
11 | | - fi |
12 | | - echo "$url" |
| 2 | + local symfony_tag=$1 |
| 3 | + local os |
| 4 | + local arch |
| 5 | + os="$(uname -s | tr '[:upper:]' '[:lower:]')" |
| 6 | + arch="$(uname -m)" |
| 7 | + case "$arch" in |
| 8 | + arm|armv6*|armv7*) arch="armv6" ;; |
| 9 | + aarch64*|armv8*|arm64) arch="arm64" ;; |
| 10 | + i[36]86) arch="386" ;; |
| 11 | + x86_64|amd64) arch="amd64" ;; |
| 12 | + esac |
| 13 | + [ "$os" = "darwin" ] && arch="all" |
| 14 | + symfony_releases="https://github.com/symfony-cli/symfony-cli/releases" |
| 15 | + if [ "$symfony_tag" = "latest" ]; then |
| 16 | + echo "$symfony_releases/latest/download/symfony-cli_${os}_${arch}.tar.gz" |
| 17 | + else |
| 18 | + echo "$symfony_releases/download/v$symfony_tag/symfony-cli_${os}_${arch}.tar.gz" |
| 19 | + fi |
13 | 20 | } |
14 | 21 |
|
15 | 22 | add_symfony_helper() { |
16 | | - if [ "$(uname -s)" = "Linux" ]; then |
17 | | - url="$(get_symfony_artifact_url)" |
18 | | - if [ -z "$url" ]; then |
19 | | - . "${0%/*}"/tools/brew.sh |
20 | | - configure_brew |
21 | | - add_symfony_with_brew |
22 | | - else |
23 | | - get -s -n "" "$url" | sudo tar -xz -C "${tool_path_dir:?}" 2>/dev/null |
24 | | - sudo chmod a+x /usr/local/bin/symfony |
25 | | - fi |
26 | | - elif [ "$(uname -s)" = "Darwin" ]; then |
27 | | - add_symfony_with_brew |
28 | | - fi |
| 23 | + local install_dir=/usr/local/bin |
| 24 | + [ "$(uname -s)" = "Darwin" ] && install_dir=${brew_prefix:?}/bin |
| 25 | + get -s -n "" "$(get_symfony_artifact_url "$symfony_tag")" | sudo tar -xz -C "$install_dir" 2>/dev/null |
| 26 | + sudo chmod a+x "$install_dir"/symfony |
29 | 27 | } |
30 | 28 |
|
31 | 29 | add_symfony() { |
32 | | - add_symfony_helper >/dev/null 2>&1 |
33 | | - symfony_path="$(command -v symfony)" |
34 | | - if [[ -n "$symfony_path" ]]; then |
35 | | - sudo ln -s "$symfony_path" "${tool_path_dir:?}"/symfony-cli |
36 | | - tool_version=$(get_tool_version "symfony" "-V") |
37 | | - add_log "${tick:?}" "symfony-cli" "Added symfony-cli $tool_version" |
| 30 | + local symfony_tag="${1/v/}" |
| 31 | + if ! [[ "$symfony_tag" =~ ^[0-9]+(\.[0-9]+)*$ || "$symfony_tag" == 'latest' ]]; then |
| 32 | + add_log "${cross:?}" "symfony-cli" "Version '$symfony_tag' is not valid for symfony-cli" |
38 | 33 | else |
39 | | - add_log "${cross:?}" "symfony-cli" "Could not setup symfony-cli" |
| 34 | + add_symfony_helper "$symfony_tag" >/dev/null 2>&1 |
| 35 | + symfony_path="$(command -v symfony)" |
| 36 | + if [[ -n "$symfony_path" ]]; then |
| 37 | + sudo ln -s "$symfony_path" "${tool_path_dir:?}"/symfony-cli |
| 38 | + tool_version=$(get_tool_version "symfony" "-V") |
| 39 | + add_log "${tick:?}" "symfony-cli" "Added symfony-cli $tool_version" |
| 40 | + else |
| 41 | + add_log "${cross:?}" "symfony-cli" "Could not setup symfony-cli" |
| 42 | + fi |
40 | 43 | fi |
41 | 44 | } |
0 commit comments