diff --git a/.github/workflows/ci-build-test.yml b/.github/workflows/ci-build-test.yml
index c3b583a7cc..c476efa8a1 100644
--- a/.github/workflows/ci-build-test.yml
+++ b/.github/workflows/ci-build-test.yml
@@ -3,14 +3,14 @@ on: [push, pull_request]
jobs:
check_java_latest:
runs-on: ubuntu-latest
- name: Java 17
+ name: Java 25
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
- java-version: 17
+ java-version: 25
distribution: 'zulu'
- name: Gradle cache
@@ -19,23 +19,23 @@ jobs:
path: |
~/.gradle/caches
~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-jdk17-${{ hashFiles('**/*.gradle*') }}
+ key: ${{ runner.os }}-gradle-jdk25-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
- ${{ runner.os }}-gradle-jdk17
+ ${{ runner.os }}-gradle-jdk25
- name: Compile with Gradle
run: ./gradlew assemble
- check_java11:
+ check_java_minimum:
runs-on: ubuntu-latest
- name: Java 11
+ name: Java 17
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
- java-version: 11
+ java-version: 17
distribution: 'zulu'
- name: Gradle cache
@@ -44,9 +44,9 @@ jobs:
path: |
~/.gradle/caches
~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-jdk11-${{ hashFiles('**/*.gradle*') }}
+ key: ${{ runner.os }}-gradle-jdk17-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
- ${{ runner.os }}-gradle-jdk11
+ ${{ runner.os }}-gradle-jdk17
- name: Compile with Gradle
run: ./gradlew assemble
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 55321cbcb5..6211506529 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -12,7 +12,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v3
with:
- java-version: 11
+ java-version: 17
distribution: 'zulu'
- name: Gradle cache
@@ -21,9 +21,9 @@ jobs:
path: |
~/.gradle/caches
~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-jdk11-${{ hashFiles('**/*.gradle*') }}
+ key: ${{ runner.os }}-gradle-jdk17-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
- ${{ runner.os }}-gradle-jdk11
+ ${{ runner.os }}-gradle-jdk17
- name: Create Artifacts
run: |
diff --git a/README.md b/README.md
index 9243606110..990ee3893b 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@ These instructions are intended for those wishing to examine the Synthea source
### Installation
**System Requirements:**
-SyntheaTM requires Java JDK 11 or newer. We strongly recommend using a Long-Term Support (LTS) release of Java, 11 or 17, as issues may occur with more recent non-LTS versions.
+SyntheaTM requires Java JDK 17 or newer. We strongly recommend using a Long-Term Support (LTS) release of Java, 17 or 25, as issues may occur with more recent non-LTS versions.
To clone the SyntheaTM repo, then build and run the test suite:
```
diff --git a/build.gradle b/build.gradle
index c92c47d76d..01f3da5643 100644
--- a/build.gradle
+++ b/build.gradle
@@ -21,7 +21,7 @@ buildscript {
}
dependencies {
// commons-io used in getting the version id below
- classpath group: 'commons-io', name: 'commons-io', version: '2.5'
+ classpath 'commons-io:commons-io:2.5'
// note that commons-io is already a dependency
// of commons-csv in the primary dependencies above
}
@@ -86,9 +86,9 @@ dependencies {
implementation 'guru.nidi:graphviz-java:0.18.1'
// JavaScript engine included for graphviz. It gets used
// if someone does not have graphviz installed in their environment
- implementation 'org.graalvm.js:js:22.3.3'
- implementation 'org.graalvm.js:js-scriptengine:22.3.3'
- implementation 'org.graalvm.sdk:graal-sdk:22.3.3'
+ implementation 'org.graalvm.js:js:25.0.1'
+ implementation 'org.graalvm.js:js-scriptengine:25.0.1'
+ implementation 'org.graalvm.sdk:graal-sdk:25.0.1'
// CSV Stuff
implementation 'org.apache.commons:commons-csv:1.9.0'
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 2c3521197d..f8e1ee3125 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 d4081da476..23449a2b54 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.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew b/gradlew
index f5feea6d6b..adff685a03 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.
@@ -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 9b42019c79..e509b2dd8f 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