summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2017-05-22 09:56:33 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2017-05-23 08:33:29 +0000
commit30139e8b047118dc0a17904f347695408b025f01 (patch)
treecadec277299cd7b8066df49f1f0af45b41420d01
parente7d5650aae246995cfbd57dda507be6d71e5492f (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.sh27
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
+}