#!/usr/bin/env bash # Downloads JMH 1.37 and its two runtime dependencies from Maven Central into ./lib, checking each against the published .sha1 set -euo pipefail cd "$(dirname "$0")"; mkdir -p lib M=https://repo1.maven.org/maven2 for a in org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37 \ org/openjdk/jmh/jmh-generator-annprocess/1.37/jmh-generator-annprocess-1.37 \ net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4 \ org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1; do f="lib/$(basename "$a").jar" for try in 1 2 3 4 5; do [ -s "$f" ] && break; curl -sfL -o "$f" "$M/$a.jar" || { rm -f "$f"; sleep 5; }; done want=""; for try in 1 2 3 4 5; do want="$(curl -sfL "$M/$a.jar.sha1" | cut -d' ' -f1)" && [ -n "$want" ] && break; sleep 5; done got="$(sha1sum "$f" | cut -d' ' -f1)" [ "$want" = "$got" ] && echo "ok $f $got" || { echo "SHA1 MISMATCH $f"; exit 1; } done