From 25b488bda0eccd8120feb7417333f69ea2ef78aa Mon Sep 17 00:00:00 2001 From: zack-rma Date: Wed, 28 Jan 2026 09:40:51 -0800 Subject: [PATCH 1/8] Fixed WRIMS comparison test README Gradle pathing. Resolved Lookup library bug for JDK 21+. --- gradle/libs.versions.toml | 2 ++ wrims-comparison-test/README.md | 8 ++++---- wrims-comparison-test/build.gradle | 8 ++++++++ wrims-core/build.gradle | 8 ++++++++ 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index fef86ec..b29a43b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,6 +2,7 @@ hec-monolith = "6.0.0" #dssgui is not used by wrims-engine, but is is being included in the wrims-engine bom and should be kept in sync with hec-monolith for downstream projects. dssgui = "3.4.18" +lookup = "4.0.0" guava = "33.4.8-jre" commons-io = "2.1" xstream = "1.4.3" @@ -36,6 +37,7 @@ azure-storage-blob = "12.28.0" hec-monolith = { module = "mil.army.usace.hec:hec-monolith", version.ref = "hec-monolith" } hec-monolith-bom = { module = "mil.army.usace.hec:hec-monolith-bom", version.ref = "hec-monolith" } dssgui = { module = "mil.army.usace.hec:dssgui", version.ref = "dssgui" } +lookup-compat = { module = "mil.army.usace.hec:lookup-compat", version.ref = "lookup" } guava = { module = "com.google.guava:guava", version.ref = "guava" } commons-io = { module = "commons-io:commons-io", version.ref = "commons-io" } xstream = { module = "com.thoughtworks.xstream:xstream", version.ref = "xstream" } diff --git a/wrims-comparison-test/README.md b/wrims-comparison-test/README.md index 8564b24..b914a2a 100644 --- a/wrims-comparison-test/README.md +++ b/wrims-comparison-test/README.md @@ -102,16 +102,16 @@ From repository root (where `gradlew.bat` resides): - Run only the Azure Cucumber suite: ``` -./gradlew.bat :wrims-engine:wrims-comparison-test:runAzureCucumberTests +./gradlew.bat :wrims-comparison-test:runAzureCucumberTests ``` - Ensure `.env.cucumber` exists or pass a token explicitly, e.g.: ``` -./gradlew.bat :wrims-engine:wrims-comparison-test:runAzureCucumberTests -Dwrims.azure.sas="sv=...&sig=..." +./gradlew.bat :wrims-comparison-test:runAzureCucumberTests -Dwrims.azure.sas="sv=...&sig=..." ``` - Generate compute and comparison report locally (CalLite example): ``` -./gradlew.bat :wrims-engine:wrims-comparison-test:testReport +./gradlew.bat :wrims-comparison-test:testReport ``` - Outputs: - `wrims-engine/wrims-comparison-test/build/testProjects/Callite_update_compare_6_6.pdf` @@ -119,7 +119,7 @@ From repository root (where `gradlew.bat` resides): - Clear temporary extracted projects: ``` -./gradlew.bat :wrims-engine:wrims-comparison-test:clear-tmp-projects +./gradlew.bat :wrims-comparison-test:clear-tmp-projects ``` --- diff --git a/wrims-comparison-test/build.gradle b/wrims-comparison-test/build.gradle index 02e87dc..d7f0bc8 100644 --- a/wrims-comparison-test/build.gradle +++ b/wrims-comparison-test/build.gradle @@ -10,6 +10,14 @@ configurations{ comparisonReport } +// JDK 21+ resolution for Lookup library bug: Issue #194 +configurations.configureEach { + resolutionStrategy.dependencySubstitution {substitution -> + substitution.substitute(module("mil.army.usace.hec:lookup")).using(module(libs.lookup.compat.get().toString())) + .because("WRIMS uses upstream NetBeans Lookup for Java 21 Compatibility.") + } +} + dependencies { implementation(project(":wrims-core")){ exclude group: "org.testng" diff --git a/wrims-core/build.gradle b/wrims-core/build.gradle index 0facd35..8c4d9f4 100644 --- a/wrims-core/build.gradle +++ b/wrims-core/build.gradle @@ -26,6 +26,14 @@ configurations { windows_x64 } +// JDK 21+ resolution for Lookup library bug: Issue #194 +configurations.configureEach { + resolutionStrategy.dependencySubstitution {substitution -> + substitution.substitute(module("mil.army.usace.hec:lookup")).using(module(libs.lookup.compat.get().toString())) + .because("WRIMS uses upstream NetBeans Lookup for Java 21 Compatibility.") + } +} + dependencies { // --- native bundles (zip) --- windows_x64(libs.javaHeclib) { artifact { type = 'zip' } } From f5d8597048bb00f4e671b65fc1907df45ed6f73f Mon Sep 17 00:00:00 2001 From: zack-rma Date: Wed, 28 Jan 2026 15:05:04 -0800 Subject: [PATCH 2/8] Moved resolution strategy to highest level Gradle build file. Added CI job to build for lookup library replacement verification. --- .github/workflows/Java_CI.yaml | 6 ++++++ build.gradle | 8 ++++++++ wrims-comparison-test/build.gradle | 8 -------- wrims-core/build.gradle | 8 -------- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.github/workflows/Java_CI.yaml b/.github/workflows/Java_CI.yaml index 229adaf..11781da 100644 --- a/.github/workflows/Java_CI.yaml +++ b/.github/workflows/Java_CI.yaml @@ -31,6 +31,12 @@ jobs: distribution: 'temurin' cache: 'gradle' + - name: Ensure old Lookup library is not resolved + run: | + ./gradlew :wrims-core:dependencyInsight --dependency lookup --configuration runtimeClasspath \ + -PcvmUserId="dwr-wrims-build" -PcvmPassword="${{ secrets.WRIMS_ENGINE_DEPENDENCIES_TOKEN }}" \ + | grep -F "mil.army.usace.hec:lookup" && exit 1 || exit 0 + - name: Build with Gradle run: | ./gradlew clean -PcvmUserId="dwr-wrims-build" -PcvmPassword="${{ secrets.WRIMS_ENGINE_DEPENDENCIES_TOKEN }}" diff --git a/build.gradle b/build.gradle index b2791bb..14e59cd 100644 --- a/build.gradle +++ b/build.gradle @@ -34,4 +34,12 @@ tasks.register('copyDependencies', Copy) { allprojects { group = 'gov.ca.water' version = versionLabel(versionDetails()) + + // JDK 21+ resolution for Lookup library bug: Issue #194 + configurations.configureEach { + resolutionStrategy.dependencySubstitution {substitution -> + substitution.substitute(module("mil.army.usace.hec:lookup")).using(module(libs.lookup.compat.get().toString())) + .because("WRIMS uses upstream NetBeans Lookup for Java 21 Compatibility.") + } + } } \ No newline at end of file diff --git a/wrims-comparison-test/build.gradle b/wrims-comparison-test/build.gradle index d7f0bc8..02e87dc 100644 --- a/wrims-comparison-test/build.gradle +++ b/wrims-comparison-test/build.gradle @@ -10,14 +10,6 @@ configurations{ comparisonReport } -// JDK 21+ resolution for Lookup library bug: Issue #194 -configurations.configureEach { - resolutionStrategy.dependencySubstitution {substitution -> - substitution.substitute(module("mil.army.usace.hec:lookup")).using(module(libs.lookup.compat.get().toString())) - .because("WRIMS uses upstream NetBeans Lookup for Java 21 Compatibility.") - } -} - dependencies { implementation(project(":wrims-core")){ exclude group: "org.testng" diff --git a/wrims-core/build.gradle b/wrims-core/build.gradle index 8c4d9f4..0facd35 100644 --- a/wrims-core/build.gradle +++ b/wrims-core/build.gradle @@ -26,14 +26,6 @@ configurations { windows_x64 } -// JDK 21+ resolution for Lookup library bug: Issue #194 -configurations.configureEach { - resolutionStrategy.dependencySubstitution {substitution -> - substitution.substitute(module("mil.army.usace.hec:lookup")).using(module(libs.lookup.compat.get().toString())) - .because("WRIMS uses upstream NetBeans Lookup for Java 21 Compatibility.") - } -} - dependencies { // --- native bundles (zip) --- windows_x64(libs.javaHeclib) { artifact { type = 'zip' } } From 1ad829d6050a9cc32aca318ddd68e3ed1268d331 Mon Sep 17 00:00:00 2001 From: zack-rma Date: Wed, 28 Jan 2026 15:09:09 -0800 Subject: [PATCH 3/8] Modified ordering of parameters for CI verification job --- .github/workflows/Java_CI.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Java_CI.yaml b/.github/workflows/Java_CI.yaml index 11781da..5fd02c4 100644 --- a/.github/workflows/Java_CI.yaml +++ b/.github/workflows/Java_CI.yaml @@ -33,8 +33,8 @@ jobs: - name: Ensure old Lookup library is not resolved run: | - ./gradlew :wrims-core:dependencyInsight --dependency lookup --configuration runtimeClasspath \ - -PcvmUserId="dwr-wrims-build" -PcvmPassword="${{ secrets.WRIMS_ENGINE_DEPENDENCIES_TOKEN }}" \ + ./gradlew -PcvmUserId="dwr-wrims-build" -PcvmPassword="${{ secrets.WRIMS_ENGINE_DEPENDENCIES_TOKEN }}" \ + :wrims-core:dependencyInsight --dependency lookup --configuration runtimeClasspath \ | grep -F "mil.army.usace.hec:lookup" && exit 1 || exit 0 - name: Build with Gradle From 16bf49c8d672c7498e704f0600b002573a70e4b8 Mon Sep 17 00:00:00 2001 From: zack-rma Date: Wed, 28 Jan 2026 15:13:08 -0800 Subject: [PATCH 4/8] Changed shell for verification job --- .github/workflows/Java_CI.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/Java_CI.yaml b/.github/workflows/Java_CI.yaml index 5fd02c4..5d450c1 100644 --- a/.github/workflows/Java_CI.yaml +++ b/.github/workflows/Java_CI.yaml @@ -32,6 +32,7 @@ jobs: cache: 'gradle' - name: Ensure old Lookup library is not resolved + shell: bash run: | ./gradlew -PcvmUserId="dwr-wrims-build" -PcvmPassword="${{ secrets.WRIMS_ENGINE_DEPENDENCIES_TOKEN }}" \ :wrims-core:dependencyInsight --dependency lookup --configuration runtimeClasspath \ From 675a114fabf4f342334e37a99835a7f98a7a4419 Mon Sep 17 00:00:00 2001 From: zack-rma Date: Wed, 28 Jan 2026 15:16:34 -0800 Subject: [PATCH 5/8] Added missing : --- .github/workflows/Java_CI.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Java_CI.yaml b/.github/workflows/Java_CI.yaml index 5d450c1..fb334fa 100644 --- a/.github/workflows/Java_CI.yaml +++ b/.github/workflows/Java_CI.yaml @@ -36,7 +36,7 @@ jobs: run: | ./gradlew -PcvmUserId="dwr-wrims-build" -PcvmPassword="${{ secrets.WRIMS_ENGINE_DEPENDENCIES_TOKEN }}" \ :wrims-core:dependencyInsight --dependency lookup --configuration runtimeClasspath \ - | grep -F "mil.army.usace.hec:lookup" && exit 1 || exit 0 + | grep -F "mil.army.usace.hec:lookup:" && exit 1 || exit 0 - name: Build with Gradle run: | From 8209b9e8d36a3c9af2cdf7d31826f7b418cf61f2 Mon Sep 17 00:00:00 2001 From: zack-rma Date: Wed, 28 Jan 2026 15:47:35 -0800 Subject: [PATCH 6/8] Updated regex for lookup library pattern matching --- .github/workflows/Java_CI.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Java_CI.yaml b/.github/workflows/Java_CI.yaml index fb334fa..6a7eee4 100644 --- a/.github/workflows/Java_CI.yaml +++ b/.github/workflows/Java_CI.yaml @@ -36,7 +36,7 @@ jobs: run: | ./gradlew -PcvmUserId="dwr-wrims-build" -PcvmPassword="${{ secrets.WRIMS_ENGINE_DEPENDENCIES_TOKEN }}" \ :wrims-core:dependencyInsight --dependency lookup --configuration runtimeClasspath \ - | grep -F "mil.army.usace.hec:lookup:" && exit 1 || exit 0 + | grep -F "^mil\.army\.usace\.hec:lookup:[^:\s]+$" && exit 1 || exit 0 - name: Build with Gradle run: | From 1ba14ab246e73bcc970d4fbc517d4c21d1604f75 Mon Sep 17 00:00:00 2001 From: zack-rma Date: Thu, 29 Jan 2026 16:35:47 -0800 Subject: [PATCH 7/8] Swapped grep flag to support regex --- .github/workflows/Java_CI.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Java_CI.yaml b/.github/workflows/Java_CI.yaml index 6a7eee4..5915f5e 100644 --- a/.github/workflows/Java_CI.yaml +++ b/.github/workflows/Java_CI.yaml @@ -36,7 +36,7 @@ jobs: run: | ./gradlew -PcvmUserId="dwr-wrims-build" -PcvmPassword="${{ secrets.WRIMS_ENGINE_DEPENDENCIES_TOKEN }}" \ :wrims-core:dependencyInsight --dependency lookup --configuration runtimeClasspath \ - | grep -F "^mil\.army\.usace\.hec:lookup:[^:\s]+$" && exit 1 || exit 0 + | grep -q -E "^mil\.army\.usace\.hec:lookup:[^:\s]+$" && exit 1 || exit 0 - name: Build with Gradle run: | From a5448dd195ee7962bb455b487969ffb39e28c1e9 Mon Sep 17 00:00:00 2001 From: zack-rma Date: Fri, 30 Jan 2026 12:01:11 -0800 Subject: [PATCH 8/8] Cleaned up grep flags --- .github/workflows/Java_CI.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Java_CI.yaml b/.github/workflows/Java_CI.yaml index 5915f5e..e8a0893 100644 --- a/.github/workflows/Java_CI.yaml +++ b/.github/workflows/Java_CI.yaml @@ -36,7 +36,7 @@ jobs: run: | ./gradlew -PcvmUserId="dwr-wrims-build" -PcvmPassword="${{ secrets.WRIMS_ENGINE_DEPENDENCIES_TOKEN }}" \ :wrims-core:dependencyInsight --dependency lookup --configuration runtimeClasspath \ - | grep -q -E "^mil\.army\.usace\.hec:lookup:[^:\s]+$" && exit 1 || exit 0 + | grep -qE "^mil\.army\.usace\.hec:lookup:[^:\s]+$" && exit 1 || exit 0 - name: Build with Gradle run: |