+bin/cherry* for Jenkins.
[nethome.git] / bin / cherrydownload
diff --git a/bin/cherrydownload b/bin/cherrydownload
new file mode 100755 (executable)
index 0000000..90c52e6
--- /dev/null
@@ -0,0 +1,38 @@
+#! /bin/bash
+for arg in $@;do
+  # http://cherry.azulsystems.com:8080/job/zulu17-silver-build/377/
+  arg="$(echo $arg|sed 's#[a-z]\+/\?$##')"
+  build="$(echo $arg|sed -n 's#^.*/\([0-9]\+\)/$#\1#p')"
+  if [ -z "$build" ];then
+    echo >&2 "parse error: $arg"
+    exit 1
+  fi
+  build="build$build"
+  if [ -e "$build" ];then
+    echo >&2 "exists: $build"
+    exit 1
+  fi
+  mkdir $build
+  outcome="$(wget -O - "${arg}artifact/outcome/")"
+  if [ -z "$outcome" ];then
+    echo >&2 "no outcome: $arg"
+    exit 1
+  fi
+  for release in $(echo "$outcome"|perl -ne 'while (m{<a href="([^"]*)/release">}g) { print "$1\n"; }');do
+    # java17, java8
+    ok=false
+    for file in test-results.tar.gz test.release.log;do
+      url="${arg}artifact/outcome/$release/release/$file"
+      if wget --read-timeout=5 -O "$build/$release-$file" "$url";then
+       ok=true
+       break
+      fi
+      rm -f "$build/$release-$file"
+    done
+    if ! $ok;then
+      echo >&2 "wget error"
+      exit 1
+    fi
+  done
+  (cd $build;if compgen -G "*test-results.tar.gz";then exx *test-results.tar.gz;fi)
+done