diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 199c5b57..bebd794e 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -22,10 +22,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up JDK 23 + - name: Set up JDK 24 uses: actions/setup-java@v3 with: - java-version: '23' + java-version: '24' distribution: 'liberica' java-package: 'jdk+fx' - name: Build with Gradle diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 79cda0dc..55c0e163 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -15,10 +15,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up JDK 23 + - name: Set up JDK 24 uses: actions/setup-java@v3 with: - java-version: '23' + java-version: '24' distribution: 'liberica' java-package: 'jdk+fx' diff --git a/.idea/misc.xml b/.idea/misc.xml index f0a5057c..2afb0fc0 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 58ce9c3d..74cbda2d 100644 --- a/build.gradle +++ b/build.gradle @@ -58,10 +58,10 @@ repositories { //Version is defined in gradle.properties so that we can CLI override it for nightly builds. version = project.findProperty('projectVersion') -//Java 23 is required for this version of the Project Panama preview/incubator feature +//Java 24 is required for this version of the Project Panama preview/incubator feature java { toolchain { - languageVersion = JavaLanguageVersion.of(23) + languageVersion = JavaLanguageVersion.of(24) } } @@ -77,11 +77,11 @@ test { dependencies { // JUnit Tests - testImplementation(platform("org.junit:junit-bom:5.11.0")) - testImplementation 'org.junit.jupiter:junit-jupiter-api:5.11.0' - - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") - testRuntimeOnly("org.junit.vintage:junit-vintage-engine") + testImplementation(platform("org.junit:junit-bom:5.13.1")) + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.13.1' + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.13.1") + testRuntimeOnly("org.junit.vintage:junit-vintage-engine:5.13.1") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") //Jitpack imports implementation 'com.github.dnault:libresample4j:master' @@ -89,34 +89,34 @@ dependencies { implementation 'com.github.nwaldispuehl:java-lame:v3.98.4' //mavenCentral/jcenter imports - implementation 'ch.qos.logback:logback-classic:1.4.12' - implementation 'ch.qos.logback:logback-core:1.4.14' - implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.14.0' + implementation 'ch.qos.logback:logback-classic:1.5.18' + implementation 'ch.qos.logback:logback-core:1.5.18' + implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.19.1' implementation 'com.fazecast:jSerialComm:2.9.3' implementation 'com.github.jiconfont:jiconfont-font_awesome:4.7.0.1' implementation 'com.github.jiconfont:jiconfont-javafx:1.0.0' implementation 'com.github.jiconfont:jiconfont-swing:1.0.1' implementation 'com.github.wendykierp:JTransforms:3.1' - implementation 'com.google.code.gson:gson:2.10' - implementation 'com.google.guava:guava:33.3.0-jre' + implementation 'com.google.code.gson:gson:2.13.1' + implementation 'com.google.guava:guava:33.4.8-jre' implementation 'com.jidesoft:jide-oss:3.6.18' - implementation 'com.miglayout:miglayout-swing:11.0' + implementation 'com.miglayout:miglayout-swing:11.4.2' implementation 'com.mpatric:mp3agic:0.9.1' - implementation 'commons-io:commons-io:2.11.0' + implementation 'commons-io:commons-io:2.19.0' implementation 'eu.hansolo:charts:1.0.5' implementation 'io.github.dsheirer:radio-reference-api:18.0.0' implementation 'io.github.dsheirer:usb4java-native-libraries:1.3.1' //OSX & Windows aarch64 native libs implementation 'javax.usb:usb-api:1.0.2' implementation 'net.coderazzi:tablefilter-swing:5.5.4' - implementation 'org.apache.commons:commons-compress:1.26.0' - implementation 'org.apache.commons:commons-lang3:3.12.0' + implementation 'org.apache.commons:commons-compress:1.27.1' + implementation 'org.apache.commons:commons-lang3:3.17.0' implementation 'org.apache.commons:commons-math3:3.6.1' - implementation 'org.apache.commons:commons-csv:1.9.0' - implementation 'org.apache.mina:mina-core:2.2.1' - implementation 'org.apache.mina:mina-http:2.2.1' - implementation 'org.controlsfx:controlsfx:11.1.2' + implementation 'org.apache.commons:commons-csv:1.14.0' + implementation 'org.apache.mina:mina-core:2.2.4' + implementation 'org.apache.mina:mina-http:2.2.4' + implementation 'org.controlsfx:controlsfx:11.2.2' implementation 'org.rauschig:jarchivelib:1.2.0' - implementation 'org.slf4j:slf4j-api:2.0.5' + implementation 'org.slf4j:slf4j-api:2.0.17' implementation 'org.usb4java:libusb4java:1.3.0' implementation 'org.usb4java:usb4java:1.3.0' implementation 'org.usb4java:usb4java-javax:1.3.0' @@ -223,7 +223,7 @@ String jdk_windows_aarch64 = jdk_base + 'windows-arm64/jdk-22.0.2-full' /** * Download URLs to download the JDK as part of the gradle build packaging process */ -def jdk_download_base = "https://download.bell-sw.com/java/23.0.2+9/bellsoft-jdk23.0.2+9-" +def jdk_download_base = "https://download.bell-sw.com/java/24.0.1+11/bellsoft-jdk24.0.1+11-" def jdk_download_suffix = "-full.tar.gz" def jdk_download_linux_aarch64 = jdk_download_base + "linux-aarch64" + jdk_download_suffix def jdk_download_linux_x86_64 = jdk_download_base + "linux-amd64" + jdk_download_suffix @@ -383,5 +383,5 @@ tasks.register('runtimeZipOthers', org.beryx.runtime.RuntimeZipTask) {rt -> } } - configure(rt, jvmArgsLinux); + configure(rt, jvmArgsLinux) } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 033e24c4..a4b76b95 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 9b1c73eb..33910546 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ # # ****************************************************************************** -# Copyright (C) 2014-2024 Dennis Sheirer +# Copyright (C) 2014-2025 Dennis Sheirer # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 3d21f354..5727a0a8 100755 --- a/gradlew +++ b/gradlew @@ -2,7 +2,7 @@ # # ****************************************************************************** -# Copyright (C) 2014-2024 Dennis Sheirer +# Copyright (C) 2014-2025 Dennis Sheirer # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -58,7 +58,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/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,7 +86,9 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +# 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 # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -147,7 +149,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -155,7 +157,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -204,11 +206,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_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" \ diff --git a/gradlew.bat b/gradlew.bat index 6689b85b..9b42019c 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## @@ -43,11 +45,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail