Add migration-17-25 module: Java 17 class files run on 17 and 25, flags, removed APIs, jdeps and jdeprscan

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Gth99spB1CzQmBFofXmU4Z
This commit is contained in:
Claude
2026-09-28 08:42:19 +00:00
parent 814c32b5ce
commit 57a04dc393
20 changed files with 304 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Which JVM options from Java 17-era startup scripts still work? Runs `java <flag> -version` on both JDKs; records exit code and first warning/error line.
J17=${JDK17:-/tmp/tools/j17}; J25=${JDK25:-/tmp/tools/jdk-25.0.4.1+1}
echo "# flag | JDK 17 | JDK 25 (exit code: first warning or error line)"
for f in -Djava.security.manager=allow -XX:+UseBiasedLocking -XX:+UseConcMarkSweepGC -XX:+AggressiveOpts -XX:MaxPermSize=128m -XX:+UseParallelOldGC -Xverify:none -XX:-UseCompressedClassPointers -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication; do
line="$f |"
for j in "$J17" "$J25"; do
all=$("$j/bin/java" $f -version 2>&1); rc=$?
msg=$(echo "$all" | grep -E 'Unrecognized|warning|Error' | head -1 | sed 's/^OpenJDK 64-Bit Server VM warning: //' | cut -c1-120)
[ -z "$msg" ] && msg="(no message)"
line="$line exit $rc: $msg |"
done
echo "${line% |}"
done