From 5b57756dd0d61a947659663cc88a90af3fe848b6 Mon Sep 17 00:00:00 2001 From: Arthur Poiret Date: Mon, 29 Dec 2025 23:35:27 +0100 Subject: [PATCH] build: update java and javafx to v25 --- .github/workflows/dev.yml | 4 +-- .github/workflows/main.yml | 32 +++++++++--------- owlplug-client/pom.xml | 4 +-- .../src/main/java/com/owlplug/OwlPlug.java | 33 ++++++++++--------- .../core/controllers/MainController.java | 4 +-- .../model/search/ExploreCriteriaAdapter.java | 4 +-- .../test/java/com/owlplug/AppTestContext.java | 4 +-- pom.xml | 8 ++--- 8 files changed, 47 insertions(+), 46 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 6adc0f6d..2abd9a8e 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -11,11 +11,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: 'adopt' - java-version: 21 + java-version: 25 cache: 'maven' - name: Build maven parent project run: mvn -B install -DskipTests diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ebd012b5..19337d65 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,11 +21,11 @@ jobs: fetch-depth: 0 submodules: recursive token: ${{ secrets.REPO_ACCESS_TOKEN }} - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: 'adopt' - java-version: 21 + java-version: 25 - name: "Download Projucer" run: ./build/download-projucer.sh shell: bash @@ -50,11 +50,11 @@ jobs: fetch-depth: 0 submodules: recursive token: ${{ secrets.REPO_ACCESS_TOKEN }} - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: 'adopt' - java-version: 21 + java-version: 25 - name: "Download Projucer" run: ./build/download-projucer.sh shell: bash @@ -81,11 +81,11 @@ jobs: fetch-depth: 0 submodules: recursive token: ${{ secrets.REPO_ACCESS_TOKEN }} - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: 'adopt' - java-version: 21 + java-version: 25 - name: "Download Projucer" run: ./build/download-projucer.sh shell: bash @@ -113,11 +113,11 @@ jobs: needs: [build-host-win, build-host-osx, build-host-linux] steps: - uses: actions/checkout@v6 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: 'adopt' - java-version: 21 + java-version: 25 - name: Get version run: echo "version=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)" >> $GITHUB_ENV id: get-version @@ -159,11 +159,11 @@ jobs: needs: [build-jar] steps: - uses: actions/checkout@v6 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: 'adopt' - java-version: 21 + java-version: 25 - name: Get version run: echo "version=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)" >> $GITHUB_ENV shell: bash @@ -185,11 +185,11 @@ jobs: needs: [build-jar] steps: - uses: actions/checkout@v6 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: 'adopt' - java-version: 21 + java-version: 25 - name: Get version run: echo "version=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)" >> $GITHUB_ENV id: get-version @@ -210,11 +210,11 @@ jobs: needs: [build-jar] steps: - uses: actions/checkout@v6 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: 'adopt' - java-version: 21 + java-version: 25 - name: Get version run: echo "version=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)" >> $GITHUB_ENV id: get-version @@ -235,11 +235,11 @@ jobs: needs: [build-jar] steps: - uses: actions/checkout@v6 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: 'adopt' - java-version: 21 + java-version: 25 - name: Get version run: echo "version=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)" >> $GITHUB_ENV id: get-version diff --git a/owlplug-client/pom.xml b/owlplug-client/pom.xml index 9ed898ba..b7b0687d 100644 --- a/owlplug-client/pom.xml +++ b/owlplug-client/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - 3.4.4 + 4.0.1 5.20.0 @@ -71,8 +71,6 @@ com.h2database h2 - - 2.4.240 runtime diff --git a/owlplug-client/src/main/java/com/owlplug/OwlPlug.java b/owlplug-client/src/main/java/com/owlplug/OwlPlug.java index 4a0f5143..b28aaae3 100644 --- a/owlplug-client/src/main/java/com/owlplug/OwlPlug.java +++ b/owlplug-client/src/main/java/com/owlplug/OwlPlug.java @@ -25,6 +25,7 @@ import java.nio.file.Paths; import java.time.Duration; import javafx.application.Application; +import javafx.application.Platform; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; @@ -61,11 +62,23 @@ public class OwlPlug extends Application { private ConfigurableApplicationContext context; private Parent rootNode; - - + + /** + * Main method called on JAR execution. It bootstraps JavaFx Application and + * it's preloader {@see com.owlplug.OwlPlugPreloader} + * + * @param args The command line arguments given on JAR execution. Usually empty. + */ + public static void boot(String[] args) { + System.setProperty("javafx.preloader", "com.owlplug.OwlPlugPreloader"); + launch(OwlPlug.class, args); + + } + /** * JavaFX Application initialization method. It boostraps Spring boot * application context and binds it to FXMLLoader controller factory. + * Running from the JavaFX-Launcher thread. */ @Override public void init() throws Exception { @@ -80,7 +93,9 @@ public void init() throws Exception { rootNode = loader.load(); MainController mainController = context.getBean(MainController.class); - mainController.dispatchPostInitialize(); + + Platform.runLater(mainController::dispatchPostInitialize); + } catch (BeanCreationException e) { if (e.getRootCause() instanceof HibernateException) { log.error("OwlPlug is maybe already running", e); @@ -147,7 +162,6 @@ public DataSource datasource() { */ @Bean public CacheManager getCacheManager() { - CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder() .with(CacheManagerBuilder.persistence( Paths.get(ApplicationDefaults.getUserDataDirectory(), "cache").toString()) @@ -171,15 +185,4 @@ public void stop() { context.close(); } - /** - * Main method called on JAR execution. It bootstraps JavaFx Application and - * it's preloader {@see com.owlplug.OwlPlugPreloader} - * - * @param args The command line arguments given on JAR execution. Usually empty. - */ - public static void boot(String[] args) { - System.setProperty("javafx.preloader", "com.owlplug.OwlPlugPreloader"); - launch(OwlPlug.class, args); - - } } diff --git a/owlplug-client/src/main/java/com/owlplug/core/controllers/MainController.java b/owlplug-client/src/main/java/com/owlplug/core/controllers/MainController.java index aec9bb73..1ee07ede 100644 --- a/owlplug-client/src/main/java/com/owlplug/core/controllers/MainController.java +++ b/owlplug-client/src/main/java/com/owlplug/core/controllers/MainController.java @@ -150,8 +150,6 @@ public void initialize() { accountComboBox.setButtonCell(new AccountCellFactory(imageCache, Pos.CENTER_RIGHT).call(null)); accountComboBox.setCellFactory(new AccountCellFactory(authenticationService, imageCache, true)); - refreshAccounts(); - downloadUpdateButton.setOnAction(e -> { PlatformUtils.openDefaultBrowser(this.getApplicationDefaults().getDownloadUrl()); }); @@ -179,6 +177,8 @@ public void initialize() { */ public void dispatchPostInitialize() { + refreshAccounts(); + if (!this.applicationMonitor.isPreviousExecutionSafelyTerminated()) { log.info("Previous execution not terminated safely, opening crash recovery dialog"); crashRecoveryDialogController.show(); diff --git a/owlplug-client/src/main/java/com/owlplug/explore/model/search/ExploreCriteriaAdapter.java b/owlplug-client/src/main/java/com/owlplug/explore/model/search/ExploreCriteriaAdapter.java index 26373b52..eb7d7c8c 100644 --- a/owlplug-client/src/main/java/com/owlplug/explore/model/search/ExploreCriteriaAdapter.java +++ b/owlplug-client/src/main/java/com/owlplug/explore/model/search/ExploreCriteriaAdapter.java @@ -28,7 +28,7 @@ public class ExploreCriteriaAdapter { public static Specification toSpecification(List criteriaList) { - Specification spec = Specification.where(null); + Specification spec = Specification.unrestricted(); for (ExploreFilterCriteria criteria : criteriaList) { spec = spec.and(toSpecification(criteria)); } @@ -63,7 +63,7 @@ public static Specification toSpecification(ExploreFilterCriteria return RemotePackageRepository.hasFormat((List) criteria.getValue()); } - return Specification.where(null); + return Specification.unrestricted(); } diff --git a/owlplug-client/src/test/java/com/owlplug/AppTestContext.java b/owlplug-client/src/test/java/com/owlplug/AppTestContext.java index 0f8704a6..3782152e 100644 --- a/owlplug-client/src/test/java/com/owlplug/AppTestContext.java +++ b/owlplug-client/src/test/java/com/owlplug/AppTestContext.java @@ -26,11 +26,11 @@ import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.bean.override.mockito.MockitoBean; public class AppTestContext { - @MockBean + @MockitoBean protected Preferences preferences; @BeforeAll diff --git a/pom.xml b/pom.xml index ac5008d1..5cce67ae 100644 --- a/pom.xml +++ b/pom.xml @@ -14,10 +14,10 @@ UTF-8 - 21 - 21.0.2 - 21 - 21 + 25 + 25.0.1 + 25 + 25