Build(deps): bump org.beryx.jlink to 4.1.1-rc to fix jpackage - #7681
Merged
Conversation
jlink 4.1.0 added a blanket doNotTrackState to its jpackage tasks, so Gradle stopped tracking the app-image output dir. PCGen's assembleJpackageImage/patchMacJpackage copy into that dir, and Gradle's stale-output cleanup then deleted jpackage's .jpackage.xml marker, breaking the :jpackage step. This only surfaced in the nightly (regular CI does not run jpackage), so the bump was merged and reverted twice (PCGen#7670/PCGen#7672, PCGen#7674/PCGen#7677). 4.1.1-rc fixes it upstream (beryx/badass-jlink-plugin@0d4bf7ec): it removes the doNotTrackState and marks the image/installer output dirs @optional, restoring the output tracking that 4.0.2 had. No PCGen-side workaround is needed. Verified locally on macOS/JDK 25: clean fullJpackage succeeds, the .jpackage.xml marker survives, the bundle stays validly signed, and the dmg is produced.
🚧 PCGen Code Coverage
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The straight 4.0.2 → 4.1.0 bump breaks
fullJpackage, so it was merged and reverted twice already (#7670 → #7672, #7674 → #7677). This PR bumps to the upstream fix instead of retrying the broken version.Root cause
jlink 4.1.0 added a blanket
doNotTrackStateto its jpackage tasks (beryx/badass-jlink-plugin@4854c9e7), so Gradle stopped tracking the app-image output directory. PCGen layers its ownCopytasks (assembleJpackageImage, and on macOSpatchMacJpackage) into that same directory. Once the plugin stopped claiming ownership of it, Gradle's stale-output cleanup treated jpackage's files as orphans and deleted the.jpackage.xmlmarker before our copy ran — which breaks the:jpackagestep.This only surfaces in the nightly build (regular CI doesn't run jpackage), which is why the earlier bumps passed PR checks but broke master and had to be reverted.
The fix
4.1.1-rc fixes this upstream (beryx/badass-jlink-plugin@0d4bf7ec): it removes the
doNotTrackStateand marks the image/installer output directories@Optionalinstead. That restores the output tracking 4.0.2 had, so Gradle again knows jpackage owns the image directory and no longer deletes the marker. No PCGen-side workaround is needed — this PR is the version bump only.Testing
Verified locally on macOS / JDK 25 with the bump alone (no build-script changes):
./gradlew clean fullJpackage— succeeds.jpackage.xmlmarker survives (the exact file the bug deleted)codesign --verify --deep --strictpasses);pcgen-<version>.dmgis producedThe nightly is the real regression gate here — once merged, the next nightly run exercises the full jpackage path on all platforms.
Notes
4.1.1-rcto unblock the nightly now; swap to4.1.1final once released.