diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index bebd794e..2d7f8e48 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 24 + - name: Set up JDK 25 uses: actions/setup-java@v3 with: - java-version: '24' + java-version: '25' distribution: 'liberica' java-package: 'jdk+fx' - name: Build with Gradle diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 55c0e163..f3a238a5 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 24 + - name: Set up JDK 25 uses: actions/setup-java@v3 with: - java-version: '24' + java-version: '25' distribution: 'liberica' java-package: 'jdk+fx' diff --git a/.idea/misc.xml b/.idea/misc.xml index 2afb0fc0..9bc3b3c6 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 b176f509..ace1faf3 100644 --- a/build.gradle +++ b/build.gradle @@ -47,12 +47,12 @@ plugins { id 'application' id 'java' id 'idea' - id 'org.beryx.runtime' version '1.12.7' + id 'org.beryx.runtime' version '2.0.1' } repositories { mavenCentral() - maven { url "https://jitpack.io" } + maven { url = "https://jitpack.io" } } //Version is defined in gradle.properties so that we can CLI override it for nightly builds. @@ -61,7 +61,7 @@ version = project.findProperty('projectVersion') //Java 24 is required for this version of the Project Panama preview/incubator feature java { toolchain { - languageVersion = JavaLanguageVersion.of(24) + languageVersion = JavaLanguageVersion.of(25) } } @@ -77,10 +77,10 @@ test { dependencies { // JUnit Tests - 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") + testImplementation(platform("org.junit:junit-bom:6.0.1")) + testImplementation 'org.junit.jupiter:junit-jupiter-api:6.0.1' + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:6.0.1") + testRuntimeOnly("org.junit.vintage:junit-vintage-engine:6.0.1") testRuntimeOnly("org.junit.platform:junit-platform-launcher") //Jitpack imports @@ -89,29 +89,29 @@ dependencies { implementation 'com.github.nwaldispuehl:java-lame:v3.98.4' //mavenCentral/jcenter imports - 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 'ch.qos.logback:logback-classic:1.5.21' + implementation 'ch.qos.logback:logback-core:1.5.21' + implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.20.1' + implementation 'com.fazecast:jSerialComm:2.11.4' 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.13.1' - implementation 'com.google.guava:guava:33.4.8-jre' + implementation 'com.google.code.gson:gson:2.13.2' + implementation 'com.google.guava:guava:33.5.0-jre' implementation 'com.jidesoft:jide-oss:3.6.18' implementation 'com.miglayout:miglayout-swing:11.4.2' implementation 'com.mpatric:mp3agic:0.9.1' - implementation 'commons-io:commons-io:2.19.0' + implementation 'commons-io:commons-io:2.21.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.27.1' - implementation 'org.apache.commons:commons-lang3:3.18.0' + implementation 'org.apache.commons:commons-compress:1.28.0' + implementation 'org.apache.commons:commons-lang3:3.19.0' implementation 'org.apache.commons:commons-math3:3.6.1' - implementation 'org.apache.commons:commons-csv:1.14.0' + implementation 'org.apache.commons:commons-csv:1.14.1' 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' @@ -144,6 +144,7 @@ def jvmArgsWindows = '--enable-native-access=ALL-UNNAMED', //Suppress unsafe warnings for FFM API Foreign Memory calls '--enable-native-access=javafx.graphics', //JDK24 - suppress restricted java.lang.System calls '--sun-misc-unsafe-memory-access=allow', //JDK24 - suppress sun.misc.Unsafe::allocateMemory warning + '-XX:+UseCompactObjectHeaders', //JDK25 - use compact object headers '-Djava.library.path=c:\\Program Files\\SDRplay\\API\\x64'] //SDRPlay API library path /** @@ -154,11 +155,12 @@ def jvmArgsLinux = '--add-modules=jdk.incubator.vector', //Needed while Project Panama API is still in incubator '--enable-preview', //Project Panama Vector & Foreign Function APIs remain in incubator '--sun-misc-unsafe-memory-access=allow', //JDK24 - suppress sun.misc.Unsafe::allocateMemory warning + '-XX:+UseCompactObjectHeaders', //JDK25 - use compact object headers '--enable-native-access=javafx.graphics', //JDK24 - suppress restricted java.lang.System calls '--enable-native-access=ALL-UNNAMED'] //SDRPlay API library path application { - mainClassName = "io.github.dsheirer.gui.SDRTrunk" + mainClass = "io.github.dsheirer.gui.SDRTrunk" if(os.isWindows()) { applicationDefaultJvmArgs = jvmArgsWindows @@ -217,17 +219,17 @@ String targetWindowsAarch64 = 'windows-aarch64-v' + version * author's development environment, but can be changed to your environment if you want to use this build pattern. */ String jdk_base = '/home/denny/java_jdks/' -String jdk_linux_aarch64 = jdk_base + 'linux-arm64/jdk-22.0.2-full' -String jdk_linux_x86_64 = jdk_base + 'linux-x64/jdk-22.0.2-full' -String jdk_osx_x86_64 = jdk_base + 'osx-x64/jdk-22.0.2-full.jdk' -String jdk_osx_aarch64 = jdk_base + 'osx-arm64/jdk-22.0.2-full.jdk' -String jdk_windows_x86_64 = jdk_base + 'windows-x64/jdk-22.0.2-full' -String jdk_windows_aarch64 = jdk_base + 'windows-arm64/jdk-22.0.2-full' +String jdk_linux_aarch64 = jdk_base + 'linux-arm64/jdk-25.0.1-full' +String jdk_linux_x86_64 = jdk_base + 'linux-x64/jdk-25.0.1-full' +String jdk_osx_x86_64 = jdk_base + 'osx-x64/jdk-25.0.1-full.jdk' +String jdk_osx_aarch64 = jdk_base + 'osx-arm64/jdk-25.0.1-full.jdk' +String jdk_windows_x86_64 = jdk_base + 'windows-x64/jdk-25.0.1-full' +String jdk_windows_aarch64 = jdk_base + 'windows-arm64/jdk-25.0.1-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/24.0.1+11/bellsoft-jdk24.0.1+11-" +def jdk_download_base = "https://download.bell-sw.com/java/25.0.1+11/bellsoft-jdk25.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 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index a4b76b95..1b33c55b 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 33910546..423d21c0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -19,7 +19,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 5727a0a8..d26729f3 100755 --- a/gradlew +++ b/gradlew @@ -87,8 +87,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 @@ -116,7 +115,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -207,7 +206,7 @@ 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. @@ -215,7 +214,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 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..5eed7ee8 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,11 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @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%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/src/main/java/io/github/dsheirer/source/tuner/manager/ChannelSourceManager.java b/src/main/java/io/github/dsheirer/source/tuner/manager/ChannelSourceManager.java index 30711485..13e1fa3d 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/manager/ChannelSourceManager.java +++ b/src/main/java/io/github/dsheirer/source/tuner/manager/ChannelSourceManager.java @@ -95,7 +95,6 @@ public abstract class ChannelSourceManager implements ISourceEventProcessor */ public void addSourceEventListener(Listener listener) { - System.out.println("ChannelSourceManager regisering: " + listener.getClass()); mSourceEventBroadcaster.addListener(listener); }