Basics, failure semantics on 26 vs 27, lazy collections, API across 25/26/27, preview-flag traps and a JMH read-path benchmark (jars fetched and sha1-checked, not committed). Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
16 lines
919 B
Bash
Executable File
16 lines
919 B
Bash
Executable File
#!/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
|