From 913e0015a6be0a5d0b836467d5abde0da57766b2 Mon Sep 17 00:00:00 2001 From: Enigbe Date: Thu, 3 Jul 2025 20:40:19 +0100 Subject: [PATCH 1/3] build: update jOOQ & fix Gradle 9.0 compatibility issues With the release of Gradle 9.0.0, we experienced build failures due to deprecated access to plugin conventions (JavaPluginConvention). Ref: https://docs.gradle.org/9.0.0-rc-1/userguide/upgrading_version_8.html#deprecated_access_to_conventions To address this, we: 1. Upgrade jOOQ Gradle plugin from 8.0 to 8.2.2 to avoid deprecation warnings when using Gradle 9.0. Ref: https://github.com/etiennestuder/gradle-jooq-plugin/releases/tag/v8.2.2 2. Upgrade jOOQ from 3.17.7 to 3.19.1 to match the plugin version upgrade. Note: We avoid the latest version of jOOQ because it requires Java 21. --- java/app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/app/build.gradle b/java/app/build.gradle index 9f9c86d..f0dd878 100644 --- a/java/app/build.gradle +++ b/java/app/build.gradle @@ -5,7 +5,7 @@ buildscript { ext.junitVersion = '5.9.0' ext.mockitoVersion = '5.2.0' ext.postgresVersion = '42.5.1' - ext.jooqVersion = '3.17.7' + ext.jooqVersion = '3.19.1' ext.guiceVersion = '5.1.0' } @@ -14,7 +14,7 @@ plugins { id 'com.google.protobuf' version "${protobufPlugInVersion}" id 'war' id 'idea' - id 'nu.studer.jooq' version '8.0' + id 'nu.studer.jooq' version '8.2.2' } repositories { From a980817198aae289f96175ac389d69e308bf7b29 Mon Sep 17 00:00:00 2001 From: Enigbe Date: Thu, 3 Jul 2025 20:44:26 +0100 Subject: [PATCH 2/3] build: add JUnit platform launcher for test execution Additionally, we add JUnit Platform Launcher which is required for JUnit 5 tests in newer Gradle versions. --- java/app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/java/app/build.gradle b/java/app/build.gradle index f0dd878..ebafb73 100644 --- a/java/app/build.gradle +++ b/java/app/build.gradle @@ -69,6 +69,7 @@ dependencies { testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion" testImplementation "org.mockito:mockito-core:$mockitoVersion" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion" + testRuntimeOnly "org.junit.platform:junit-platform-launcher:1.9.0" testImplementation "org.hamcrest:hamcrest-library:2.2" testImplementation "org.testcontainers:junit-jupiter:1.17.6" testImplementation "org.testcontainers:postgresql:1.17.6" From f31eeed229b438b02d0bb1206cf7e5a26716f861 Mon Sep 17 00:00:00 2001 From: Enigbe Date: Thu, 3 Jul 2025 21:45:42 +0100 Subject: [PATCH 3/3] ci: update Gradle to 9.0 update to Gradle 9.0 and auto-extract version number. --- .github/workflows/build-and-deploy-java.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-deploy-java.yml b/.github/workflows/build-and-deploy-java.yml index 8b06734..4f787fc 100644 --- a/.github/workflows/build-and-deploy-java.yml +++ b/.github/workflows/build-and-deploy-java.yml @@ -54,10 +54,15 @@ jobs: run: | # Print Info java -version - gradle --version + GRADLE_VERSION=$(gradle --version | awk '/^Gradle/ {print $2}' | head -1) + if [ -z "$GRADLE_VERSION" ]; then + echo "Failed to extract Gradle version, using default" + GRADLE_VERSION="9.0" + fi + echo "Gradle $GRADLE_VERSION" cd java - gradle wrapper --gradle-version 8.1.1 + gradle wrapper --gradle-version $GRADLE_VERSION ./gradlew --version ./gradlew build