diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2017-05-22 09:56:33 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2017-05-23 08:33:29 +0000 |
commit | 30139e8b047118dc0a17904f347695408b025f01 (patch) | |
tree | cadec277299cd7b8066df49f1f0af45b41420d01 | |
parent | e7d5650aae246995cfbd57dda507be6d71e5492f (diff) |
jenkins-helpers.sh: Add wget_wildcard_url helper
... to download URLs like http://releases.linaro.org/components/toolchain/binaries/latest/aarch64-linux-gnu/gcc-linaro-*-x86_64_aarch64-linux-gnu.tar.xz .
These are helpful in jobs like tcwg-test-release and tcwg-benchmark-release.
Change-Id: Ia986923ea917d4d58a653eb032715aad0ec3175a
-rw-r--r-- | jenkins-helpers.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/jenkins-helpers.sh b/jenkins-helpers.sh index 1ead1251..148f92f8 100644 --- a/jenkins-helpers.sh +++ b/jenkins-helpers.sh @@ -161,3 +161,30 @@ clone_or_update_repo () git checkout --detach "$sha1" ) } + +# Wget files from URL that may have wildcards; only the last "basename" +# part of URL is allowed to contain wildcards. Safe to use on normal URLs. +# Return N-1 of files downloaded, or 127 if no files were downloaded. +# $1 -- URL +wget_wildcard_url () +{ + local url="$1" + + local url_basename + url_basename="$(basename "$url")" + + local tmpdir + tmpdir="$(mktemp -d)" + + wget --progress=dot:giga -r --no-parent --no-directories --continue --level 1 "--directory-prefix=$tmpdir" -A "$url_basename" "$(dirname "$url")/" + + local count=-1 + for i in "$tmpdir"/$url_basename; do + mv "$i" . + count=$((count+1)) + done + + rm -rf "$tmpdir" + + return $count +} |