This PR adds a new jlink plugin (`--save-jlink-argfiles=<filenames>`) to support persisting jlink options.
> echo "--add-modules jdk.internal.vm.ci --add-options=-Dfoo=xyzzy > --vendor-version="XyzzyVM 3.14.15" --vendor-bug-url=https://bugs.xyzzy.com/" > > my_image.argfile > export ALL_MODULES=$(java --list-modules | sed 's:@.*::g' | tr '\n' ',') > jlink --keep-packaged-modules=my_image/jmods --add-modules $ALL_MODULES > --output=my_image --save-jlink-argfiles my_image.argfile > my_image/bin/java -XshowSettings:properties --version 2>&1 | grep yzzy > my_image/bin/jlink --add-modules=java.base --output=my_image2 > my_image2/bin/java -XshowSettings:properties --version 2>&1 | grep yzzy foo = xyzzy java.vendor.url.bug = https://bugs.xyzzy.com/ java.vendor.version = XyzzyVM 3.14.15 OpenJDK Runtime Environment XyzzyVM 3.14.15 (build 20-internal-2022-09-22-0951036.dnsimon...) OpenJDK 64-Bit Server VM XyzzyVM 3.14.15 (build 20-internal-2022-09-22-0951036.dnsimon..., mixed mode) > my_image2/bin/java -d jdk.internal.vm.ci | head -1 jdk.internal.vm.ci@20-internal ------------- Commit messages: - add SaveJlinkArgfilesPlugin Changes: https://git.openjdk.org/jdk/pull/10445/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10445&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8237467 Stats: 419 lines in 6 files changed: 418 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/10445.diff Fetch: git fetch https://git.openjdk.org/jdk pull/10445/head:pull/10445 PR: https://git.openjdk.org/jdk/pull/10445