diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index b648121f..78c72d19 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -31,33 +31,35 @@ jobs: strategy: fail-fast: false matrix: - jdk-version: [ 21 ] + jdk-version: [ 25 ] os: - - ubuntu-latest - - windows-latest - - macos-13 # Intel OSX + - ubuntu-24.04 + - windows-2025 + - macos-15-intel # Intel OSX - macos-14 # ARM64 OSX steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 + with: + persist-credentials: "false" - name: Set Up JDK ${{ matrix.jdk-version }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.jdk-version }} - distribution: 'temurin' + distribution: 'zulu' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 + uses: gradle/actions/setup-gradle@v5 with: add-job-summary: 'on-failure' - name: Gradle Build Jar - run: ./gradlew clean assemble -Penv=prod-jar + run: ./gradlew clean assemble -Penv=release-jar - name: Upload Jar - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 continue-on-error: true with: name: java-${{ matrix.jdk-version }}-${{ runner.os }}-${{ runner.arch }}-jar @@ -96,33 +98,35 @@ jobs: strategy: fail-fast: false matrix: - jdk-version: [ 21 ] + jdk-version: [ 25 ] os: - - ubuntu-latest - - windows-latest - - macos-13 # Intel OSX + - ubuntu-24.04 + - windows-2025 + - macos-15-intel # Intel OSX - macos-14 # ARM64 OSX steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 + with: + persist-credentials: "false" - name: Set Up JDK ${{ matrix.jdk-version }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.jdk-version }} - distribution: 'temurin' + distribution: 'zulu' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 + uses: gradle/actions/setup-gradle@v5 with: add-job-summary: 'on-failure' - name: Gradle Build JLink Zip - run: ./gradlew clean jlink -Penv=prod-jlink + run: ./gradlew clean jlink -Penv=release-jlink - name: Upload JLink Zip - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 continue-on-error: true with: name: java-${{ matrix.jdk-version }}-${{ runner.os }}-${{ runner.arch }}-jlink-zip @@ -160,33 +164,35 @@ jobs: strategy: fail-fast: false matrix: - jdk-version: [ 21 ] + jdk-version: [ 25 ] os: - - ubuntu-latest - - windows-latest - - macos-13 # Intel OSX + - ubuntu-24.04 + - windows-2025 + - macos-15-intel # Intel OSX - macos-14 # ARM64 OSX steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 + with: + persist-credentials: "false" - name: Set Up JDK ${{ matrix.jdk-version }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.jdk-version }} - distribution: 'temurin' + distribution: 'zulu' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 + uses: gradle/actions/setup-gradle@v5 with: add-job-summary: 'on-failure' - name: Gradle Build JPackage - run: ./gradlew clean jpackage -Penv=prod-jlink + run: ./gradlew clean jpackage -Penv=release-jlink - name: Upload JPackage - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 continue-on-error: true with: name: java-${{ matrix.jdk-version }}-${{ runner.os }}-${{ runner.arch }}-jpackage diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 567987d5..2edc985c 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -31,22 +31,24 @@ jobs: strategy: fail-fast: false matrix: - jdk-version: [ 21 ] + jdk-version: [ 25 ] os: - - ubuntu-latest - - windows-latest - - macos-13 # Intel OSX + - ubuntu-24.04 + - windows-2025 + - macos-15-intel # Intel OSX - macos-14 # ARM64 OSX steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 + with: + persist-credentials: "false" - name: Set Up JDK ${{ matrix.jdk-version }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.jdk-version }} - distribution: 'temurin' + distribution: 'zulu' - name: Cache Maven repository uses: actions/cache@v4 @@ -60,7 +62,7 @@ jobs: run: ./mvnw -V -B -e -ff -ntp clean package -Passembly - name: Upload Jar - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 continue-on-error: true with: name: java-${{ matrix.jdk-version }}-${{ runner.os }}-${{ runner.arch }}-jar diff --git a/.idea/runConfigurations/trinity__clean_assemble_.xml b/.idea/runConfigurations/trinity__clean_assemble_.xml index d42dbb94..9b0aa365 100644 --- a/.idea/runConfigurations/trinity__clean_assemble_.xml +++ b/.idea/runConfigurations/trinity__clean_assemble_.xml @@ -4,7 +4,7 @@ diff --git a/.idea/runConfigurations/trinity__clean_jlink_.xml b/.idea/runConfigurations/trinity__clean_jlink_.xml index 6d639a6b..2a45bbdb 100644 --- a/.idea/runConfigurations/trinity__clean_jlink_.xml +++ b/.idea/runConfigurations/trinity__clean_jlink_.xml @@ -4,7 +4,7 @@ diff --git a/.idea/runConfigurations/trinity__clean_jpackage_.xml b/.idea/runConfigurations/trinity__clean_jpackage_.xml index ed88d596..ca2d582c 100644 --- a/.idea/runConfigurations/trinity__clean_jpackage_.xml +++ b/.idea/runConfigurations/trinity__clean_jpackage_.xml @@ -4,7 +4,7 @@ diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar index 7967f30d..eebc3c18 100644 Binary files a/.mvn/wrapper/maven-wrapper.jar and b/.mvn/wrapper/maven-wrapper.jar differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 7bd60b18..c51c1acb 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -wrapperVersion=3.3.2 +wrapperVersion=3.3.4 distributionType=bin -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.9/apache-maven-3.8.9-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.4/maven-wrapper-3.3.4.jar diff --git a/build.gradle b/build.gradle index bb6f31f5..51dfef12 100644 --- a/build.gradle +++ b/build.gradle @@ -2,11 +2,11 @@ plugins { id 'java' id 'idea' id 'application' - id 'com.github.ben-manes.versions' version '0.52.0' + id 'com.github.ben-manes.versions' version '0.53.0' id 'net.nemerosa.versioning' version '3.1.0' id 'org.openjfx.javafxplugin' version '0.1.0' - id 'org.gradlex.extra-java-module-info' version '1.12' - id 'org.beryx.jlink' version '3.1.1' + id 'org.gradlex.extra-java-module-info' version '1.13.1' + id 'org.beryx.jlink' version '3.1.4-rc' } ext { @@ -16,8 +16,8 @@ ext { moduleName = 'edu.jhuapl.trinity' mainClassPath = 'edu.jhuapl.trinity.App' mainClassJarLauncher = 'edu.jhuapl.trinity.TrinityMain' - isProdJar = findProperty('env') == 'prod-jar' - isProdJlink = findProperty('env') == 'prod-jlink' + isReleaseJar = findProperty('env') == 'release-jar' + isReleaseJlink = findProperty('env') == 'release-jlink' isDevelopment = findProperty('env') == 'dev' fxVersion = findProperty('javafx.version') fxStaticVersion = findProperty('javafx.static.version') @@ -40,41 +40,41 @@ println "OS Detected: ${org.gradle.internal.os.OperatingSystem.current()}" repositories { mavenCentral() - maven { url 'https://jitpack.io' } + maven { url = 'https://jitpack.io' } } dependencies { // Excluding openjfx from 3rd party modules. - implementation(group: 'com.github.birdasaur.litfx', name: 'litfx-controls', version: '0.1.3') { + implementation('com.github.birdasaur.litfx:litfx-controls:0.1.3') { exclude group: 'org.openjfx' } - implementation(group: 'org.fxyz3d', name: 'fxyz3d', version: '0.6.0') { + implementation('org.fxyz3d:fxyz3d:0.6.0') { exclude group: 'org.openjfx' } - implementation(group: 'eu.hansolo.fx', name: 'charts', version: '21.0.25') { + implementation('eu.hansolo.fx:charts:21.0.27') { exclude group: 'org.openjfx' exclude group: 'ch.qos.logback' } - implementation group: 'com.github.quickhull3d', name: 'quickhull3d', version: '1.0.0' - implementation group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1' - implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.18.0' - implementation group: 'org.zeromq', name: 'jeromq', version: '0.6.0' - implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.19.1' - implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.19.1' - implementation group: 'com.github.sarxos', name: 'webcam-capture', version: '0.3.12' - implementation group: 'org.jflac', name: 'jflac-codec', version: '1.5.2' - implementation group: 'com.tambapps.fft4j', name: 'fft4j', version: '2.0' - implementation group: 'com.github.trinity-xai', name: 'SuperMDS', version: 'v2025.06.29' - implementation group: 'org.apache.pdfbox', name: 'pdfbox', version: '3.0.5' + implementation 'com.github.quickhull3d:quickhull3d:1.0.0' + implementation 'org.apache.commons:commons-math3:3.6.1' + implementation 'org.apache.commons:commons-lang3:3.19.0' + implementation 'org.zeromq:jeromq:0.6.0' + implementation 'com.fasterxml.jackson.core:jackson-annotations:2.19.2' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.19.2' + implementation 'com.github.sarxos:webcam-capture:0.3.12' + implementation 'org.jflac:jflac-codec:1.5.2' + implementation 'com.tambapps.fft4j:fft4j:2.0' + implementation 'com.github.trinity-xai:SuperMDS:v2025.06.29' + implementation 'org.apache.pdfbox:pdfbox:3.0.6' // Enforce slf4j-api version across dependencies - implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.17' - implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.5.18' + implementation 'org.slf4j:slf4j-api:2.0.17' + implementation 'ch.qos.logback:logback-classic:1.5.20' - testImplementation 'org.junit.jupiter:junit-jupiter:5.13.2' - testImplementation 'org.junit.platform:junit-platform-suite:1.13.2' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.13.2' + testImplementation 'org.junit.jupiter:junit-jupiter:5.15.0' + testImplementation 'org.junit.platform:junit-platform-suite:1.14.0' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.14.0' } // Make sure every single dependency is modularized. @@ -173,7 +173,7 @@ idea { } tasks.named('wrapper', Wrapper) { - gradleVersion = '8.14.2' + gradleVersion = '9.1.0' distributionType = Wrapper.DistributionType.BIN } @@ -189,10 +189,10 @@ application { } java { -// sourceCompatibility = JavaVersion.VERSION_21 // Use this instead of toolchain.* if you want to manually setup your own JDK -// targetCompatibility = JavaVersion.VERSION_21 // Use this instead of toolchain.* if you want to manually setup your own JDK - toolchain.languageVersion = JavaLanguageVersion.of(21) - toolchain.vendor = JvmVendorSpec.ADOPTIUM +// sourceCompatibility = JavaVersion.VERSION_25 // Use this instead of toolchain.* if you want to manually setup your own JDK +// targetCompatibility = JavaVersion.VERSION_25 // Use this instead of toolchain.* if you want to manually setup your own JDK + toolchain.languageVersion = JavaLanguageVersion.of(25) +// toolchain.vendor = JvmVendorSpec.ADOPTIUM modularity.inferModulePath.set(true) } @@ -206,7 +206,10 @@ compileJava { // List of Prism Settings // https://github.com/openjdk/jfx/blob/master/modules/javafx.graphics/src/main/java/com/sun/prism/impl/PrismSettings.java run { - jvmArgs += ['-Dprism.maxvram=2G', '-Djavafx.animation.fullspeed=true'] + jvmArgs '-Dprism.maxvram=2G' + jvmArgs '-Djavafx.animation.fullspeed=true' + jvmArgs '--enable-native-access=javafx.graphics' + jvmArgs '--enable-native-access=javafx.media' } tasks.named('test', Test) { @@ -253,7 +256,7 @@ processResources { // Configure Default Logging Path (only applies when logback is enabled) def logPath = "${artifactName}.log" // Note: if you update this make sure to verify/update fileNamePattern below as well // Log to Console.App on OSX - if (isProdJlink && org.gradle.internal.os.OperatingSystem.current().macOsX) { + if (isReleaseJlink && org.gradle.internal.os.OperatingSystem.current().macOsX) { logPath = '${user.home}/Library/Logs/' + logPath } def logbackProps = [ @@ -345,9 +348,9 @@ tasks.register('fxUberJar', Jar) { } } -artifacts { - archives noFxUberJar - archives fxUberJar +assemble { + dependsOn(noFxUberJar) + dependsOn(fxUberJar) } // @@ -363,11 +366,18 @@ jlink { options.set(['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']) imageZip.set(imageZipFile) launcher { + def currentOS = org.gradle.internal.os.OperatingSystem.current() name = artifactNameUpper mainClass = mainClassPath + noConsole = true // uses javaw instead of java on windows jvmArgs = ['-Dprism.maxvram=2G', '-Djavafx.animation.fullspeed=true'] jvmArgs += ["-Dlogback.configurationFile={{BIN_DIR}}${fileSep}logback.xml"] - jvmArgs += ["-Dtrinity.app.dir={{BIN_DIR}}"] + if (currentOS.windows) { + jvmArgs += ["-Dtrinity.app.dir={{BIN_DIR}}${fileSep}"] // extra fileSep on jlink to ensure .bat file %~dp0 escaping works + } else { + jvmArgs += ["-Dtrinity.app.dir={{BIN_DIR}}"] + } + jvmArgs += ['--enable-native-access=javafx.graphics', '--enable-native-access=javafx.media'] //jvmArgs += ["--add-exports external.module.name/external.package.name=$sModuleName", ...] } //forceMerge('javafx') @@ -381,6 +391,7 @@ jlink { jvmArgs = ['-Dprism.maxvram=2G', '-Djavafx.animation.fullspeed=true'] jvmArgs += ["-Dlogback.configurationFile=\$APPDIR${fileSep}logback.xml"] jvmArgs += ["-Dtrinity.app.dir=\$APPDIR"] + jvmArgs += ['--enable-native-access=javafx.graphics', '--enable-native-access=javafx.media'] jvmArgs += ['--module-path', '.'] if (currentOS.windows) { skipInstaller = true diff --git a/gradle.properties b/gradle.properties index cff2699a..a8867c13 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,4 +8,4 @@ org.gradle.java.installations.auto-detect=true # Project Build Properties env=dev -javafx.version=21.0.7 +javafx.version=25.0.1 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 1b33c55b..8bdaf60c 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 ff23a68d..2e111328 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.14.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 23d15a93..adff685a 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. @@ -114,7 +114,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -172,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" ) @@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" diff --git a/gradlew.bat b/gradlew.bat index db3a6ac2..c4bdd3ab 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,10 @@ goto fail :execute @rem Setup the command line -set CLASSPATH= @rem Execute Gradle -"%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" %* +"%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/mvnw b/mvnw index 5e9618ca..1ddd97b9 100755 --- a/mvnw +++ b/mvnw @@ -19,7 +19,7 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.3.2 +# Apache Maven Wrapper startup batch script, version 3.3.4 # # Required ENV vars: # ------------------ @@ -201,6 +201,14 @@ MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} export MAVEN_PROJECTBASEDIR log "$MAVEN_PROJECTBASEDIR" +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + ########################################################################################## # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central # This allows using the maven wrapper in projects that prohibit checking in binary data. @@ -212,15 +220,13 @@ else log "Couldn't find $wrapperJarPath, downloading it ..." if [ -n "$MVNW_REPOURL" ]; then - wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.3.4/maven-wrapper-3.3.4.jar" else - wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.4/maven-wrapper-3.3.4.jar" fi while IFS="=" read -r key value; do - # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) - safeValue=$(echo "$value" | tr -d '\r') case "$key" in wrapperUrl) - wrapperUrl="$safeValue" + wrapperUrl=$(trim "${value-}") break ;; esac @@ -235,17 +241,17 @@ else log "Found wget ... using wget" [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + wget ${QUIET:+"$QUIET"} "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" else - wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + wget ${QUIET:+"$QUIET"} --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" fi elif command -v curl >/dev/null; then log "Found curl ... using curl" [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + curl ${QUIET:+"$QUIET"} -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" else - curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + curl ${QUIET:+"$QUIET"} --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" fi else log "Falling back to using Java to download" @@ -276,7 +282,7 @@ fi wrapperSha256Sum="" while IFS="=" read -r key value; do case "$key" in wrapperSha256Sum) - wrapperSha256Sum=$value + wrapperSha256Sum=$(trim "${value-}") break ;; esac @@ -284,7 +290,7 @@ done <"$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" if [ -n "$wrapperSha256Sum" ]; then wrapperSha256Result=false if command -v sha256sum >/dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c >/dev/null 2>&1; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c - >/dev/null 2>&1; then wrapperSha256Result=true fi elif command -v shasum >/dev/null; then diff --git a/mvnw.cmd b/mvnw.cmd index 4136715f..8366e217 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -18,7 +18,7 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM Apache Maven Wrapper startup batch script, version 3.3.4 @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @@ -119,7 +119,7 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain -set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.4/maven-wrapper-3.3.4.jar" FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B @@ -133,7 +133,7 @@ if exist %WRAPPER_JAR% ( ) ) else ( if not "%MVNW_REPOURL%" == "" ( - SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.3.4/maven-wrapper-3.3.4.jar" ) if "%MVNW_VERBOSE%" == "true" ( echo Couldn't find %WRAPPER_JAR%, downloading it ... diff --git a/pom.xml b/pom.xml index 27963446..f1bbde93 100644 --- a/pom.xml +++ b/pom.xml @@ -19,40 +19,40 @@ ${maven.build.timestamp} UTF-8 UTF-8 - 21 - 21.0.7 - 3.8.8 + 25 + 25.0.1 + 3.9.9 ${java.version} ${java.version} ${java.version} yyyy.MM.dd - 3.14.0 - 3.5.0 + 3.14.1 + 3.6.2 3.7.1 - 3.5.3 + 3.5.4 4.0.0-M16 0.0.8 - 1.7.1 + 1.7.3 3.6.1 9.0.2 - 12.1.3 - 5.13.2 - 1.13.2 + 12.1.8 + 5.14.0 + 1.14.0 0.1.3 0.6.0 - 21.0.25 + 21.0.27 1.0.0 3.6.1 - 3.18.0 + 3.19.0 0.6.0 - 2.19.1 + 2.19.2 0.3.12 1.5.2 2.0 v2025.06.29 - 3.0.5 + 3.0.6 2.0.17 - 1.5.18 + 1.5.20 edu.jhuapl.trinity.TrinityMain Trinity @@ -69,6 +69,10 @@ + + central + https://repo1.maven.org/maven2/ + jitpack.io https://jitpack.io @@ -123,16 +127,62 @@ com.github.birdasaur.litfx litfx-controls ${litfx.controls.version} + + + org.openjfx + javafx-controls + + + org.openjfx + javafx-fxml + + org.fxyz3d fxyz3d ${fxyz3d.version} + + + org.openjfx + javafx-controls + + + org.openjfx + javafx-fxml + + + org.openjfx + javafx-swing + + eu.hansolo.fx charts ${hansolo.charts.version} + + + org.openjfx + javafx-base + + + org.openjfx + javafx-graphics + + + org.openjfx + javafx-controls + + + org.openjfx + javafx-swing + + + ch.qos.logback + logback-classic + + com.github.quickhull3d diff --git a/src/main/java/edu/jhuapl/trinity/utils/statistics/DensityCache.java b/src/main/java/edu/jhuapl/trinity/utils/statistics/DensityCache.java index 7baa6642..bd030686 100644 --- a/src/main/java/edu/jhuapl/trinity/utils/statistics/DensityCache.java +++ b/src/main/java/edu/jhuapl/trinity/utils/statistics/DensityCache.java @@ -121,7 +121,7 @@ private DensityCache(int maxEntries, long ttlMillis) { this.ttlMillis = ttlMillis; this.map = new LinkedHashMap<>(16, 0.75f, true) { @Override - protected boolean removeEldestEntry(Map.Entry eldest) { + protected boolean removeEldestEntry(Map.Entry eldest) { boolean evict = size() > DensityCache.this.maxEntries; if (evict) evictions++; return evict; diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 29320693..7028e466 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -19,7 +19,6 @@ requires javafx.graphics; requires javafx.media; requires javafx.swing; - requires jdk.crypto.ec; requires jdk.httpserver; requires jflac.codec; requires lit.litfx.controls;