#!/usr/bin/env bash # Reproduces the tracing-agent fix for the /report reflection trap: run the plain jar under the # GraalVM tracing agent, exercise both code paths, then rebuild the native image with the # generated hints merged in under a namespace that does NOT collide with Spring's own AOT output. set -euo pipefail cd "$(dirname "$0")/.." rm -rf agent-output && mkdir -p agent-output "$GRAALVM_HOME/bin/java" -agentlib:native-image-agent=config-output-dir=agent-output \ -jar target/app.jar --server.port=8083 & AGENT_PID=$! sleep 10 curl -s "localhost:8083/report?format=plain"; echo curl -s "localhost:8083/report?format=json"; echo kill $AGENT_PID echo "Generated hints for our own classes:" grep -A4 "com.ankurm.graalvmdemo.report" agent-output/reachability-metadata.json