Allow customizing jdeps for jlink plugin
Metadata
Current evaluation
Implemented by merged PR canonical/craft-parts#1384 (ec9244b2), adding jlink-multi-release and jlink-modules to customize or bypass jdeps dependency detection.
Resolution: closed resolved
Reason: PR #1384 merged with all CI checks passed, adding both requested JLink options in commit ec9244b2. The feature was subsequently listed in the 2.27.0 changelog.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
In order to allow end user build rocks that will not break on OpenJDK update provide additional options for jlink plugin:
- jlink-multi-release - allow overriding multi-release setting when the list of required modules needs to be determined dynamically.
- jlink-modules - allow specifying the list of modules entirely bypassing jdeps tool when it is known upfront.
### Why it needs to get done
Jlink plugin uses --multi-release option to select OpenJDK release for jdeps tool. It selects appropriate OpenJDK release for multi-release jar. The option by default is set to the used OpenJDK release.
When building with newer OpenJDK jdeps tool may fail if some of the dependencies were not yet rebuilt for this release.
The build stage for jdeps involves unpacking all the jar files and putting them on the combined classpath for jdeps tool. An end user may benefit from skipping this step altogether and just providing the necessary modules - this decreases the build time and protects the user from the failures caused by --multi-release option and changes in jdeps tool when the user upgrades OpenJDK.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Implemented by merged PR canonical/craft-parts#1384 (ec9244b2), adding jlink-multi-release and jlink-modules to customize or bypass jdeps dependency detection. | |
| stealth/space-bunny-alpha | — | closed stale | Closed unimplemented after prolonged inactivity; the proposed jlink-multi-release and jlink-modules options were not added. | |
| stealth/space-bunny-alpha | — | closed stale | Closed unimplemented after prolonged inactivity; the proposed jlink-multi-release and jlink-modules options were not added. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The feature request to add jlink-multi-release and jlink-modules options to bypass jdeps was abandoned due to zero comments and inactivity. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation due to inactivity. The proposed jlink plugin options to bypass jdeps were abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | The request to add jlink-multi-release and jlink-modules options to the jlink plugin was closed without implementation and appears abandoned. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without implementation, likely abandoned or rejected due to lack of discussion or activity. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/craft-parts#1384
(confidence 100%)
The merged PR implements the requested multi-release override and explicit module-list bypass.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1384 feat: allow to override jdeps | craft-parts | merged | Merged as commit ec9244b2, adding jlink-multi-release and jlink-modules overrides to the JLink plugin; all CI checks passed. |