Enable JDK vendor selection on dispatch event#14914
Conversation
|
Intermediate output: Where the hell is temurin installed? |
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||
User description
Follow-up to JabRef#721
Now and then we need/want to switch JDKs. Temurin, Bellsoft, Temurin. Now, I want to try OpenJ). With #13937 this is now more easily possible.
Workaround for gradlex-org/java-module-packaging#93 included.
Example for IBM
Steps to test
Try dispatch with this PR.
Mandatory checks
CHANGELOG.mdin a way that is understandable for the average user (if change is visible to the user)PR Type
Enhancement
Description
Enable JDK vendor selection via workflow dispatch inputs
Support multiple JDK distributions (Temurin, Bellsoft, OpenJ9, etc.)
Parameterize setup-gradle action with distribution and Java version
Add JVM vendor detection and conditional jlink options for IBM JDKs
Output JDK information to GitHub step summary for debugging
Diagram Walkthrough
File Walkthrough
action.yml
Parameterize JDK distribution and version inputs.github/actions/setup-gradle/action.yml
distributioninput parameter with default value 'corretto'javaVersioninput parameter with default value '25'hardcoded values
binaries.yml
Add JDK vendor and distribution workflow dispatch inputs.github/workflows/binaries.yml
jvmDistributionworkflow dispatch input with 13 distributionoptions
jvmVendorworkflow dispatch input with 14 vendor optionsjvmDistributionfrom conditions job for downstream usejvmDistributionto setup-gradle actionorg.jabref.gradle.base.targets.gradle.kts
Add IBM JDK detection and conditional jlink optionsbuild-logic/src/main/kotlin/org.jabref.gradle.base.targets.gradle.kts
--generate-cds-archivejlink option for IBM JDKs--generate-cds-archivefrom default jlink optionsbuild.gradle.kts
Remove hardcoded jlink option and add importsjabkit/build.gradle.kts
--generate-cds-archivejlink optionoptions
org.jabref.gradle.feature.compile.gradle.kts
Add documentation comment for vendor configurationbuild-logic/src/main/kotlin/org.jabref.gradle.feature.compile.gradle.kts
updates
build.gradle.kts
Add imports and formatting improvementsjabgui/build.gradle.kts