Files
hibernate-demo/id-generation/scripts/run-all.sh
T

28 lines
1.2 KiB
Bash

#!/usr/bin/env bash
# Regenerates every file under output/. Needs JDK 25 and Maven 3.9 with access to Maven Central.
# PostgreSQL sections need a running Docker daemon (Testcontainers starts postgres:17-alpine); without one they are
# skipped and each transcript says so. H2 sections always run.
set -euo pipefail
cd "$(dirname "$0")/.."
mkdir -p output
CP_FILE="$(mktemp)"
mvn -B -q dependency:build-classpath -Dmdep.outputFile="$CP_FILE" >/dev/null
SEP=':'; case "$(uname -s)" in MINGW*|MSYS*|CYGWIN*) SEP=';';; esac
JAR="$(tr "$SEP" '\n' < "$CP_FILE" | grep 'hibernate-core-')"
{
echo "# javap of the shipped $(basename "$JAR")"
for c in org.hibernate.annotations.UuidGenerator 'org.hibernate.annotations.UuidGenerator$Style' \
org.hibernate.id.uuid.UuidValueGenerator org.hibernate.id.uuid.UuidVersion7Strategy \
org.hibernate.id.SequenceMismatchStrategy org.hibernate.id.enhanced.StandardOptimizerDescriptor; do
echo; echo "\$ javap -cp $(basename "$JAR") $c"
javap -cp "$JAR" "$c" 2>&1 | grep -v '^Picked up'
done
echo; echo "\$ javap java.util.UUID (static members only)"
javap java.util.UUID | grep static | grep -v assertionsDisabled
} > output/00-javap.txt
rm -f "$CP_FILE"
mvn -B clean test
ls -1 output