From 7e02c8bb88c23b8e4c910abb065b70ba34442db9 Mon Sep 17 00:00:00 2001 From: Oliver Weis <44850693+olwe0002@users.noreply.github.com> Date: Fri, 26 Jan 2024 15:42:51 +0100 Subject: [PATCH] feat: explicit version download (#2455) --- build/download.sh | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/build/download.sh b/build/download.sh index 89fe4f67a..44d71f1bc 100644 --- a/build/download.sh +++ b/build/download.sh @@ -12,11 +12,17 @@ download() { tmp="$(ensure mktemp -d)" ensure cd "$tmp" - # Download latest Gauge zip installer - url="$(ensure curl -Ss https://api.github.com/repos/getgauge/gauge/releases/latest \ - | grep "browser_download_url.*$OS.$ARCH.zip" \ - | cut -d : -f 2,3 \ - | tr -d \")" + # set api url + if [ $VERSION = "latest" ]; then + api_url="https://api.github.com/repos/getgauge/gauge/releases/latest" + else + api_url="https://api.github.com/repos/getgauge/gauge/releases/tags/$VERSION" + fi + # set download url + url="$(ensure curl -Ss $api_url \ + | grep "browser_download_url.*$OS.$ARCH.zip" \ + | cut -d : -f 2,3 \ + | tr -d \")" say "Downloading binary from URL:$url" ensure curl -L -o gauge.zip $url @@ -109,6 +115,7 @@ set_os_architecture() { handle_cmd_line_args() { LOCATION="/usr/local/bin" + VERSION="latest" for _arg in "$@"; do case "${_arg%%=*}" in --verbose) @@ -119,6 +126,11 @@ handle_cmd_line_args() { LOCATION="$(get_value_arg "$_arg")" fi ;; + --version) + if is_value_arg "$_arg" "version"; then + VERSION="$(get_value_arg "$_arg")" + fi + ;; esac done } @@ -194,4 +206,4 @@ main() { download } -main "$@" \ No newline at end of file +main "$@"