diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 8d6fe85e..bb0274d0 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -10,10 +10,10 @@ jobs:
matrix-build:
strategy:
matrix:
- java: [21]
+ java: [25]
os: ['ubuntu-latest', 'windows-latest'] # 'macos-latest' not supported at the moment
env:
- DEFAULT_JAVA: 21
+ DEFAULT_JAVA: 25
DEFAULT_OS: 'ubuntu-latest'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }}-${{ matrix.java }}
@@ -41,7 +41,7 @@ jobs:
uses: gradle/actions/setup-gradle@v5
- name: Cache SonarQube packages
- uses: actions/cache@v4
+ uses: actions/cache@v5
if: ${{ env.DEFAULT_JAVA == matrix.java && env.DEFAULT_OS == matrix.os }}
with:
path: ~/.sonar/cache
@@ -53,7 +53,7 @@ jobs:
./gradlew build --info --warning-mode=summary -PskipFlakyTests=true -PjavaVersion=${{ matrix.java }}
- name: Archive executable JAR
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
if: ${{ env.DEFAULT_JAVA == matrix.java && env.DEFAULT_OS == matrix.os }}
with:
name: executable-jar
@@ -64,7 +64,7 @@ jobs:
if-no-files-found: error
- name: Archive test reports for ${{ matrix.os }} using Java ${{ matrix.java }}
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
if: ${{ always() }}
with:
name: test-reports-${{ matrix.os }}-java-${{ matrix.java }}
@@ -86,7 +86,7 @@ jobs:
./gradlew jpackage --info --warning-mode=summary -PjavaVersion=${{ matrix.java }}
- name: Archive native package for ${{ runner.os }}
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
if: ${{ env.DEFAULT_JAVA == matrix.java }}
with:
name: packages-${{ runner.os }}
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 80313c9c..6df90b54 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -39,7 +39,7 @@ jobs:
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
- java-version: 21
+ java-version: 25
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
diff --git a/.github/workflows/dependency-submission.yml b/.github/workflows/dependency-submission.yml
index 690d876e..d9ec03a6 100644
--- a/.github/workflows/dependency-submission.yml
+++ b/.github/workflows/dependency-submission.yml
@@ -18,6 +18,6 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: 'temurin'
- java-version: 21
+ java-version: 25
- name: Generate and submit dependency graph
uses: gradle/actions/dependency-submission@v5
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index fdb22959..f670bf30 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -37,7 +37,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: "temurin"
- java-version: 21
+ java-version: 25
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
@@ -45,7 +45,7 @@ jobs:
run: ./gradlew build jpackage --info --warning-mode all -PskipFlakyTests=true
- name: Archive executable JAR
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
if: ${{ env.DEFAULT_OS == matrix.os }}
with:
name: executable-jar
@@ -56,7 +56,7 @@ jobs:
product/build/libs-checksums/*
- name: Archive native package for ${{ runner.os }}
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
with:
name: native-package-${{ runner.os }}
retention-days: 5
@@ -83,7 +83,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: "temurin"
- java-version: 21
+ java-version: 25
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
@@ -105,7 +105,7 @@ jobs:
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
- name: Download artifacts
- uses: actions/download-artifact@v7
+ uses: actions/download-artifact@v8
with:
path: build/release-artifacts
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0259a360..5ec7f11a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
See [Release](https://github.com/itsallcode/white-rabbit/releases/tag/v1.10.0) / [Milestone](https://github.com/itsallcode/white-rabbit/milestone/12?closed=1)
+This release requires Java 25.
+
## [1.9.0] - 2024-09-08
See [Release](https://github.com/itsallcode/white-rabbit/releases/tag/v1.9.0) / [Milestone](https://github.com/itsallcode/white-rabbit/milestone/11?closed=1)
diff --git a/api/.settings/org.eclipse.jdt.core.prefs b/api/.settings/org.eclipse.jdt.core.prefs
index f89a508f..325d6402 100644
--- a/api/.settings/org.eclipse.jdt.core.prefs
+++ b/api/.settings/org.eclipse.jdt.core.prefs
@@ -42,9 +42,9 @@ org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature=do not generate
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.shareCommonFinallyBlocks=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=25
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.compliance=25
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -169,7 +169,7 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=21
+org.eclipse.jdt.core.compiler.source=25
org.eclipse.jdt.core.compiler.storeAnnotations=disabled
org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
diff --git a/build.gradle b/build.gradle
index b0a49506..acec1056 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,12 +1,12 @@
plugins {
id 'eclipse'
- id "org.sonarqube" version "5.1.0.4882"
- id "org.jetbrains.gradle.plugin.idea-ext" version "1.1.8"
+ id "org.sonarqube" version "7.2.3.7755"
+ id "org.jetbrains.gradle.plugin.idea-ext" version "1.4.1"
id "io.codearte.nexus-staging" version "0.30.0"
- id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
+ id 'com.gradleup.shadow' version '9.4.0' apply false
id "com.moowork.node" version "1.3.1" apply false
- id "com.github.ben-manes.versions" version "0.51.0"
- id "org.panteleyev.jpackageplugin" version "1.6.0" apply false
+ id "com.github.ben-manes.versions" version "0.53.0"
+ id "org.panteleyev.jpackageplugin" version "2.0.1" apply false
id "org.gradle.crypto.checksum" version "1.4.0" apply false
id "io.github.gradle-nexus.publish-plugin" version "2.0.0"
}
@@ -14,7 +14,7 @@ plugins {
version = "1.9.0"
group = "org.itsallcode.whiterabbit"
-def javaVersion = project.hasProperty('javaVersion') ? project.getProperty('javaVersion') : 21
+def javaVersion = project.hasProperty('javaVersion') ? project.getProperty('javaVersion') : 25
subprojects {
group = rootProject.group
diff --git a/docs/developer_guide.md b/docs/developer_guide.md
index d7a565d5..5ea899ce 100644
--- a/docs/developer_guide.md
+++ b/docs/developer_guide.md
@@ -59,7 +59,7 @@ Run a single test:
### Check that dependencies are up-to-date
```sh
-./gradlew dependencyUpdates
+./gradlew dependencyUpdates --no-parallel
```
### Build Native Packages
diff --git a/docs/user_guide.md b/docs/user_guide.md
index ca34f6e8..464be762 100644
--- a/docs/user_guide.md
+++ b/docs/user_guide.md
@@ -3,7 +3,7 @@
## Install WhiteRabbit as Executable JAR
-Precondition: Install Java Runtime Environment (JRE) 21, e.g. from [Adoptium / Eclipse Temurin](https://adoptium.net/).
+Precondition: Install Java Runtime Environment (JRE) 25, e.g. from [Adoptium / Eclipse Temurin](https://adoptium.net/).
1. Download the `.jar` file from the latest [release](https://github.com/itsallcode/white-rabbit/releases)
2. Launch it by
@@ -74,7 +74,7 @@ Restart WhiteRabbit after changing the configuration file.
#### Duration format
-Enter duration values in the format used by [Duration.parse()](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/time/Duration.html#parse(java.lang.CharSequence)). Examples:
+Enter duration values in the format used by [Duration.parse()](https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/Duration.html#parse(java.lang.CharSequence)). Examples:
* `PT5H`: 5 hours
* `PT5H30M`: 5 hours and 30 minutes
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index a4b76b95..d997cfc6 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index df97d72b..c61a118f 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew b/gradlew
index f5feea6d..739907df 100755
--- a/gradlew
+++ b/gradlew
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright © 2015-2021 the original authors.
+# Copyright © 2015 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -57,7 +57,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
-# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -86,8 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
-' "$PWD" ) || exit
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -115,7 +114,6 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
@@ -173,7 +171,6 @@ fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
- CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
@@ -206,15 +203,14 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
- -classpath "$CLASSPATH" \
- org.gradle.wrapper.GradleWrapperMain \
+ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
# Stop when "xargs" is not available.
diff --git a/gradlew.bat b/gradlew.bat
index 9b42019c..e509b2dd 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -70,11 +70,10 @@ goto fail
:execute
@rem Setup the command line
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell
diff --git a/jfxui/.settings/org.eclipse.jdt.core.prefs b/jfxui/.settings/org.eclipse.jdt.core.prefs
index 68b156de..db9beae4 100644
--- a/jfxui/.settings/org.eclipse.jdt.core.prefs
+++ b/jfxui/.settings/org.eclipse.jdt.core.prefs
@@ -42,9 +42,9 @@ org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature=do not generate
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.shareCommonFinallyBlocks=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=25
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.compliance=25
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -169,7 +169,7 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=21
+org.eclipse.jdt.core.compiler.source=25
org.eclipse.jdt.core.compiler.storeAnnotations=disabled
org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
diff --git a/jfxui/build.gradle b/jfxui/build.gradle
index 34d7f473..df9b6935 100644
--- a/jfxui/build.gradle
+++ b/jfxui/build.gradle
@@ -43,7 +43,7 @@ task uiTest(type: Test, group: 'verification') {
}
}
- forkEvery 5
+ forkEvery = 5
jvmArgs '-XX:+HeapDumpOnOutOfMemoryError', '-XX:+EnableDynamicAgentLoading'
if(!project.hasProperty("uiTestsHeadless") || project.property("uiTestsHeadless") != "false") {
diff --git a/logic/.settings/org.eclipse.jdt.core.prefs b/logic/.settings/org.eclipse.jdt.core.prefs
index dec6092b..41c79927 100644
--- a/logic/.settings/org.eclipse.jdt.core.prefs
+++ b/logic/.settings/org.eclipse.jdt.core.prefs
@@ -42,9 +42,9 @@ org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature=do not generate
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.shareCommonFinallyBlocks=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=25
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.compliance=25
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -169,7 +169,7 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=21
+org.eclipse.jdt.core.compiler.source=25
org.eclipse.jdt.core.compiler.storeAnnotations=disabled
org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
diff --git a/plugins/.settings/org.eclipse.jdt.core.prefs b/plugins/.settings/org.eclipse.jdt.core.prefs
index 95d7a17b..7a2dcd6e 100644
--- a/plugins/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/.settings/org.eclipse.jdt.core.prefs
@@ -42,9 +42,9 @@ org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature=do not generate
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.shareCommonFinallyBlocks=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=25
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.compliance=25
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -169,7 +169,7 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=21
+org.eclipse.jdt.core.compiler.source=25
org.eclipse.jdt.core.compiler.storeAnnotations=disabled
org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
diff --git a/plugins/build.gradle b/plugins/build.gradle
index 9a052248..2c4b2f20 100644
--- a/plugins/build.gradle
+++ b/plugins/build.gradle
@@ -1,6 +1,6 @@
subprojects {
- apply plugin: "com.github.johnrengelman.shadow"
+ apply plugin: "com.gradleup.shadow"
dependencies {
implementation project(':api')
diff --git a/plugins/csv/.settings/org.eclipse.jdt.core.prefs b/plugins/csv/.settings/org.eclipse.jdt.core.prefs
index f89a508f..325d6402 100644
--- a/plugins/csv/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/csv/.settings/org.eclipse.jdt.core.prefs
@@ -42,9 +42,9 @@ org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature=do not generate
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.shareCommonFinallyBlocks=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=25
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.compliance=25
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -169,7 +169,7 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=21
+org.eclipse.jdt.core.compiler.source=25
org.eclipse.jdt.core.compiler.storeAnnotations=disabled
org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
diff --git a/plugins/demo/.settings/org.eclipse.jdt.core.prefs b/plugins/demo/.settings/org.eclipse.jdt.core.prefs
index f89a508f..325d6402 100644
--- a/plugins/demo/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/demo/.settings/org.eclipse.jdt.core.prefs
@@ -42,9 +42,9 @@ org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature=do not generate
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.shareCommonFinallyBlocks=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=25
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.compliance=25
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -169,7 +169,7 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=21
+org.eclipse.jdt.core.compiler.source=25
org.eclipse.jdt.core.compiler.storeAnnotations=disabled
org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
diff --git a/plugins/holiday-calculator/.settings/org.eclipse.jdt.core.prefs b/plugins/holiday-calculator/.settings/org.eclipse.jdt.core.prefs
index f89a508f..325d6402 100644
--- a/plugins/holiday-calculator/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/holiday-calculator/.settings/org.eclipse.jdt.core.prefs
@@ -42,9 +42,9 @@ org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature=do not generate
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.shareCommonFinallyBlocks=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=25
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.compliance=25
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -169,7 +169,7 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=21
+org.eclipse.jdt.core.compiler.source=25
org.eclipse.jdt.core.compiler.storeAnnotations=disabled
org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
diff --git a/product/build.gradle b/product/build.gradle
index eae31679..98d94271 100644
--- a/product/build.gradle
+++ b/product/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id 'com.github.johnrengelman.shadow'
+ id 'com.gradleup.shadow'
id 'org.panteleyev.jpackageplugin'
id 'org.gradle.crypto.checksum'
}
@@ -97,7 +97,7 @@ task uiTest(type: Test, group: 'verification') {
}
}
- forkEvery 5
+ forkEvery = 5
jvmArgs '-XX:+HeapDumpOnOutOfMemoryError', '-XX:+EnableDynamicAgentLoading'
if(!project.hasProperty("uiTestsHeadless") || project.property("uiTestsHeadless") != "false") {
@@ -123,15 +123,15 @@ tasks["jacocoTestReport"].executionData fileTree(project.buildDir).include("jaco
tasks.jpackage {
dependsOn("copyJPackageDependencies")
- input = jPackageDir
- destination = "$buildDir/jpackage-dist"
+ input = layout.buildDirectory.dir(jPackageDir)
+ destination = layout.buildDirectory.dir("$buildDir/jpackage-dist")
appName = "WhiteRabbit"
vendor = '"It\'s all code"'
copyright = '"Copyright (C) 2024 Christoph Pirkl "'
- licenseFile = "${rootProject.rootDir}/LICENSE"
+ licenseFile = layout.buildDirectory.file("${rootProject.rootDir}/LICENSE")
appDescription = '"A time recording tool"'
- icon = "${project(':jfxui').projectDir}/src/main/resources/icon.png"
+ icon = layout.buildDirectory.file("${project(':jfxui').projectDir}/src/main/resources/icon.png")
mainJar = tasks.jar.archiveFileName.get()
mainClass = project.mainClass
@@ -146,13 +146,13 @@ tasks.jpackage {
winMenu = true
winMenuGroup = "Time Recording"
winShortcut = true
- icon = "${projectDir}/src/main/resources/icon.ico"
+ icon = layout.buildDirectory.file("${projectDir}/src/main/resources/icon.ico")
}
mac {
macPackageIdentifier = "org.itsallcode.white-rabbit"
macPackageName = "WhiteRabbit"
- icon = "${projectDir}/src/main/resources/icon.icns"
+ icon = layout.buildDirectory.file("${projectDir}/src/main/resources/icon.icns")
}
}
diff --git a/settings.gradle b/settings.gradle
index 86410fed..9a77ff8b 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -20,15 +20,15 @@ dependencyResolutionManagement {
}
versionCatalogs {
libs {
- version('junitJupiter', '5.11.0')
- version('mockito', '5.13.0')
- version('log4j', '2.24.0')
- version('javafx', '24-ea+5')
+ version('junitJupiter', '6.0.3')
+ version('mockito', '5.23.0')
+ version('log4j', '2.25.3')
+ version('javafx', '27-ea+8')
library('junitParams', 'org.junit.jupiter', 'junit-jupiter-params').versionRef('junitJupiter')
library('assertj', 'org.assertj:assertj-core:3.27.7')
- library('junitPioneer', 'org.junit-pioneer:junit-pioneer:2.2.0')
- library('equalsverifier', 'nl.jqno.equalsverifier:equalsverifier:3.16.2')
+ library('junitPioneer', 'org.junit-pioneer:junit-pioneer:2.3.0')
+ library('equalsverifier', 'nl.jqno.equalsverifier:equalsverifier:4.4.1')
library('tostringverifier', 'com.jparams:to-string-verifier:1.4.8')
library('hamcrest', 'org.hamcrest:hamcrest:3.0')
library('mockito', 'org.mockito', 'mockito-core').versionRef('mockito')
@@ -41,8 +41,8 @@ dependencyResolutionManagement {
library('jsonBindApi', 'jakarta.json.bind:jakarta.json.bind-api:3.0.1')
library('yasson', 'org.eclipse:yasson:3.0.4')
- library('jdtAnnotations', 'org.eclipse.jdt:org.eclipse.jdt.annotation:2.3.0')
- library('jansi', 'org.fusesource.jansi:jansi:2.4.1')
+ library('jdtAnnotations', 'org.eclipse.jdt:org.eclipse.jdt.annotation:2.4.100')
+ library('jansi', 'org.fusesource.jansi:jansi:2.4.2')
library('log4j.api', 'org.apache.logging.log4j', 'log4j-api').versionRef('log4j')
library('log4j.core', 'org.apache.logging.log4j', 'log4j-core').versionRef('log4j')
library('log4j.jul', 'org.apache.logging.log4j', 'log4j-jul').versionRef('log4j')