From 0a83267d71fa81d518f8e7a14a4cd05504b1e7c4 Mon Sep 17 00:00:00 2001 From: Heshan Andrews <45477334+Gravewalker666@users.noreply.github.com> Date: Mon, 22 Jul 2024 15:23:59 +0100 Subject: [PATCH] [APPENG-849] Add spring boot 3.3 support (#85) * [APPENG-849] Add spring boot 3.3 support * Remove sb 3.0 and 3.1 support * Upgrade spring boot version to 3.3.1 * Remove sb 2.7 and add flyway postgres * Add flyway postgresql as a version defined lib * Add libraries.postgresql to tkms-starter build.gradle * Fix postgres flyway package name issue * Update the changelog latest version date * Set the default spring boot version to 3.2.2 * set the spring boot version in build.libraries.gradle * Change gzip expected file size in postgres e2e tests * Remove conditional addition of flywayMysql * Change the flywayPostgresql conditional statement to use negate of the previous * Bump the version to a minor * Update changelog --- .github/workflows/build.yml | 4 +--- CHANGELOG.md | 9 +++++++++ build.gradle | 2 +- build.libraries.gradle | 3 ++- gradle.properties | 2 +- tw-tkms-starter/build.gradle | 6 ++++-- .../transferwise/kafka/tkms/PostgresEndToEndIntTest.java | 2 +- 7 files changed, 19 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ac6da0..7e2a9f9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,10 +18,8 @@ jobs: max-parallel: 100 matrix: spring_boot_version: + - 3.3.1 - 3.2.2 - - 3.1.6 - - 3.0.13 - - 2.7.18 env: SPRING_BOOT_VERSION: ${{ matrix.spring_boot_version }} GRADLE_OPTS: "-Djava.security.egd=file:/dev/./urandom -Dorg.gradle.parallel=true" diff --git a/CHANGELOG.md b/CHANGELOG.md index b59aebd..e04f0cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.29.0] - 2024-07-16 + +### Added + +- Added Spring Boot 3.3 support. + +### Removed +- Removed support for spring boot 3.1 and 2.7. + ## [0.28.3] - 2024-02-20 ### Changed diff --git a/build.gradle b/build.gradle index ee3084e..214518b 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ import org.eclipse.jgit.api.errors.RefAlreadyExistsException buildscript { if (!project.hasProperty("springBootVersion")) { - ext.springBootVersion = System.getenv("SPRING_BOOT_VERSION") ?: "2.7.18" + ext.springBootVersion = System.getenv("SPRING_BOOT_VERSION") ?: "3.2.2" } dependencies { classpath 'com.google.protobuf:protobuf-gradle-plugin:0.9.4' diff --git a/build.libraries.gradle b/build.libraries.gradle index 1b11d88..0e0d20f 100644 --- a/build.libraries.gradle +++ b/build.libraries.gradle @@ -1,6 +1,6 @@ ext { protobufVersion = "3.24.0" - springBootVersion = "${System.getenv("SPRING_BOOT_VERSION") ?: '2.7.18'}" + springBootVersion = "${System.getenv("SPRING_BOOT_VERSION") ?: '3.2.2'}" libraries = [ // version defined awaitility : 'org.awaitility:awaitility:4.2.0', @@ -31,6 +31,7 @@ ext { commonsLang3 : 'org.apache.commons:commons-lang3', flywayCore : 'org.flywaydb:flyway-core', flywayMysql : 'org.flywaydb:flyway-mysql', + flywayPostgresql : 'org.flywaydb:flyway-database-postgresql', jacksonDatabind : 'com.fasterxml.jackson.core:jackson-databind', kafkaClients : 'org.apache.kafka:kafka-clients', lombok : 'org.projectlombok:lombok', diff --git a/gradle.properties b/gradle.properties index 1f6dd97..187e7df 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -version=0.28.3 +version=0.29.0 diff --git a/tw-tkms-starter/build.gradle b/tw-tkms-starter/build.gradle index 7b70c90..82f5228 100644 --- a/tw-tkms-starter/build.gradle +++ b/tw-tkms-starter/build.gradle @@ -55,9 +55,11 @@ dependencies { testImplementation project(":tw-tkms-test-starter") testImplementation libraries.awaitility - if (!springBootVersion.startsWith("2.6")) { - testImplementation libraries.flywayMysql + // If we are running on spring boot 3.3 or newer then we need to use the flyway-postgresql dependency. + if (!springBootVersion.startsWith("3.2")) { + testImplementation libraries.flywayPostgresql } + testImplementation libraries.flywayMysql testImplementation libraries.flywayCore testImplementation libraries.lombok testImplementation libraries.springBootStarterActuator diff --git a/tw-tkms-starter/src/test/java/com/transferwise/kafka/tkms/PostgresEndToEndIntTest.java b/tw-tkms-starter/src/test/java/com/transferwise/kafka/tkms/PostgresEndToEndIntTest.java index 821f952..c1e9a71 100644 --- a/tw-tkms-starter/src/test/java/com/transferwise/kafka/tkms/PostgresEndToEndIntTest.java +++ b/tw-tkms-starter/src/test/java/com/transferwise/kafka/tkms/PostgresEndToEndIntTest.java @@ -16,7 +16,7 @@ private static Stream compressionInput() { var arguments = new ArrayList(); for (var deferUntilCommit : deferUntilCommits) { - arguments.add(Arguments.of(CompressionAlgorithm.GZIP, 112, 111, deferUntilCommit)); + arguments.add(Arguments.of(CompressionAlgorithm.GZIP, 111, 110, deferUntilCommit)); arguments.add(Arguments.of(CompressionAlgorithm.NONE, 1172, 1171, deferUntilCommit)); arguments.add(Arguments.of(CompressionAlgorithm.LZ4, 135, 134, deferUntilCommit)); arguments.add(Arguments.of(CompressionAlgorithm.SNAPPY, 164, 160, deferUntilCommit));