#!/usr/bin/env bash # Compiles and runs common/'s standalone test classes (no JUnit, no Gradle — see README.md for # why: common/ must compile under plain javac, independent of either leaf's ForgeGradle # toolchain, and test code never ships in the mod jar so it doesn't need to match the leaves' # JDK 8 target either). Any JDK on PATH works. set -euo pipefail cd "$(dirname "$0")" OUT=$(mktemp -d) trap 'rm -rf "$OUT"' EXIT javac -d "$OUT" $(find src/main/java src/test/java -name '*.java') status=0 for class in $(find src/test/java -name '*Test.java' | sed 's#src/test/java/##; s#\.java$##; s#/#.#g'); do echo "== $class ==" java -cp "$OUT" "$class" || status=1 echo done exit $status