From 56938e098daebe1187e51d4ce32cdf72fdb9d6ef Mon Sep 17 00:00:00 2001 From: Martin Grotzke Date: Wed, 6 Sep 2023 23:17:26 +0200 Subject: [PATCH 1/8] Update gradle-build.yml / gradle-build-action This hopefully improves the issue with builds failing with an OOME, which might be related to https://github.com/gradle/gradle/issues/23215, which could be solved with gradle 8.3 (used by the new gradle-build-action according to https://github.com/gradle/gradle-build-action/compare/v2.7.1...v2.8.0). (cherry picked from commit a7c4161250ef6103be8c2403bfbeaed4ed69d240) --- .github/workflows/gradle-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml index caca9c43..2b1e54a6 100644 --- a/.github/workflows/gradle-build.yml +++ b/.github/workflows/gradle-build.yml @@ -32,7 +32,7 @@ jobs: - name: Validate gradle wrapper uses: gradle/wrapper-validation-action@v1 - name: Build - uses: gradle/gradle-build-action@v2.7.1 + uses: gradle/gradle-build-action@v2.8.0 with: arguments: build -Porg.gradle.jvmargs=-Xmx2048m @@ -49,7 +49,7 @@ jobs: distribution: 'temurin' cache: 'gradle' - name: Publish - uses: gradle/gradle-build-action@v2.7.1 + uses: gradle/gradle-build-action@v2.8.0 env: # variables used by build.gradle.kts for signing / publishing (without 'ORG_GRADLE_PROJECT_' prefix) ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.OSSRH_GPG_SECRET_KEY_ID }} From 518f3ed02c6cb2e89460bdd2ac3d4f54378b2460 Mon Sep 17 00:00:00 2001 From: Martin Grotzke Date: Wed, 6 Sep 2023 23:49:40 +0200 Subject: [PATCH 2/8] Update gradle-wrapper.properties Update to gradle 8.3 (cherry picked from commit 1131533a2b9f9ce84a4a226fa96d3b72ae7fecbf) --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae04661e..db9a6b82 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 15e3d8562adff8342ae5a049e2d0baee0cda0adb Mon Sep 17 00:00:00 2001 From: Martin Grotzke Date: Thu, 7 Sep 2023 00:13:02 +0200 Subject: [PATCH 3/8] Update build.gradle.kts Prevent ``` Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @238e0d81 ``` (cherry picked from commit 707ba9ca581f1ec2212d88b98996a17d4b0ae740) --- build.gradle.kts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 162640d8..71d43ffe 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -122,6 +122,8 @@ allprojects { } tasks.withType { + jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED") + useJUnitPlatform() testLogging { From 89ff7b7be21d3a6f823dc2a7e30b4a9e3f00cc29 Mon Sep 17 00:00:00 2001 From: Martin Grotzke Date: Thu, 7 Sep 2023 00:23:29 +0200 Subject: [PATCH 4/8] Update gradle-build.yml Remove args to set Xmx that seemingly don't work (cherry picked from commit 82d74e04a5031f49fbfdd290605fa186e4ab9da7) --- .github/workflows/gradle-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml index 2b1e54a6..bfd64892 100644 --- a/.github/workflows/gradle-build.yml +++ b/.github/workflows/gradle-build.yml @@ -34,7 +34,7 @@ jobs: - name: Build uses: gradle/gradle-build-action@v2.8.0 with: - arguments: build -Porg.gradle.jvmargs=-Xmx2048m + arguments: build publish: needs: [ build ] From 6340c580ec88e06571b80fe92870ecc793176a2c Mon Sep 17 00:00:00 2001 From: Martin Grotzke Date: Thu, 7 Sep 2023 00:25:26 +0200 Subject: [PATCH 5/8] Update build.gradle.kts Set Xmx via jvmArgs for test task (cherry picked from commit 726fb6c69c68de77b58e46d6bfcbbc72b292161a) --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 71d43ffe..13671eca 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -122,7 +122,7 @@ allprojects { } tasks.withType { - jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED") + jvmArgs(listOf("-Xmx2048m", "--add-opens=java.base/java.lang=ALL-UNNAMED")) useJUnitPlatform() From 2215d0ef05670ac31b013b3ccf6ece8f972d10dd Mon Sep 17 00:00:00 2001 From: Martin Grotzke Date: Thu, 21 Sep 2023 01:28:38 +0200 Subject: [PATCH 6/8] Fix jacoco task config The build failed with ``` Script compilation error: Line 142: destination = File("build/reports/jacoco.xml") ^ Unresolved reference: destination ``` --- build.gradle.kts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 13671eca..a64d7cda 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -137,10 +137,8 @@ allprojects { tasks.withType { reports { - xml.apply { - isEnabled = true - destination = File("build/reports/jacoco.xml") - } + xml.required.set(true) + xml.outputLocation.set(File("build/reports/jacoco.xml")) executionData(tasks.withType()) } } From 55cfa2205ff04dd16d5a33de70cb414a89372784 Mon Sep 17 00:00:00 2001 From: Martin Grotzke Date: Mon, 12 Dec 2022 23:46:21 +0100 Subject: [PATCH 7/8] Move java version from subprojects to root build.gradle.kts With the new spring major versions java 17 is required. (cherry picked from commit 32d0342eff7852093dc1787cb7ea899d8bede5b7) --- build.gradle.kts | 2 ++ commons/build.gradle.kts | 2 -- outbox-kafka-spring-reactive/build.gradle.kts | 6 ------ outbox-kafka-spring/build.gradle.kts | 6 ------ 4 files changed, 2 insertions(+), 14 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index a64d7cda..d9f09201 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,6 +30,8 @@ subprojects { group = "one.tomorrow.transactional-outbox" java { + sourceCompatibility = JavaVersion.VERSION_17 + withJavadocJar() withSourcesJar() } diff --git a/commons/build.gradle.kts b/commons/build.gradle.kts index aa76c29c..085020a5 100644 --- a/commons/build.gradle.kts +++ b/commons/build.gradle.kts @@ -1,8 +1,6 @@ // the version is set in parent/root build.gradle.kts -java.sourceCompatibility = JavaVersion.VERSION_1_8 - dependencies { implementation("com.google.protobuf:protobuf-java:${rootProject.extra["protobufVersion"]}") implementation("org.apache.kafka:kafka-clients:3.3.1") diff --git a/outbox-kafka-spring-reactive/build.gradle.kts b/outbox-kafka-spring-reactive/build.gradle.kts index 59b67b40..19eea3f5 100644 --- a/outbox-kafka-spring-reactive/build.gradle.kts +++ b/outbox-kafka-spring-reactive/build.gradle.kts @@ -1,12 +1,6 @@ // the version is set in parent/root build.gradle.kts -java { - toolchain { - languageVersion.set(JavaLanguageVersion.of(11)) - } -} - dependencies { val springVersion = "5.3.23" val springDataVersion = "2.4.5" diff --git a/outbox-kafka-spring/build.gradle.kts b/outbox-kafka-spring/build.gradle.kts index b35b9317..bd0e90ae 100644 --- a/outbox-kafka-spring/build.gradle.kts +++ b/outbox-kafka-spring/build.gradle.kts @@ -1,12 +1,6 @@ // the version is set in parent/root build.gradle.kts -java { - toolchain { - languageVersion.set(JavaLanguageVersion.of(14)) - } -} - dependencies { val springVersion = "5.3.23" val hibernateVersion = "5.6.14.Final" From 35f71df54e3b9350c9dbaaee78a217b69d030178 Mon Sep 17 00:00:00 2001 From: Martin Grotzke Date: Thu, 21 Sep 2023 01:44:06 +0200 Subject: [PATCH 8/8] Fix OutboxRepositoryIntegrationTest This is fixed on main with commit ced077d2 --- .../reactive/repository/OutboxRepositoryIntegrationTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/outbox-kafka-spring-reactive/src/test/java/one/tomorrow/transactionaloutbox/reactive/repository/OutboxRepositoryIntegrationTest.java b/outbox-kafka-spring-reactive/src/test/java/one/tomorrow/transactionaloutbox/reactive/repository/OutboxRepositoryIntegrationTest.java index d0f665ff..a8e965f1 100644 --- a/outbox-kafka-spring-reactive/src/test/java/one/tomorrow/transactionaloutbox/reactive/repository/OutboxRepositoryIntegrationTest.java +++ b/outbox-kafka-spring-reactive/src/test/java/one/tomorrow/transactionaloutbox/reactive/repository/OutboxRepositoryIntegrationTest.java @@ -71,7 +71,9 @@ void should_FindUnprocessedRecords() { // then assertThat(result.size(), is(1)); OutboxRecord foundRecord = result.get(0); - assertThat(foundRecord, samePropertyValuesAs(record2, "headers")); // ignore headers, because Json doesn't implement equals + // ignore created, because for the found record it's truncated to micros + // ignore headers, because Json doesn't implement equals + assertThat(foundRecord, samePropertyValuesAs(record2, "created", "headers")); assertThat(foundRecord.getHeadersAsMap(), is(equalTo(record2.getHeadersAsMap()))); }