From 7b7b17ca7684c3e35cf62db7e5a5908efcc82ddd Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Mon, 21 Nov 2022 10:54:37 +0000 Subject: [PATCH 1/9] Use the correct version of Logback to get the build working Something is pulling in an old version of logback, which has bindings targeting slf4j-api versions 1.7.x or earlier. Since we have moved to SLF4J 2.x, this causes an error. I believe the cause is an old version of logback in the micronaut-bom, but until that is brought up to date, this is a temporary workaround --- crac/build.gradle.kts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crac/build.gradle.kts b/crac/build.gradle.kts index 749d18b7..b19cc2c7 100644 --- a/crac/build.gradle.kts +++ b/crac/build.gradle.kts @@ -5,3 +5,12 @@ plugins { dependencies { testImplementation(mn.micronaut.serde.jackson) } + +configurations.all { + resolutionStrategy.eachDependency { + if (requested.group == "ch.qos.logback") { + useVersion("1.4.5") + because("Currently micronaut-bom is pulling in a version that requires 1.x slf4j, not 2.x") + } + } +} From 9ed638c283f349471d5938b9cf08ce519b84d4a9 Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Mon, 21 Nov 2022 12:19:13 +0000 Subject: [PATCH 2/9] Use the platform BOM to get the correct version of logback-classic --- .../io.micronaut.build.internal.crac-module.gradle | 2 ++ crac/build.gradle.kts | 9 --------- gradle/libs.versions.toml | 2 ++ 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle index 085841ce..13e62a2d 100644 --- a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle +++ b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle @@ -8,6 +8,8 @@ dependencies { compileOnly(mn.micronaut.jdbc.hikari) compileOnly(mn.micronaut.data.tx) + testImplementation(platform(libs.micronaut.platform)) + testImplementation(mn.micronaut.data.tx) testImplementation(mn.micronaut.jdbc.hikari) testImplementation(mn.micronaut.http.server.netty) diff --git a/crac/build.gradle.kts b/crac/build.gradle.kts index b19cc2c7..749d18b7 100644 --- a/crac/build.gradle.kts +++ b/crac/build.gradle.kts @@ -5,12 +5,3 @@ plugins { dependencies { testImplementation(mn.micronaut.serde.jackson) } - -configurations.all { - resolutionStrategy.eachDependency { - if (requested.group == "ch.qos.logback") { - useVersion("1.4.5") - because("Currently micronaut-bom is pulling in a version that requires 1.x slf4j, not 2.x") - } - } -} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a78f1115..e5fa4b00 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,4 +7,6 @@ spock = "2.3-groovy-4.0" managed-crac = "0.1.3" [libraries] +micronaut-platform = { module = "io.micronaut.bom:micronaut-bom", version.ref = "micronaut" } + managed-crac = { module = "io.github.crac:org-crac", version.ref = "managed-crac" } From 8c1d95a526299cc5ba531e6352cfa634dc529e10 Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Mon, 21 Nov 2022 12:23:54 +0000 Subject: [PATCH 3/9] Switch back to dependency resolution (shouldn't use platform in the module) --- .../io.micronaut.build.internal.crac-module.gradle | 2 -- crac/build.gradle.kts | 9 +++++++++ gradle/libs.versions.toml | 2 -- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle index 13e62a2d..085841ce 100644 --- a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle +++ b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle @@ -8,8 +8,6 @@ dependencies { compileOnly(mn.micronaut.jdbc.hikari) compileOnly(mn.micronaut.data.tx) - testImplementation(platform(libs.micronaut.platform)) - testImplementation(mn.micronaut.data.tx) testImplementation(mn.micronaut.jdbc.hikari) testImplementation(mn.micronaut.http.server.netty) diff --git a/crac/build.gradle.kts b/crac/build.gradle.kts index 749d18b7..b19cc2c7 100644 --- a/crac/build.gradle.kts +++ b/crac/build.gradle.kts @@ -5,3 +5,12 @@ plugins { dependencies { testImplementation(mn.micronaut.serde.jackson) } + +configurations.all { + resolutionStrategy.eachDependency { + if (requested.group == "ch.qos.logback") { + useVersion("1.4.5") + because("Currently micronaut-bom is pulling in a version that requires 1.x slf4j, not 2.x") + } + } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e5fa4b00..a78f1115 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,6 +7,4 @@ spock = "2.3-groovy-4.0" managed-crac = "0.1.3" [libraries] -micronaut-platform = { module = "io.micronaut.bom:micronaut-bom", version.ref = "micronaut" } - managed-crac = { module = "io.github.crac:org-crac", version.ref = "managed-crac" } From e40ca879f239b8db6e88b2e5b23adc5ba65ac636 Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Mon, 21 Nov 2022 13:27:55 +0000 Subject: [PATCH 4/9] Switch to using the latest build structure The old settings plugin was pulling in an old snapshot, so we got an incompatible logback. This change switched to use the latest settings plugin, and imports the catalogs for the required sql and serde libs. --- ...micronaut.build.internal.crac-module.gradle | 13 +++++++------ crac/build.gradle.kts | 13 ------------- gradle/libs.versions.toml | 18 ++++++++++++++++++ settings.gradle | 4 +++- 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle index 085841ce..10f647e1 100644 --- a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle +++ b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle @@ -5,13 +5,14 @@ plugins { dependencies { api(libs.managed.crac) compileOnly(mn.micronaut.http.server.netty) - compileOnly(mn.micronaut.jdbc.hikari) - compileOnly(mn.micronaut.data.tx) + compileOnly(mnSql.micronaut.jdbc.hikari) + compileOnly(libs.micronaut.data.tx) - testImplementation(mn.micronaut.data.tx) - testImplementation(mn.micronaut.jdbc.hikari) + testImplementation(libs.micronaut.data.tx) + testImplementation(mnSql.micronaut.jdbc.hikari) + testImplementation(mnSerde.micronaut.serde.jackson) testImplementation(mn.micronaut.http.server.netty) testImplementation(mn.groovy.sql) - testImplementation(mn.logback) - testRuntimeOnly(mn.h2) + testImplementation(libs.logback) + testRuntimeOnly(libs.h2) } diff --git a/crac/build.gradle.kts b/crac/build.gradle.kts index b19cc2c7..5d473587 100644 --- a/crac/build.gradle.kts +++ b/crac/build.gradle.kts @@ -1,16 +1,3 @@ plugins { id("io.micronaut.build.internal.crac-module") } - -dependencies { - testImplementation(mn.micronaut.serde.jackson) -} - -configurations.all { - resolutionStrategy.eachDependency { - if (requested.group == "ch.qos.logback") { - useVersion("1.4.5") - because("Currently micronaut-bom is pulling in a version that requires 1.x slf4j, not 2.x") - } - } -} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a78f1115..61fcd570 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,10 +1,28 @@ [versions] micronaut = "4.0.0-SNAPSHOT" +micronaut-data = "3.8.1" micronaut-docs = "2.0.0" +micronaut-serialization = "2.0.0-SNAPSHOT" +micronaut-sql = "5.0.0-SNAPSHOT" micronaut-test = "4.0.0-SNAPSHOT" + groovy = "4.0.6" spock = "2.3-groovy-4.0" + managed-crac = "0.1.3" +h2 = "2.1.210" +logback = "1.4.5" + [libraries] +micronaut-serde = { module = "io.micronaut.serde:micronaut-serde-bom", version.ref = "micronaut-serialization" } +micronaut-sql = { module = "io.micronaut.sql:micronaut-sql-bom", version.ref = "micronaut-sql" } + managed-crac = { module = "io.github.crac:org-crac", version.ref = "managed-crac" } + +#Should switch to importing the data catalog once we get a 4.0.0 based build +micronaut-data-tx = { module = "io.micronaut.data:micronaut-data-tx", version.ref = "micronaut-data" } + +logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } +h2 = { module = "com.h2database:h2", version.ref = "h2" } + diff --git a/settings.gradle b/settings.gradle index a99bf0f7..45b7aced 100644 --- a/settings.gradle +++ b/settings.gradle @@ -6,7 +6,7 @@ pluginManagement { } plugins { - id 'io.micronaut.build.shared.settings' version '6.0.2' + id 'io.micronaut.build.shared.settings' version '6.1.0' } // Required for 4.0.0-SNAPSHOT, can be removed after @@ -24,4 +24,6 @@ include 'crac-bom' micronautBuild { importMicronautCatalog() + importMicronautCatalog("micronaut-serde") + importMicronautCatalog("micronaut-sql") } From 75d7a6c3ba30b311bcb7fdd2275fd7cb09666bfa Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Mon, 21 Nov 2022 13:56:59 +0000 Subject: [PATCH 5/9] Use h2 from sql --- .../groovy/io.micronaut.build.internal.crac-module.gradle | 2 +- gradle/libs.versions.toml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle index 10f647e1..3c09832f 100644 --- a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle +++ b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle @@ -14,5 +14,5 @@ dependencies { testImplementation(mn.micronaut.http.server.netty) testImplementation(mn.groovy.sql) testImplementation(libs.logback) - testRuntimeOnly(libs.h2) + testRuntimeOnly(mnSql.h2) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 61fcd570..26e0a47f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ spock = "2.3-groovy-4.0" managed-crac = "0.1.3" -h2 = "2.1.210" +# Temporary until https://github.com/micronaut-projects/micronaut-core/pull/8388 logback = "1.4.5" [libraries] @@ -23,6 +23,6 @@ managed-crac = { module = "io.github.crac:org-crac", version.ref = "managed-crac #Should switch to importing the data catalog once we get a 4.0.0 based build micronaut-data-tx = { module = "io.micronaut.data:micronaut-data-tx", version.ref = "micronaut-data" } +# Temporary until https://github.com/micronaut-projects/micronaut-core/pull/8388 logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } -h2 = { module = "com.h2database:h2", version.ref = "h2" } From c12239269f15e344ba7ccb3f4bc3389262247527 Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Tue, 22 Nov 2022 09:56:05 +0000 Subject: [PATCH 6/9] Import data catalog --- .../groovy/io.micronaut.build.internal.crac-module.gradle | 4 ++-- gradle/libs.versions.toml | 4 +--- settings.gradle | 3 ++- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle index 3c09832f..597e1e55 100644 --- a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle +++ b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle @@ -6,9 +6,9 @@ dependencies { api(libs.managed.crac) compileOnly(mn.micronaut.http.server.netty) compileOnly(mnSql.micronaut.jdbc.hikari) - compileOnly(libs.micronaut.data.tx) + compileOnly(mnData.micronaut.data.tx) - testImplementation(libs.micronaut.data.tx) + testImplementation(mnData.micronaut.data.tx) testImplementation(mnSql.micronaut.jdbc.hikari) testImplementation(mnSerde.micronaut.serde.jackson) testImplementation(mn.micronaut.http.server.netty) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 26e0a47f..172a36f3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,12 +17,10 @@ logback = "1.4.5" [libraries] micronaut-serde = { module = "io.micronaut.serde:micronaut-serde-bom", version.ref = "micronaut-serialization" } micronaut-sql = { module = "io.micronaut.sql:micronaut-sql-bom", version.ref = "micronaut-sql" } +micronaut-data = { module = "io.micronaut.data:micronaut-data-bom", version.ref = "micronaut-data" } managed-crac = { module = "io.github.crac:org-crac", version.ref = "managed-crac" } -#Should switch to importing the data catalog once we get a 4.0.0 based build -micronaut-data-tx = { module = "io.micronaut.data:micronaut-data-tx", version.ref = "micronaut-data" } - # Temporary until https://github.com/micronaut-projects/micronaut-core/pull/8388 logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } diff --git a/settings.gradle b/settings.gradle index 45b7aced..18fa6fb6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -13,7 +13,7 @@ plugins { dependencyResolutionManagement { repositories { maven { url = "https://s01.oss.sonatype.org/content/repositories/snapshots" } - mavenLocal() + mavenCentral() } } @@ -24,6 +24,7 @@ include 'crac-bom' micronautBuild { importMicronautCatalog() + importMicronautCatalog("micronaut-data") importMicronautCatalog("micronaut-serde") importMicronautCatalog("micronaut-sql") } From e4bb7e3c47c2d46cb0b14db7919b901789256e26 Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Tue, 22 Nov 2022 10:01:12 +0000 Subject: [PATCH 7/9] Use helper methods --- settings.gradle | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/settings.gradle b/settings.gradle index 18fa6fb6..1da4985b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -9,20 +9,14 @@ plugins { id 'io.micronaut.build.shared.settings' version '6.1.0' } -// Required for 4.0.0-SNAPSHOT, can be removed after -dependencyResolutionManagement { - repositories { - maven { url = "https://s01.oss.sonatype.org/content/repositories/snapshots" } - mavenCentral() - } -} - rootProject.name = 'crac-parent' include 'crac' include 'crac-bom' micronautBuild { + // Required for 4.0.0-SNAPSHOT, can be removed after + addSnapshotRepository() importMicronautCatalog() importMicronautCatalog("micronaut-data") importMicronautCatalog("micronaut-serde") From a2ae182353cf805e56bc918c72b85be343d5217e Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Tue, 13 Dec 2022 12:05:26 +0000 Subject: [PATCH 8/9] 6.1.1 settings plugin --- config/checkstyle/checkstyle.xml | 6 ++++-- settings.gradle | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index e8f5b18f..c1b8e128 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -96,11 +96,13 @@ - + - + + + diff --git a/settings.gradle b/settings.gradle index 1da4985b..df12dfe5 100644 --- a/settings.gradle +++ b/settings.gradle @@ -6,7 +6,7 @@ pluginManagement { } plugins { - id 'io.micronaut.build.shared.settings' version '6.1.0' + id 'io.micronaut.build.shared.settings' version '6.1.1' } rootProject.name = 'crac-parent' From 775bd5f0ca1ee11af139a1e9df6a33862291cfbb Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Tue, 13 Dec 2022 12:26:24 +0000 Subject: [PATCH 9/9] Use logback from core --- .../groovy/io.micronaut.build.internal.crac-module.gradle | 2 +- gradle/libs.versions.toml | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle index 597e1e55..a8555f12 100644 --- a/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle +++ b/buildSrc/src/main/groovy/io.micronaut.build.internal.crac-module.gradle @@ -13,6 +13,6 @@ dependencies { testImplementation(mnSerde.micronaut.serde.jackson) testImplementation(mn.micronaut.http.server.netty) testImplementation(mn.groovy.sql) - testImplementation(libs.logback) + testImplementation(mn.logback.classic) testRuntimeOnly(mnSql.h2) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 172a36f3..e09536aa 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,9 +11,6 @@ spock = "2.3-groovy-4.0" managed-crac = "0.1.3" -# Temporary until https://github.com/micronaut-projects/micronaut-core/pull/8388 -logback = "1.4.5" - [libraries] micronaut-serde = { module = "io.micronaut.serde:micronaut-serde-bom", version.ref = "micronaut-serialization" } micronaut-sql = { module = "io.micronaut.sql:micronaut-sql-bom", version.ref = "micronaut-sql" } @@ -21,6 +18,3 @@ micronaut-data = { module = "io.micronaut.data:micronaut-data-bom", version.ref managed-crac = { module = "io.github.crac:org-crac", version.ref = "managed-crac" } -# Temporary until https://github.com/micronaut-projects/micronaut-core/pull/8388 -logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } -