Skip to content

Update to JDK25#14057

Merged
Siedlerchr merged 82 commits intomainfrom
just-jdk25
Jan 22, 2026
Merged

Update to JDK25#14057
Siedlerchr merged 82 commits intomainfrom
just-jdk25

Conversation

@koppor
Copy link
Copy Markdown
Member

@koppor koppor commented Oct 9, 2025

User description

Actions

Fixes https://github.com/JabRef/jabref-issue-melting-pot/issues/536

Background

Relative of #13937. Here, we just update the JDK to version 25. Due to https://bugs.openjdk.org/browse/JDK-8358723, we need to wait for 25.0.2 - see also #13937 (comment)

Steps to test

  1. Download the build binary and start - check if its running
  2. Open this branch in the IDE and check if "run" works.

Mandatory checks


PR Type

Enhancement


Description

  • Update Java version from 24 to 25 across all build configurations

  • Remove public modifier from main methods for JDK 25 compatibility

  • Improve macOS binary naming with architecture-specific suffixes (intel/silicon)

  • Add documentation notes explaining public main method requirements

  • Enhance workflow configuration and build process improvements


Diagram Walkthrough

flowchart LR
  A["JDK 24"] -- "upgrade" --> B["JDK 25"]
  B -- "update" --> C["Build Scripts"]
  B -- "update" --> D["Main Methods"]
  D -- "remove public" --> E["JDK 25 Compliance"]
  C -- "improve naming" --> F["macOS Binaries"]
  F -- "add suffixes" --> G["intel/silicon"]
Loading

File Walkthrough

Relevant files
Enhancement
19 files
CitationStyleCatalogGenerator.java
Update JDK version and remove public modifier                       
+2/-2     
CheckoutPR.java
Remove public modifier from main method                                   
+1/-1     
JournalListMvGenerator.java
Update JDK version and remove public modifier                       
+2/-2     
LtwaListMvGenerator.java
Update JDK version and remove public modifier                       
+2/-2     
CloneJabRef.java
Remove public modifier from main method                                   
+1/-1     
StyleTesterMain.java
Remove public modifier from main method                                   
+1/-1     
JabSrvLauncher.java
Update JDK version requirement to 25                                         
+1/-1     
JabKitLauncher.java
Update JDK version requirement to 25                                         
+1/-1     
JabLsLauncher.java
Update JDK version requirement to 25                                         
+1/-1     
Benchmarks.java
Remove public modifier from main method                                   
+1/-1     
Launcher.java
Remove public modifier from main method                                   
+1/-1     
binaries.yml
Improve macOS naming and workflow configuration                   
+50/-35 
tests-code.yml
Update JDK version and disable modernizer for JDK 25         
+5/-30   
org.jabref.gradle.feature.compile.gradle.kts
Update Java language version to 25                                             
+6/-7     
build.gradle.kts
Update macOS icon path and signing prefix                               
+2/-2     
action.yml
Update JDK version to 25                                                                 
+1/-1     
jitpack.yml
Update OpenJDK version to 25                                                         
+1/-1     
moderne.yml
Update selected JDK version to 25                                               
+1/-1     
.sdkmanrc
Update SDK manager Java version to 25                                       
+1/-1     
Documentation
7 files
ServerCli.java
Add documentation note for public main method                       
+2/-0     
JabKitLauncher.java
Add documentation note for public main method                       
+2/-0     
ServerCli.java
Add documentation note for public main method                       
+1/-0     
intellij-12-build.md
Update JDK version documentation to 25                                     
+4/-4     
README.md
Fix documentation formatting and clarity                                 
+3/-2     
CHANGELOG.md
Document macOS distribution naming changes                             
+1/-0     
eventbus.md
Remove public modifier from example main method                   
+1/-1     
Configuration changes
2 files
devcontainer.json
Update Java version to latest in dev container                     
+2/-2     
sbom-pr.yml
Remove unnecessary submodules checkout configuration         
+1/-3     
Formatting
1 files
build.gradle.kts
Add blank line for formatting consistency                               
+1/-0     
Additional files
10 files
Info-lite.plist.template +0/-39   
Info.plist +0/-39   
Info.plist.template +0/-39   
JabRef.icns [link]   
Runtime-Info.plist +0/-26   
Runtime-Info.plist.template +0/-26   
bibtexAssociations.properties +0/-1     
info-lite.plist +0/-39   
jabref.icns [link]   
jabref.icns [link]   

@Siedlerchr
Copy link
Copy Markdown
Member

This was the issue that was supposed to be fixed by now. Need to verify it locally

* upstream/just-jdk25:
  Use LTWA file from mirror (#14892)
  Re-enable JavaDoc formatting (#14860)
@Siedlerchr
Copy link
Copy Markdown
Member

https://docs.oracle.com/en/java/javase/25/jpackage/override-jpackage-resources.html#GUID-405708DC-0243-49FC-84D9-B2A7F0A011A9



macOS (all formats)

    Icon file, launcher.icns, for the main launcher and any additional launchers. More than one file can be provided. The file name must match the name of the application or the name of a launcher. If an icon file is not provided for a launcher, the default icon is used.

    Runtime properties list, Runtime-Info.plist.

    Information properties list, Info.plist.

    Default entitlements file, application-name.entitlements.

    Post-image script, application-name-post-image.sh. Custom script that is executed after the application image is created and before the DMG or PKG installer is built. No default script is provided.


@koppor
Copy link
Copy Markdown
Member Author

koppor commented Jan 22, 2026

The "hanging" workflows are because of the renaming to intel / silicon:

image

See step 3 of the PR description.

@koppor koppor removed the status: changes-required Pull requests that are not yet complete label Jan 22, 2026
@koppor
Copy link
Copy Markdown
Member Author

koppor commented Jan 22, 2026

image

@github-actions
Copy link
Copy Markdown
Contributor

The build of this PR is available at https://builds.jabref.org/pull/14057/merge.

@Siedlerchr
Copy link
Copy Markdown
Member

grafik

@Siedlerchr
Copy link
Copy Markdown
Member

This might fix JabRef/jabref-issue-melting-pot#536 as well

this is now fixed as well

@Siedlerchr Siedlerchr enabled auto-merge January 22, 2026 19:33
@Siedlerchr Siedlerchr disabled auto-merge January 22, 2026 19:33
@Siedlerchr Siedlerchr merged commit 39c8338 into main Jan 22, 2026
94 of 97 checks passed
@Siedlerchr Siedlerchr deleted the just-jdk25 branch January 22, 2026 19:33
@koppor koppor restored the just-jdk25 branch January 22, 2026 19:47
koppor added a commit to alexeysemenyukoracle/jabref that referenced this pull request Jan 22, 2026
koppor added a commit that referenced this pull request Jan 22, 2026
@koppor koppor deleted the just-jdk25 branch January 22, 2026 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dev: binaries Binary builds should be uploaded to builds.jabref.org 📌 Pinned Review effort 3/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants