Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01KqJyCidz3ZgRyHABv2GVJh
32 lines
2.1 KiB
Bash
Executable File
32 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Regenerates every file in ../output/. Requires JDK25_HOME.
|
|
set -euo pipefail
|
|
[[ -z "${JDK25_HOME:-}" ]] && { echo "JDK25_HOME must be set" >&2; exit 1; }
|
|
cd "$(dirname "$0")/.."
|
|
OUT=output; mkdir -p "$OUT"
|
|
export JAVA_HOME="$JDK25_HOME"
|
|
mvn -q -f ../pom.xml -pl exceptions -am package
|
|
J="$JDK25_HOME/bin/java"
|
|
run() { echo "==> $1"; "$J" -cp target/classes "com.ankurm.exceptions.$1" 2>&1 | grep -v "Picked up" > "$OUT/$2"; }
|
|
run SuppressedDemo 01-suppressed.txt
|
|
run ChainingDemo 02-chaining.txt
|
|
run CheckedVsUncheckedDemo 03-checked-vs-unchecked.txt
|
|
run CustomHierarchyDemo 04-custom-hierarchy.txt
|
|
run FinallyTrapDemo 05-finally-trap.txt
|
|
echo "==> LambdaChecked (expected compile failure)"
|
|
"$JDK25_HOME/bin/javac" -d /tmp/lc src/broken/LambdaChecked.java 2>&1 | grep -v "Picked up" > "$OUT/06-lambda-checked-compile-error.txt" || true
|
|
for b in UnreachableCatch MultiCatchSubclass WiderOverride; do
|
|
n=$([[ $b == UnreachableCatch ]] && echo 07 || ([[ $b == MultiCatchSubclass ]] && echo 08 || echo 09))
|
|
"$JDK25_HOME/bin/javac" -d /tmp/lc src/broken/$b.java 2>&1 | grep -v "Picked up" > "$OUT/$n-$b-compile-error.txt" || true
|
|
done
|
|
echo "==> OmitStackTraceDemo (default, then -XX:-OmitStackTraceInFastThrow)"
|
|
{ echo '$ java OmitStackTraceDemo'; "$J" -cp target/classes com.ankurm.exceptions.OmitStackTraceDemo 2>&1 | grep -v "Picked up"
|
|
echo; echo '$ java -XX:-OmitStackTraceInFastThrow OmitStackTraceDemo'
|
|
"$J" -XX:-OmitStackTraceInFastThrow -cp target/classes com.ankurm.exceptions.OmitStackTraceDemo 2>&1 | grep -v "Picked up"; } > "$OUT/10-omit-stack-trace-in-fast-throw.txt"
|
|
run DeepTraceDemo 12-deep-trace.txt
|
|
"$J" -XX:+PrintFlagsFinal -version 2>/dev/null | grep -E "OmitStackTraceInFastThrow|MaxJavaStackTraceDepth|StackTraceInThrowable" | sed 's/ */ /g' > "$OUT/14-jvm-flags.txt"
|
|
echo "==> JMH"
|
|
"$J" -jar target/benchmarks.jar ExceptionCostBenchmark -rf text -rff "$OUT/11-jmh-raw.txt" 2>&1 | grep -v "Picked up" > /dev/null
|
|
cp target/surefire-reports/com.ankurm.exceptions.ExceptionBehaviourTest.txt "$OUT/13-tests.txt"
|
|
echo Done
|