From b13944df996bef8aa9dceba191b4954e8b70270e Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sun, 6 Oct 2024 20:29:28 +0200 Subject: [PATCH 01/19] chore: switch to spring boot bom dependency management replaces io.spring.dependency-management plugin --- build.gradle | 1 - .../build.gradle | 10 +++---- .../springwolf-generic-binding/build.gradle | 12 ++++----- .../springwolf-json-schema/build.gradle | 12 ++++----- .../build.gradle | 11 ++++---- springwolf-asyncapi/build.gradle | 7 ++--- .../springwolf-amqp-binding/build.gradle | 8 +++--- .../build.gradle | 8 +++--- .../springwolf-jms-binding/build.gradle | 8 +++--- .../springwolf-kafka-binding/build.gradle | 8 +++--- .../springwolf-sns-binding/build.gradle | 8 +++--- .../springwolf-sqs-binding/build.gradle | 8 +++--- .../springwolf-stomp-binding/build.gradle | 8 +++--- springwolf-core/build.gradle | 12 ++++++--- .../springwolf-amqp-example/build.gradle | 9 ++++--- .../build.gradle | 26 +++++++------------ .../springwolf-jms-example/build.gradle | 9 ++++--- .../springwolf-kafka-example/build.gradle | 12 +++++---- .../springwolf-sns-example/build.gradle | 16 +++++------- .../springwolf-sqs-example/build.gradle | 16 +++++------- .../springwolf-stomp-example/build.gradle | 8 +++--- .../springwolf-amqp-plugin/build.gradle | 11 +++++--- .../build.gradle | 20 +++++--------- .../springwolf-jms-plugin/build.gradle | 11 +++++--- .../springwolf-kafka-plugin/build.gradle | 11 +++++--- .../springwolf-sns-plugin/build.gradle | 23 ++++++++-------- .../springwolf-sqs-plugin/build.gradle | 23 ++++++++-------- .../springwolf-stomp-plugin/build.gradle | 11 +++++--- 28 files changed, 172 insertions(+), 155 deletions(-) diff --git a/build.gradle b/build.gradle index 2332135a1..0e30a3666 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,6 @@ buildscript { plugins { id 'io.github.gradle-nexus.publish-plugin' version '2.0.0' id 'ca.cutterslade.analyze' version '1.10.0' - id 'io.spring.dependency-management' version '1.1.6' apply false id 'org.springframework.boot' version '3.3.4' apply false id 'org.owasp.dependencycheck' version '10.0.4' id 'com.diffplug.spotless' version '6.25.0' diff --git a/springwolf-add-ons/springwolf-common-model-converters/build.gradle b/springwolf-add-ons/springwolf-common-model-converters/build.gradle index 866068e6d..dea44ddb5 100644 --- a/springwolf-add-ons/springwolf-common-model-converters/build.gradle +++ b/springwolf-add-ons/springwolf-common-model-converters/build.gradle @@ -1,14 +1,14 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}" @@ -20,8 +20,8 @@ dependencies { implementation "javax.money:money-api:${moneyApiVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-add-ons/springwolf-generic-binding/build.gradle b/springwolf-add-ons/springwolf-generic-binding/build.gradle index 2861be91c..6d47795bc 100644 --- a/springwolf-add-ons/springwolf-generic-binding/build.gradle +++ b/springwolf-add-ons/springwolf-generic-binding/build.gradle @@ -1,19 +1,19 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-core") api project(":springwolf-asyncapi") implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" @@ -24,9 +24,9 @@ dependencies { testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testImplementation 'org.junit.jupiter:junit-jupiter-params' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testImplementation "org.junit.jupiter:junit-jupiter-params:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-add-ons/springwolf-json-schema/build.gradle b/springwolf-add-ons/springwolf-json-schema/build.gradle index ad0db0a9d..5bed60206 100644 --- a/springwolf-add-ons/springwolf-json-schema/build.gradle +++ b/springwolf-add-ons/springwolf-json-schema/build.gradle @@ -1,13 +1,12 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-core") api project(":springwolf-asyncapi") @@ -22,6 +21,7 @@ dependencies { implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" annotationProcessor "org.projectlombok:lombok:${lombokVersion}" @@ -30,9 +30,9 @@ dependencies { testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testImplementation 'org.junit.jupiter:junit-jupiter-params' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testImplementation "org.junit.jupiter:junit-jupiter-params:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" testImplementation "com.networknt:json-schema-validator:${jsonSchemaValidator}" diff --git a/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle b/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle index 1281fc9b1..02b6896be 100644 --- a/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle +++ b/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle @@ -1,3 +1,5 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + buildscript { ext { kotlinVersion = '2.0.20' @@ -9,18 +11,16 @@ plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' id "org.jetbrains.kotlin.jvm" version "${kotlinVersion}" id 'org.jetbrains.kotlin.plugin.serialization' version "${kotlinVersion}" } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-core") + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework.boot:spring-boot-autoconfigure" @@ -32,13 +32,12 @@ dependencies { implementation "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:${kotlinxSerializationVersion}" implementation "org.jetbrains.kotlin:kotlin-reflect" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter" + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" testImplementation "net.javacrumbs.json-unit:json-unit-assertj:${jsonUnitAssertJVersion}" - } jar { diff --git a/springwolf-asyncapi/build.gradle b/springwolf-asyncapi/build.gradle index 939a918ef..9ac8f8951 100644 --- a/springwolf-asyncapi/build.gradle +++ b/springwolf-asyncapi/build.gradle @@ -2,12 +2,9 @@ plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { implementation "io.swagger.core.v3:swagger-core-jakarta:${swaggerVersion}" implementation "jakarta.validation:jakarta.validation-api" @@ -30,8 +27,8 @@ dependencies { testImplementation "net.javacrumbs.json-unit:json-unit-assertj:${jsonUnitAssertJVersion}" testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-bindings/springwolf-amqp-binding/build.gradle b/springwolf-bindings/springwolf-amqp-binding/build.gradle index 280e0520a..eb39401ad 100644 --- a/springwolf-bindings/springwolf-amqp-binding/build.gradle +++ b/springwolf-bindings/springwolf-amqp-binding/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -12,6 +13,7 @@ dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework.boot:spring-boot-autoconfigure" @@ -22,8 +24,8 @@ dependencies { testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter" + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle b/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle index 6c06a4e00..839ce6fb6 100644 --- a/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle +++ b/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -12,6 +13,7 @@ dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework.boot:spring-boot-autoconfigure" @@ -23,8 +25,8 @@ dependencies { testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter" + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-bindings/springwolf-jms-binding/build.gradle b/springwolf-bindings/springwolf-jms-binding/build.gradle index ee9f15a04..58f96f54f 100644 --- a/springwolf-bindings/springwolf-jms-binding/build.gradle +++ b/springwolf-bindings/springwolf-jms-binding/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -12,6 +13,7 @@ dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework.boot:spring-boot-autoconfigure" @@ -22,8 +24,8 @@ dependencies { testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter" + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-bindings/springwolf-kafka-binding/build.gradle b/springwolf-bindings/springwolf-kafka-binding/build.gradle index 89d2ebd46..9cf730a04 100644 --- a/springwolf-bindings/springwolf-kafka-binding/build.gradle +++ b/springwolf-bindings/springwolf-kafka-binding/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -12,6 +13,7 @@ dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework.boot:spring-boot-autoconfigure" @@ -24,8 +26,8 @@ dependencies { testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter" + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-bindings/springwolf-sns-binding/build.gradle b/springwolf-bindings/springwolf-sns-binding/build.gradle index d5dba67a0..a918df42a 100644 --- a/springwolf-bindings/springwolf-sns-binding/build.gradle +++ b/springwolf-bindings/springwolf-sns-binding/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -12,6 +13,7 @@ dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework.boot:spring-boot-autoconfigure" @@ -22,8 +24,8 @@ dependencies { testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter" + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-bindings/springwolf-sqs-binding/build.gradle b/springwolf-bindings/springwolf-sqs-binding/build.gradle index 536521e71..75a8bc727 100644 --- a/springwolf-bindings/springwolf-sqs-binding/build.gradle +++ b/springwolf-bindings/springwolf-sqs-binding/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -12,6 +13,7 @@ dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework.boot:spring-boot-autoconfigure" @@ -22,8 +24,8 @@ dependencies { testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter" + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-bindings/springwolf-stomp-binding/build.gradle b/springwolf-bindings/springwolf-stomp-binding/build.gradle index c67054754..079ab0f1e 100644 --- a/springwolf-bindings/springwolf-stomp-binding/build.gradle +++ b/springwolf-bindings/springwolf-stomp-binding/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -12,6 +13,7 @@ dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework.boot:spring-boot-autoconfigure" @@ -22,8 +24,8 @@ dependencies { testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-core/build.gradle b/springwolf-core/build.gradle index bf84dc3a2..cff9440b3 100644 --- a/springwolf-core/build.gradle +++ b/springwolf-core/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -19,6 +20,9 @@ dependencies { implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) + compileOnly platform(SpringBootPlugin.BOM_COORDINATES) + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework.boot:spring-boot" implementation "org.springframework:spring-web" @@ -54,9 +58,9 @@ dependencies { testImplementation "org.springframework.boot:spring-boot-test" testImplementation "org.springframework:spring-test" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testImplementation "org.junit.jupiter:junit-jupiter-params" - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testImplementation "org.junit.jupiter:junit-jupiter-params:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" } diff --git a/springwolf-examples/springwolf-amqp-example/build.gradle b/springwolf-examples/springwolf-amqp-example/build.gradle index 837afbb43..75bc3c503 100644 --- a/springwolf-examples/springwolf-amqp-example/build.gradle +++ b/springwolf-examples/springwolf-amqp-example/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' id 'com.bmuschko.docker-spring-boot-application' @@ -26,9 +27,11 @@ dependencies { implementation "org.springframework.amqp:spring-rabbit" permitUsedUndeclared 'com.rabbitmq:amqp-client' + implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" implementation "io.swagger.core.v3:swagger-annotations-jakarta:${swaggerVersion}" + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework.amqp:spring-amqp" implementation "org.springframework.boot:spring-boot-autoconfigure" implementation "org.springframework.boot:spring-boot" @@ -50,8 +53,8 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" testCompileOnly "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } docker { diff --git a/springwolf-examples/springwolf-cloud-stream-example/build.gradle b/springwolf-examples/springwolf-cloud-stream-example/build.gradle index 949e592eb..13f6593ad 100644 --- a/springwolf-examples/springwolf-cloud-stream-example/build.gradle +++ b/springwolf-examples/springwolf-cloud-stream-example/build.gradle @@ -1,23 +1,15 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' id 'com.bmuschko.docker-spring-boot-application' } -ext { - set('springCloudVersion', "2022.0.1") -} - -dependencyManagement { - imports { - mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" - } -} - ext['junit-jupiter.version'] = "${junitJupiterVersion}" +ext['springCloudVersion'] = "2022.0.1" dependencies { permitUnusedDeclared(implementation project(":springwolf-core")) @@ -28,16 +20,18 @@ dependencies { annotationProcessor project(":springwolf-plugins:springwolf-cloud-stream") runtimeOnly project(":springwolf-ui") - runtimeOnly "org.springframework.boot:spring-boot-starter-web" - runtimeOnly "org.springframework.boot:spring-boot-starter-actuator" - runtimeOnly "org.springframework.cloud:spring-cloud-starter-stream-kafka" implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" implementation "io.swagger.core.v3:swagger-annotations-jakarta:${swaggerVersion}" + implementation platform(SpringBootPlugin.BOM_COORDINATES) + implementation platform("org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion") implementation "org.springframework.boot:spring-boot-autoconfigure" implementation "org.springframework.boot:spring-boot" implementation "org.springframework:spring-context" + runtimeOnly "org.springframework.boot:spring-boot-starter-web" + runtimeOnly "org.springframework.boot:spring-boot-starter-actuator" + runtimeOnly "org.springframework.cloud:spring-cloud-starter-stream-kafka" compileOnly "org.projectlombok:lombok:${lombokVersion}" @@ -56,8 +50,8 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" testCompileOnly "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } docker { diff --git a/springwolf-examples/springwolf-jms-example/build.gradle b/springwolf-examples/springwolf-jms-example/build.gradle index 499fad783..940bbcf0d 100644 --- a/springwolf-examples/springwolf-jms-example/build.gradle +++ b/springwolf-examples/springwolf-jms-example/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' id 'com.bmuschko.docker-spring-boot-application' @@ -29,6 +30,8 @@ dependencies { implementation "io.swagger.core.v3:swagger-annotations-jakarta:${swaggerVersion}" + compileOnly platform(SpringBootPlugin.BOM_COORDINATES) + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-jms" implementation "org.springframework.boot:spring-boot" @@ -50,8 +53,8 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" testCompileOnly "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } docker { diff --git a/springwolf-examples/springwolf-kafka-example/build.gradle b/springwolf-examples/springwolf-kafka-example/build.gradle index d023f1d74..458be32fe 100644 --- a/springwolf-examples/springwolf-kafka-example/build.gradle +++ b/springwolf-examples/springwolf-kafka-example/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' id 'com.bmuschko.docker-spring-boot-application' @@ -31,6 +32,7 @@ dependencies { runtimeOnly "org.springframework.boot:spring-boot-starter-web" + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-beans" implementation "org.springframework:spring-context" implementation "org.springframework:spring-messaging" @@ -81,14 +83,14 @@ dependencies { permitTestUnusedDeclared "org.apache.kafka:kafka-clients:${kafkaClientsVersion}:test@jar" - testImplementation("org.springframework.boot:spring-boot-starter-actuator") - permitTestUnusedDeclared("org.springframework.boot:spring-boot-starter-actuator") + testImplementation("org.springframework.boot:spring-boot-starter-actuator:$SpringBootPlugin.SPRING_BOOT_VERSION") + permitTestUnusedDeclared("org.springframework.boot:spring-boot-starter-actuator:$SpringBootPlugin.SPRING_BOOT_VERSION") testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" testCompileOnly "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } docker { diff --git a/springwolf-examples/springwolf-sns-example/build.gradle b/springwolf-examples/springwolf-sns-example/build.gradle index 7034443fa..37a3d1876 100644 --- a/springwolf-examples/springwolf-sns-example/build.gradle +++ b/springwolf-examples/springwolf-sns-example/build.gradle @@ -1,20 +1,16 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' id 'com.bmuschko.docker-spring-boot-application' } -dependencyManagement { - imports { - mavenBom "io.awspring.cloud:spring-cloud-aws-dependencies:3.2.0" - } -} - ext['junit-jupiter.version'] = "${junitJupiterVersion}" +ext['springCloudAwsVersion'] = "3.2.0" dependencies { implementation project(":springwolf-core") @@ -34,9 +30,11 @@ dependencies { implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" implementation "io.swagger.core.v3:swagger-annotations-jakarta:${swaggerVersion}" + implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:$springCloudAwsVersion") implementation 'io.awspring.cloud:spring-cloud-aws-sns' implementation 'io.awspring.cloud:spring-cloud-aws-starter-sns' permitUnusedDeclared 'io.awspring.cloud:spring-cloud-aws-starter-sns' + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework.boot:spring-boot-autoconfigure" implementation "org.springframework.boot:spring-boot" implementation "org.springframework:spring-context" @@ -54,8 +52,8 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" testCompileOnly "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } docker { diff --git a/springwolf-examples/springwolf-sqs-example/build.gradle b/springwolf-examples/springwolf-sqs-example/build.gradle index 241d19a57..033907e42 100644 --- a/springwolf-examples/springwolf-sqs-example/build.gradle +++ b/springwolf-examples/springwolf-sqs-example/build.gradle @@ -1,20 +1,16 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' id 'com.bmuschko.docker-spring-boot-application' } -dependencyManagement { - imports { - mavenBom "io.awspring.cloud:spring-cloud-aws-dependencies:3.2.0" - } -} - ext['junit-jupiter.version'] = "${junitJupiterVersion}" +ext['springCloudAwsVersion'] = "3.2.0" dependencies { implementation project(":springwolf-core") @@ -33,9 +29,11 @@ dependencies { implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" implementation "io.swagger.core.v3:swagger-annotations:${swaggerVersion}" + implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:$springCloudAwsVersion") implementation 'io.awspring.cloud:spring-cloud-aws-sqs' implementation 'io.awspring.cloud:spring-cloud-aws-starter-sqs' permitUnusedDeclared 'io.awspring.cloud:spring-cloud-aws-starter-sqs' + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework.boot:spring-boot-autoconfigure" implementation "org.springframework.boot:spring-boot" implementation "org.springframework:spring-context" @@ -54,8 +52,8 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" testCompileOnly "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } diff --git a/springwolf-examples/springwolf-stomp-example/build.gradle b/springwolf-examples/springwolf-stomp-example/build.gradle index 5c4fe62f5..e150702f2 100644 --- a/springwolf-examples/springwolf-stomp-example/build.gradle +++ b/springwolf-examples/springwolf-stomp-example/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' id 'com.bmuschko.docker-spring-boot-application' @@ -22,6 +23,7 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" compileOnly "org.projectlombok:lombok:${lombokVersion}" + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-jcl" implementation "org.springframework:spring-web" implementation "org.springframework:spring-websocket" @@ -51,8 +53,8 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" testCompileOnly "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } docker { diff --git a/springwolf-plugins/springwolf-amqp-plugin/build.gradle b/springwolf-plugins/springwolf-amqp-plugin/build.gradle index 7db4a3bcb..222f8e296 100644 --- a/springwolf-plugins/springwolf-amqp-plugin/build.gradle +++ b/springwolf-plugins/springwolf-amqp-plugin/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -16,6 +17,8 @@ dependencies { implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework:spring-web" @@ -29,7 +32,7 @@ dependencies { implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" - annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" + annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" @@ -44,8 +47,8 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } jar { diff --git a/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle b/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle index dce7fd588..a86f60896 100644 --- a/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle +++ b/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle @@ -1,22 +1,14 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } -ext { - set('springCloudVersion', "2022.0.1") -} - -dependencyManagement { - imports { - mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" - } -} - ext['junit-jupiter.version'] = "${junitJupiterVersion}" +ext['springCloudVersion'] = "2022.0.1" dependencies { api project(":springwolf-asyncapi") @@ -24,6 +16,8 @@ dependencies { implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation platform(SpringBootPlugin.BOM_COORDINATES) + implementation platform("org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion") implementation "org.springframework:spring-context" implementation "org.springframework.cloud:spring-cloud-stream" implementation "org.springframework.boot:spring-boot-autoconfigure" @@ -43,8 +37,8 @@ dependencies { testImplementation "org.springframework:spring-test" testImplementation "org.springframework:spring-messaging" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } jar { diff --git a/springwolf-plugins/springwolf-jms-plugin/build.gradle b/springwolf-plugins/springwolf-jms-plugin/build.gradle index b58753e5a..b9fa23c1a 100644 --- a/springwolf-plugins/springwolf-jms-plugin/build.gradle +++ b/springwolf-plugins/springwolf-jms-plugin/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -21,6 +22,8 @@ dependencies { runtimeOnly "org.apache.activemq:activemq-broker" + annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework:spring-jms" @@ -32,7 +35,7 @@ dependencies { annotationProcessor "org.projectlombok:lombok:${lombokVersion}" compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" + annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' testRuntimeOnly "org.springframework.boot:spring-boot-starter-web" @@ -52,8 +55,8 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" testCompileOnly "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } jar { diff --git a/springwolf-plugins/springwolf-kafka-plugin/build.gradle b/springwolf-plugins/springwolf-kafka-plugin/build.gradle index 008af29e9..cf6438b87 100644 --- a/springwolf-plugins/springwolf-kafka-plugin/build.gradle +++ b/springwolf-plugins/springwolf-kafka-plugin/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -21,6 +22,8 @@ dependencies { implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework:spring-web" @@ -33,7 +36,7 @@ dependencies { annotationProcessor "org.projectlombok:lombok:${lombokVersion}" compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" + annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" testCompileOnly "org.projectlombok:lombok:${lombokVersion}" @@ -54,8 +57,8 @@ dependencies { testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } jar { diff --git a/springwolf-plugins/springwolf-sns-plugin/build.gradle b/springwolf-plugins/springwolf-sns-plugin/build.gradle index 020424ac1..0931e8635 100644 --- a/springwolf-plugins/springwolf-sns-plugin/build.gradle +++ b/springwolf-plugins/springwolf-sns-plugin/build.gradle @@ -1,18 +1,14 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } -dependencyManagement { - imports { - mavenBom "io.awspring.cloud:spring-cloud-aws-dependencies:3.2.0" - } -} - ext['junit-jupiter.version'] = "${junitJupiterVersion}" +ext['springCloudAwsVersion'] = "3.2.0" dependencies { api project(":springwolf-core") @@ -22,10 +18,13 @@ dependencies { implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:$springCloudAwsVersion") implementation 'io.awspring.cloud:spring-cloud-aws-sns' - implementation 'io.awspring.cloud:spring-cloud-aws-starter-sns' - permitUnusedDeclared 'io.awspring.cloud:spring-cloud-aws-starter-sns' + implementation "io.awspring.cloud:spring-cloud-aws-starter-sns:$springCloudAwsVersion" + permitUnusedDeclared "io.awspring.cloud:spring-cloud-aws-starter-sns:$springCloudAwsVersion" + annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-messaging" implementation "org.springframework:spring-web" @@ -35,7 +34,7 @@ dependencies { annotationProcessor "org.projectlombok:lombok:${lombokVersion}" compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" + annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" @@ -48,8 +47,8 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } jar { diff --git a/springwolf-plugins/springwolf-sqs-plugin/build.gradle b/springwolf-plugins/springwolf-sqs-plugin/build.gradle index 26554b6c6..54b0667ff 100644 --- a/springwolf-plugins/springwolf-sqs-plugin/build.gradle +++ b/springwolf-plugins/springwolf-sqs-plugin/build.gradle @@ -1,18 +1,14 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } -dependencyManagement { - imports { - mavenBom "io.awspring.cloud:spring-cloud-aws-dependencies:3.2.0" - } -} - ext['junit-jupiter.version'] = "${junitJupiterVersion}" +ext['springCloudAwsVersion'] = "3.2.0" dependencies { api project(":springwolf-asyncapi") @@ -23,10 +19,13 @@ dependencies { implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:$springCloudAwsVersion") implementation 'io.awspring.cloud:spring-cloud-aws-sqs' - implementation 'io.awspring.cloud:spring-cloud-aws-starter-sqs' - permitUnusedDeclared 'io.awspring.cloud:spring-cloud-aws-starter-sqs' + implementation "io.awspring.cloud:spring-cloud-aws-starter-sqs:$springCloudAwsVersion" + permitUnusedDeclared "io.awspring.cloud:spring-cloud-aws-starter-sqs:$springCloudAwsVersion" + annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework:spring-web" @@ -36,7 +35,7 @@ dependencies { annotationProcessor "org.projectlombok:lombok:${lombokVersion}" compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" + annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" @@ -49,8 +48,8 @@ dependencies { testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } jar { diff --git a/springwolf-plugins/springwolf-stomp-plugin/build.gradle b/springwolf-plugins/springwolf-stomp-plugin/build.gradle index 63dfd654f..54ecc03b5 100644 --- a/springwolf-plugins/springwolf-stomp-plugin/build.gradle +++ b/springwolf-plugins/springwolf-stomp-plugin/build.gradle @@ -1,8 +1,9 @@ +import org.springframework.boot.gradle.plugin.SpringBootPlugin + plugins { id 'java-library' id 'org.springframework.boot' - id 'io.spring.dependency-management' id 'ca.cutterslade.analyze' } @@ -20,6 +21,8 @@ dependencies { implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) + implementation platform(SpringBootPlugin.BOM_COORDINATES) implementation "org.springframework:spring-context" implementation "org.springframework:spring-core" implementation "org.springframework:spring-messaging" @@ -28,7 +31,7 @@ dependencies { implementation "org.springframework.boot:spring-boot-autoconfigure" implementation "org.springframework.boot:spring-boot-starter-websocket" permitUnusedDeclared("org.springframework.boot:spring-boot-starter-websocket") - annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" + annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' annotationProcessor "org.projectlombok:lombok:${lombokVersion}" compileOnly "org.projectlombok:lombok:${lombokVersion}" @@ -40,8 +43,8 @@ dependencies { testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter' + testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" + testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" } jar { From 566c358bb2e7caf2580dcd59a7b05f7dcb9987e8 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sun, 6 Oct 2024 20:52:09 +0200 Subject: [PATCH 02/19] chore: remove junit variable in build.gradle --- springwolf-bindings/springwolf-amqp-binding/build.gradle | 2 -- .../springwolf-googlepubsub-binding/build.gradle | 2 -- springwolf-bindings/springwolf-jms-binding/build.gradle | 2 -- springwolf-bindings/springwolf-kafka-binding/build.gradle | 2 -- springwolf-bindings/springwolf-sns-binding/build.gradle | 2 -- springwolf-bindings/springwolf-sqs-binding/build.gradle | 2 -- springwolf-bindings/springwolf-stomp-binding/build.gradle | 2 -- springwolf-core/build.gradle | 2 -- springwolf-examples/springwolf-amqp-example/build.gradle | 2 -- .../springwolf-cloud-stream-example/build.gradle | 1 - springwolf-examples/springwolf-jms-example/build.gradle | 2 -- springwolf-examples/springwolf-kafka-example/build.gradle | 2 -- springwolf-examples/springwolf-sns-example/build.gradle | 1 - springwolf-examples/springwolf-sqs-example/build.gradle | 1 - springwolf-examples/springwolf-stomp-example/build.gradle | 2 -- springwolf-plugins/springwolf-amqp-plugin/build.gradle | 2 -- springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle | 1 - springwolf-plugins/springwolf-jms-plugin/build.gradle | 2 -- springwolf-plugins/springwolf-kafka-plugin/build.gradle | 2 -- springwolf-plugins/springwolf-sns-plugin/build.gradle | 1 - springwolf-plugins/springwolf-sqs-plugin/build.gradle | 1 - springwolf-plugins/springwolf-stomp-plugin/build.gradle | 2 -- 22 files changed, 38 deletions(-) diff --git a/springwolf-bindings/springwolf-amqp-binding/build.gradle b/springwolf-bindings/springwolf-amqp-binding/build.gradle index eb39401ad..c4af520f4 100644 --- a/springwolf-bindings/springwolf-amqp-binding/build.gradle +++ b/springwolf-bindings/springwolf-amqp-binding/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") diff --git a/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle b/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle index 839ce6fb6..7cc250ba1 100644 --- a/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle +++ b/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") diff --git a/springwolf-bindings/springwolf-jms-binding/build.gradle b/springwolf-bindings/springwolf-jms-binding/build.gradle index 58f96f54f..2744f7d24 100644 --- a/springwolf-bindings/springwolf-jms-binding/build.gradle +++ b/springwolf-bindings/springwolf-jms-binding/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") diff --git a/springwolf-bindings/springwolf-kafka-binding/build.gradle b/springwolf-bindings/springwolf-kafka-binding/build.gradle index 9cf730a04..659051d37 100644 --- a/springwolf-bindings/springwolf-kafka-binding/build.gradle +++ b/springwolf-bindings/springwolf-kafka-binding/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") diff --git a/springwolf-bindings/springwolf-sns-binding/build.gradle b/springwolf-bindings/springwolf-sns-binding/build.gradle index a918df42a..a251a8528 100644 --- a/springwolf-bindings/springwolf-sns-binding/build.gradle +++ b/springwolf-bindings/springwolf-sns-binding/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") diff --git a/springwolf-bindings/springwolf-sqs-binding/build.gradle b/springwolf-bindings/springwolf-sqs-binding/build.gradle index 75a8bc727..1b1b6685e 100644 --- a/springwolf-bindings/springwolf-sqs-binding/build.gradle +++ b/springwolf-bindings/springwolf-sqs-binding/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") diff --git a/springwolf-bindings/springwolf-stomp-binding/build.gradle b/springwolf-bindings/springwolf-stomp-binding/build.gradle index 079ab0f1e..e4f5fbb35 100644 --- a/springwolf-bindings/springwolf-stomp-binding/build.gradle +++ b/springwolf-bindings/springwolf-stomp-binding/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") diff --git a/springwolf-core/build.gradle b/springwolf-core/build.gradle index cff9440b3..ac20fb977 100644 --- a/springwolf-core/build.gradle +++ b/springwolf-core/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") diff --git a/springwolf-examples/springwolf-amqp-example/build.gradle b/springwolf-examples/springwolf-amqp-example/build.gradle index 75bc3c503..63b5ffcc9 100644 --- a/springwolf-examples/springwolf-amqp-example/build.gradle +++ b/springwolf-examples/springwolf-amqp-example/build.gradle @@ -9,8 +9,6 @@ plugins { id 'com.bmuschko.docker-spring-boot-application' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { implementation project(":springwolf-core") implementation project(":springwolf-plugins:springwolf-amqp") diff --git a/springwolf-examples/springwolf-cloud-stream-example/build.gradle b/springwolf-examples/springwolf-cloud-stream-example/build.gradle index 13f6593ad..dc5d160be 100644 --- a/springwolf-examples/springwolf-cloud-stream-example/build.gradle +++ b/springwolf-examples/springwolf-cloud-stream-example/build.gradle @@ -8,7 +8,6 @@ plugins { id 'com.bmuschko.docker-spring-boot-application' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" ext['springCloudVersion'] = "2022.0.1" dependencies { diff --git a/springwolf-examples/springwolf-jms-example/build.gradle b/springwolf-examples/springwolf-jms-example/build.gradle index 940bbcf0d..b44c64896 100644 --- a/springwolf-examples/springwolf-jms-example/build.gradle +++ b/springwolf-examples/springwolf-jms-example/build.gradle @@ -9,8 +9,6 @@ plugins { id 'com.bmuschko.docker-spring-boot-application' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { implementation project(":springwolf-core") implementation project(":springwolf-add-ons:springwolf-generic-binding") diff --git a/springwolf-examples/springwolf-kafka-example/build.gradle b/springwolf-examples/springwolf-kafka-example/build.gradle index 458be32fe..7f2e56c52 100644 --- a/springwolf-examples/springwolf-kafka-example/build.gradle +++ b/springwolf-examples/springwolf-kafka-example/build.gradle @@ -13,8 +13,6 @@ plugins { id 'com.google.protobuf' version '0.9.4' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { implementation project(":springwolf-core") implementation project(":springwolf-plugins:springwolf-kafka") diff --git a/springwolf-examples/springwolf-sns-example/build.gradle b/springwolf-examples/springwolf-sns-example/build.gradle index 37a3d1876..c1375e2de 100644 --- a/springwolf-examples/springwolf-sns-example/build.gradle +++ b/springwolf-examples/springwolf-sns-example/build.gradle @@ -9,7 +9,6 @@ plugins { id 'com.bmuschko.docker-spring-boot-application' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" ext['springCloudAwsVersion'] = "3.2.0" dependencies { diff --git a/springwolf-examples/springwolf-sqs-example/build.gradle b/springwolf-examples/springwolf-sqs-example/build.gradle index 033907e42..73c675bb5 100644 --- a/springwolf-examples/springwolf-sqs-example/build.gradle +++ b/springwolf-examples/springwolf-sqs-example/build.gradle @@ -9,7 +9,6 @@ plugins { id 'com.bmuschko.docker-spring-boot-application' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" ext['springCloudAwsVersion'] = "3.2.0" dependencies { diff --git a/springwolf-examples/springwolf-stomp-example/build.gradle b/springwolf-examples/springwolf-stomp-example/build.gradle index e150702f2..dffa1b5be 100644 --- a/springwolf-examples/springwolf-stomp-example/build.gradle +++ b/springwolf-examples/springwolf-stomp-example/build.gradle @@ -9,8 +9,6 @@ plugins { id 'com.bmuschko.docker-spring-boot-application' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { implementation project(":springwolf-core") implementation project(":springwolf-plugins:springwolf-stomp") diff --git a/springwolf-plugins/springwolf-amqp-plugin/build.gradle b/springwolf-plugins/springwolf-amqp-plugin/build.gradle index 222f8e296..76b6ae5e8 100644 --- a/springwolf-plugins/springwolf-amqp-plugin/build.gradle +++ b/springwolf-plugins/springwolf-amqp-plugin/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-core") api project(":springwolf-asyncapi") diff --git a/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle b/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle index a86f60896..6e3f8b366 100644 --- a/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle +++ b/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle @@ -7,7 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" ext['springCloudVersion'] = "2022.0.1" dependencies { diff --git a/springwolf-plugins/springwolf-jms-plugin/build.gradle b/springwolf-plugins/springwolf-jms-plugin/build.gradle index b9fa23c1a..0eaf39a0d 100644 --- a/springwolf-plugins/springwolf-jms-plugin/build.gradle +++ b/springwolf-plugins/springwolf-jms-plugin/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") diff --git a/springwolf-plugins/springwolf-kafka-plugin/build.gradle b/springwolf-plugins/springwolf-kafka-plugin/build.gradle index cf6438b87..e3bd72fea 100644 --- a/springwolf-plugins/springwolf-kafka-plugin/build.gradle +++ b/springwolf-plugins/springwolf-kafka-plugin/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") diff --git a/springwolf-plugins/springwolf-sns-plugin/build.gradle b/springwolf-plugins/springwolf-sns-plugin/build.gradle index 0931e8635..47a9d2d94 100644 --- a/springwolf-plugins/springwolf-sns-plugin/build.gradle +++ b/springwolf-plugins/springwolf-sns-plugin/build.gradle @@ -7,7 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" ext['springCloudAwsVersion'] = "3.2.0" dependencies { diff --git a/springwolf-plugins/springwolf-sqs-plugin/build.gradle b/springwolf-plugins/springwolf-sqs-plugin/build.gradle index 54b0667ff..02f40a88a 100644 --- a/springwolf-plugins/springwolf-sqs-plugin/build.gradle +++ b/springwolf-plugins/springwolf-sqs-plugin/build.gradle @@ -7,7 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" ext['springCloudAwsVersion'] = "3.2.0" dependencies { diff --git a/springwolf-plugins/springwolf-stomp-plugin/build.gradle b/springwolf-plugins/springwolf-stomp-plugin/build.gradle index 54ecc03b5..5fdfa2271 100644 --- a/springwolf-plugins/springwolf-stomp-plugin/build.gradle +++ b/springwolf-plugins/springwolf-stomp-plugin/build.gradle @@ -7,8 +7,6 @@ plugins { id 'ca.cutterslade.analyze' } -ext['junit-jupiter.version'] = "${junitJupiterVersion}" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") From cca6835eb68b0de087fccebeaa61c5c404ddb3c3 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sun, 6 Oct 2024 20:40:52 +0200 Subject: [PATCH 03/19] chore: update build.gradle to gradle version catalog --- build.gradle | 12 ++++++------ gradle/libs.versions.toml | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 gradle/libs.versions.toml diff --git a/build.gradle b/build.gradle index 0e30a3666..e17281caf 100644 --- a/build.gradle +++ b/build.gradle @@ -6,12 +6,12 @@ buildscript { } plugins { - id 'io.github.gradle-nexus.publish-plugin' version '2.0.0' - id 'ca.cutterslade.analyze' version '1.10.0' - id 'org.springframework.boot' version '3.3.4' apply false - id 'org.owasp.dependencycheck' version '10.0.4' - id 'com.diffplug.spotless' version '6.25.0' - id 'com.bmuschko.docker-spring-boot-application' version '9.4.0' apply false + alias libs.plugins.nexus.publish + alias libs.plugins.cutterslade.analyze + alias libs.plugins.spring.boot apply false + alias libs.plugins.owasp.dependencycheck + alias libs.plugins.spotless + alias libs.plugins.docker.spring.boot apply false } applyDotEnvFileAsGradleProperties() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 000000000..9cc6f1174 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,15 @@ +[versions] +gradle-nexus-publish-plugin = "2.0.0" +cutterslade-analyze = "1.10.0" +spring-boot = "3.3.4" +owasp-dependencycheck = "10.0.4" +spotless = "6.25.0" +docker-spring-boot = "9.4.0" + +[plugins] +nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "gradle-nexus-publish-plugin" } +cutterslade-analyze = { id = "ca.cutterslade.analyze", version.ref = "cutterslade-analyze" } +spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot" } +owasp-dependencycheck = { id = "org.owasp.dependencycheck", version.ref = "owasp-dependencycheck" } +spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } +docker-spring-boot = { id = "com.bmuschko.docker-spring-boot-application", version.ref = "docker-spring-boot" } \ No newline at end of file From 680a579eeed7da1265b73e35e60a58923135b2cf Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sun, 6 Oct 2024 21:21:25 +0200 Subject: [PATCH 04/19] chore(add-ons): convert to gradle version.toml --- gradle/libs.versions.toml | 124 +++++++++++++++++- .../build.gradle | 24 ++-- .../springwolf-generic-binding/build.gradle | 23 ++-- .../springwolf-json-schema/build.gradle | 32 ++--- .../build.gradle | 36 ++--- 5 files changed, 171 insertions(+), 68 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9cc6f1174..0a5525b59 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,15 +1,127 @@ [versions] -gradle-nexus-publish-plugin = "2.0.0" cutterslade-analyze = "1.10.0" -spring-boot = "3.3.4" +docker-spring-boot = "9.4.0" +gradle-nexus-publish-plugin = "2.0.0" +io-awspring-cloud = "3.2.0" +io-confluent = "7.7.1" +io-swagger-core-v3 = "2.2.24" +jackson-core = "2.17.2" +kotlin = "2.0.20" +node = "7.1.0" +openapi-gradle = "1.9.0" +org-jetbrains-kotlin = "2.0.20" +org-junit-jupiter = "5.11.0" +org-mockito = "5.14.1" +org-slf4j = "2.0.16" +org-testcontainers = "1.20.2" owasp-dependencycheck = "10.0.4" +protobuf = "4.28.2" +protobuf-plugin = "0.9.4" spotless = "6.25.0" -docker-spring-boot = "9.4.0" +# ideally, spring boot version are managed by bom +spring-boot = "3.3.4" +springframework = "6.1.13" +amqp = "3.1.7" +boot = "3.3.4" +cloud = "4.0.1" +kafka = "3.2.4" +security = "6.3.3" + +[libraries] +amqp-client = "com.rabbitmq:amqp-client:5.21.0" +assertj-core = "org.assertj:assertj-core:3.26.3" +avro = "org.apache.avro:avro:1.12.0" +awaitility = "org.awaitility:awaitility:4.2.2" +commons-lang3 = "org.apache.commons:commons-lang3:3.17.0" +google-java-format = "com.google.googlejavaformat:google-java-format:1.19.2" +jackson-annotations = { module = "com.fasterxml.jackson.core:jackson-annotations", version.ref = "jackson-core" } +jackson-core = { module = "com.fasterxml.jackson.core:jackson-core", version.ref = "jackson-core" } +jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson-core" } +jackson-dataformat-yaml = "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.17.2" +jackson-datatype-protobuf = "com.hubspot.jackson:jackson-datatype-protobuf:0.9.15" +jakarta-annotation-api = "jakarta.annotation:jakarta.annotation-api:3.0.0" +jakarta-jms-api = "jakarta.jms:jakarta.jms-api:3.1.0" +jakarta-validation-api = "jakarta.validation:jakarta.validation-api:3.1.0" +jakarta-xml-bind-api = "jakarta.xml.bind:jakarta.xml.bind-api:4.0.2" +jetbrains-annotations = "org.jetbrains:annotations:13.0" +json-schema-validator = "com.networknt:json-schema-validator:1.5.2" +json-unit-assertj = "net.javacrumbs.json-unit:json-unit-assertj:3.4.1" +junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "org-junit-jupiter" } +junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "org-junit-jupiter" } +junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref = "org-junit-jupiter" } +kafka-avro-serializer = { module = "io.confluent:kafka-avro-serializer", version.ref = "io-confluent" } +kafka-clients = "org.apache.kafka:kafka-clients:7.7.1-ccs" +kafka-streams = "org.apache.kafka:kafka-streams:3.8.0" +kafka-protobuf-serializer = { module = "io.confluent:kafka-protobuf-serializer", version.ref = "io-confluent" } +kotlin-build-tools-impl = { module = "org.jetbrains.kotlin:kotlin-build-tools-impl", version.ref = "org-jetbrains-kotlin" } +kotlin-reflect = "org.jetbrains.kotlin:kotlin-reflect:1.9.25" +kotlin-scripting-compiler-embeddable = { module = "org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable", version.ref = "org-jetbrains-kotlin" } +kotlin-serialization-compiler-plugin-embeddable = { module = "org.jetbrains.kotlin:kotlin-serialization-compiler-plugin-embeddable", version.ref = "org-jetbrains-kotlin" } +kotlinx-serialization-core-jvm = "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.7.2" +ktfmt = "com.facebook:ktfmt:0.46" +ktlint-cli = "com.pinterest.ktlint:ktlint-cli:1.1.1" +log4j-core = "org.apache.logging.log4j:log4j-core:2.17.1" +lombok = "org.projectlombok:lombok:1.18.34" +mockito-core = { module = "org.mockito:mockito-core", version.ref = "org-mockito" } +mockito-junit-jupiter = { module = "org.mockito:mockito-junit-jupiter", version.ref = "org-mockito" } +moneta = "org.javamoney:moneta:1.4.4" +money-api = "javax.money:money-api:1.1" +palantir-java-format = "com.palantir.javaformat:palantir-java-format:2.28.0" +protobuf-java = { module = "com.google.protobuf:protobuf-java", version.ref = "protobuf" } +protoc = { module = "com.google.protobuf:protoc", version.ref = "protobuf" } +slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "org-slf4j" } +slf4j-simple = { module = "org.slf4j:slf4j-simple", version.ref = "org-slf4j" } +spring-cloud-aws-dependencies = { module = "io.awspring.cloud:spring-cloud-aws-dependencies", version.ref = "io-awspring-cloud" } +spring-cloud-aws-sns = { module = "io.awspring.cloud:spring-cloud-aws-sns", version.ref = "io-awspring-cloud" } +spring-cloud-aws-sqs = { module = "io.awspring.cloud:spring-cloud-aws-sqs", version.ref = "io-awspring-cloud" } +spring-cloud-aws-starter-sns = { module = "io.awspring.cloud:spring-cloud-aws-starter-sns", version.ref = "io-awspring-cloud" } +spring-cloud-aws-starter-sqs = { module = "io.awspring.cloud:spring-cloud-aws-starter-sqs", version.ref = "io-awspring-cloud" } +amqp-spring-amqp = { module = "org.springframework.amqp:spring-amqp", version.ref = "amqp" } +amqp-spring-rabbit = { module = "org.springframework.amqp:spring-rabbit", version.ref = "amqp" } +spring-boot = { module = "org.springframework.boot:spring-boot", version.ref = "boot" } +spring-boot-actuator = { module = "org.springframework.boot:spring-boot-actuator", version.ref = "boot" } +spring-boot-autoconfigure = { module = "org.springframework.boot:spring-boot-autoconfigure", version.ref = "boot" } +spring-boot-configuration-processor = { module = "org.springframework.boot:spring-boot-configuration-processor", version.ref = "boot" } +spring-boot-dependencies = { module = "org.springframework.boot:spring-boot-dependencies", version.ref = "boot" } +spring-boot-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator", version.ref = "boot" } +spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web", version.ref = "boot" } +spring-boot-starter-websocket = { module = "org.springframework.boot:spring-boot-starter-websocket", version.ref = "boot" } +spring-boot-test = { module = "org.springframework.boot:spring-boot-test", version.ref = "boot" } +spring-boot-test-autoconfigure = { module = "org.springframework.boot:spring-boot-test-autoconfigure", version.ref = "boot" } +spring-cloud-dependencies = "org.springframework.cloud:spring-cloud-dependencies:2022.0.1" +spring-cloud-starter-stream-kafka = { module = "org.springframework.cloud:spring-cloud-starter-stream-kafka", version.ref = "cloud" } +spring-cloud-stream = { module = "org.springframework.cloud:spring-cloud-stream", version.ref = "cloud" } +spring-kafka = { module = "org.springframework.kafka:spring-kafka", version.ref = "kafka" } +spring-kafka-test = { module = "org.springframework.kafka:spring-kafka-test", version.ref = "kafka" } +spring-security-config = { module = "org.springframework.security:spring-security-config", version.ref = "security" } +spring-security-web = { module = "org.springframework.security:spring-security-web", version.ref = "security" } +spring-beans = { module = "org.springframework:spring-beans", version.ref = "springframework" } +spring-context = { module = "org.springframework:spring-context", version.ref = "springframework" } +spring-core = { module = "org.springframework:spring-core", version.ref = "springframework" } +spring-jcl = { module = "org.springframework:spring-jcl", version.ref = "springframework" } +spring-jms = { module = "org.springframework:spring-jms", version.ref = "springframework" } +spring-messaging = { module = "org.springframework:spring-messaging", version.ref = "springframework" } +spring-test = { module = "org.springframework:spring-test", version.ref = "springframework" } +spring-web = { module = "org.springframework:spring-web", version.ref = "springframework" } +spring-webmvc = { module = "org.springframework:spring-webmvc", version.ref = "springframework" } +spring-websocket = { module = "org.springframework:spring-websocket", version.ref = "springframework" } +swagger-annotations = { module = "io.swagger.core.v3:swagger-annotations", version.ref = "io-swagger-core-v3" } +swagger-annotations-jakarta = { module = "io.swagger.core.v3:swagger-annotations-jakarta", version.ref = "io-swagger-core-v3" } +swagger-core-jakarta = { module = "io.swagger.core.v3:swagger-core-jakarta", version.ref = "io-swagger-core-v3" } +swagger-models-jakarta = { module = "io.swagger.core.v3:swagger-models-jakarta", version.ref = "io-swagger-core-v3" } +testcontainers = { module = "org.testcontainers:testcontainers", version.ref = "org-testcontainers" } +testcontainers-junit-jupiter = { module = "org.testcontainers:junit-jupiter", version.ref = "org-testcontainers" } +testcontainers-localstack = { module = "org.testcontainers:localstack", version.ref = "org-testcontainers" } [plugins] -nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "gradle-nexus-publish-plugin" } cutterslade-analyze = { id = "ca.cutterslade.analyze", version.ref = "cutterslade-analyze" } -spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot" } +docker-spring-boot = { id = "com.bmuschko.docker-spring-boot-application", version.ref = "docker-spring-boot" } +kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "gradle-nexus-publish-plugin" } +node = { id = "com.github.node-gradle.node", version.ref = "node" } +openapi-gradle = { id = "org.springdoc.openapi-gradle-plugin", version.ref = "openapi-gradle" } owasp-dependencycheck = { id = "org.owasp.dependencycheck", version.ref = "owasp-dependencycheck" } +protobuf = { id = "com.google.protobuf", version.ref = "protobuf-plugin" } spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } -docker-spring-boot = { id = "com.bmuschko.docker-spring-boot-application", version.ref = "docker-spring-boot" } \ No newline at end of file +spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot" } diff --git a/springwolf-add-ons/springwolf-common-model-converters/build.gradle b/springwolf-add-ons/springwolf-common-model-converters/build.gradle index dea44ddb5..604fd5ce6 100644 --- a/springwolf-add-ons/springwolf-common-model-converters/build.gradle +++ b/springwolf-add-ons/springwolf-common-model-converters/build.gradle @@ -3,26 +3,26 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" + implementation libs.spring.context - implementation "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}" - implementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" + implementation libs.jackson.annotations + implementation libs.jackson.databind - implementation "io.swagger.core.v3:swagger-annotations-jakarta:${swaggerVersion}" - implementation "io.swagger.core.v3:swagger-core-jakarta:${swaggerVersion}" - implementation "io.swagger.core.v3:swagger-models-jakarta:${swaggerVersion}" + implementation libs.swagger.annotations.jakarta + implementation libs.swagger.core.jakarta + implementation libs.swagger.models.jakarta - implementation "javax.money:money-api:${moneyApiVersion}" + implementation libs.money.api - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.api } jar { diff --git a/springwolf-add-ons/springwolf-generic-binding/build.gradle b/springwolf-add-ons/springwolf-generic-binding/build.gradle index 6d47795bc..8e32e70c0 100644 --- a/springwolf-add-ons/springwolf-generic-binding/build.gradle +++ b/springwolf-add-ons/springwolf-generic-binding/build.gradle @@ -11,23 +11,22 @@ dependencies { api project(":springwolf-core") api project(":springwolf-asyncapi") - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.slf4j.api implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" + implementation libs.spring.context + implementation libs.spring.core - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - compileOnly "org.projectlombok:lombok:${lombokVersion}" + testImplementation libs.assertj.core + testImplementation libs.mockito.core - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testImplementation "org.junit.jupiter:junit-jupiter-params:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testImplementation libs.junit.jupiter.params + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple } jar { diff --git a/springwolf-add-ons/springwolf-json-schema/build.gradle b/springwolf-add-ons/springwolf-json-schema/build.gradle index 5bed60206..20b0b995c 100644 --- a/springwolf-add-ons/springwolf-json-schema/build.gradle +++ b/springwolf-add-ons/springwolf-json-schema/build.gradle @@ -11,31 +11,31 @@ dependencies { api project(":springwolf-core") api project(":springwolf-asyncapi") - implementation "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}" - implementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" + implementation libs.jackson.core + implementation libs.jackson.databind - testImplementation "io.swagger.core.v3:swagger-core-jakarta:${swaggerVersion}" - testImplementation "io.swagger.core.v3:swagger-models-jakarta:${swaggerVersion}" + testImplementation libs.swagger.core.jakarta + testImplementation libs.swagger.models.jakarta - implementation "org.apache.commons:commons-lang3:${commonsLang3Version}" + implementation libs.commons.lang3 - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.slf4j.api implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" + implementation libs.spring.context - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" + testImplementation libs.mockito.core + testImplementation libs.assertj.core - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testImplementation "org.junit.jupiter:junit-jupiter-params:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testImplementation libs.junit.jupiter.params + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple - testImplementation "com.networknt:json-schema-validator:${jsonSchemaValidator}" + testImplementation libs.json.schema.validator } jar { diff --git a/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle b/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle index 02b6896be..a43dca286 100644 --- a/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle +++ b/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle @@ -1,43 +1,35 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin -buildscript { - ext { - kotlinVersion = '2.0.20' - kotlinxSerializationVersion = '1.7.2' - } -} - plugins { id 'java-library' id 'org.springframework.boot' id 'ca.cutterslade.analyze' - id "org.jetbrains.kotlin.jvm" version "${kotlinVersion}" - id 'org.jetbrains.kotlin.plugin.serialization' version "${kotlinVersion}" + alias libs.plugins.kotlin.jvm + alias libs.plugins.kotlin.serialization } dependencies { api project(":springwolf-core") implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework.boot:spring-boot-autoconfigure" - - implementation "io.swagger.core.v3:swagger-core-jakarta:${swaggerVersion}" - implementation "io.swagger.core.v3:swagger-models-jakarta:${swaggerVersion}" + implementation libs.spring.context + implementation libs.spring.boot.autoconfigure - implementation "org.jetbrains:annotations" + implementation libs.swagger.core.jakarta + implementation libs.swagger.models.jakarta - implementation "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:${kotlinxSerializationVersion}" - implementation "org.jetbrains.kotlin:kotlin-reflect" + implementation libs.jetbrains.annotations + implementation libs.kotlinx.serialization.core.jvm + implementation libs.kotlin.reflect - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "net.javacrumbs.json-unit:json-unit-assertj:${jsonUnitAssertJVersion}" + testImplementation libs.assertj.core + testImplementation libs.json.unit.assertj } jar { From 589a1d8066041a405c95597caa678e4298f757f2 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sun, 6 Oct 2024 22:23:31 +0200 Subject: [PATCH 05/19] chore: use gradle versions toml for all projects --- build.gradle | 5 - dependencies.gradle | 76 --------------- gradle/libs.versions.toml | 32 ++++--- springwolf-asyncapi/build.gradle | 45 +++++---- .../springwolf-amqp-binding/build.gradle | 20 ++-- .../build.gradle | 20 ++-- .../springwolf-jms-binding/build.gradle | 20 ++-- .../springwolf-kafka-binding/build.gradle | 22 ++--- .../springwolf-sns-binding/build.gradle | 20 ++-- .../springwolf-sqs-binding/build.gradle | 20 ++-- .../springwolf-stomp-binding/build.gradle | 20 ++-- springwolf-core/build.gradle | 87 +++++++++-------- springwolf-examples/e2e/build.gradle | 6 +- .../springwolf-amqp-example/build.gradle | 50 +++++----- .../build.gradle | 48 +++++----- .../springwolf-jms-example/build.gradle | 44 ++++----- .../springwolf-kafka-example/build.gradle | 93 +++++++++---------- .../springwolf-sns-example/build.gradle | 51 +++++----- .../springwolf-sqs-example/build.gradle | 52 +++++------ .../springwolf-stomp-example/build.gradle | 50 +++++----- .../springwolf-amqp-plugin/build.gradle | 44 ++++----- .../build.gradle | 37 ++++---- .../springwolf-jms-plugin/build.gradle | 52 +++++------ .../springwolf-kafka-plugin/build.gradle | 56 +++++------ .../springwolf-sns-plugin/build.gradle | 48 +++++----- .../springwolf-sqs-plugin/build.gradle | 48 +++++----- .../springwolf-stomp-plugin/build.gradle | 39 ++++---- springwolf-ui/build.gradle | 6 +- 28 files changed, 511 insertions(+), 600 deletions(-) delete mode 100644 dependencies.gradle diff --git a/build.gradle b/build.gradle index e17281caf..38e417271 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,5 @@ import org.owasp.dependencycheck.reporting.ReportGenerator -buildscript { - // include dependency versions from explicit dependencies.gradle file - apply from: 'dependencies.gradle' -} - plugins { alias libs.plugins.nexus.publish alias libs.plugins.cutterslade.analyze diff --git a/dependencies.gradle b/dependencies.gradle deleted file mode 100644 index 5043596d3..000000000 --- a/dependencies.gradle +++ /dev/null @@ -1,76 +0,0 @@ -/** - * Explicit dependencies file to share artifact versions between subprojects. - * This approach is compatible with dependabot. - * (see: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates#gradle) - * - * Naming strategy. - * There is no fixed rule for variable naming but there is a recommendation (which is not always appropriate). - * For most cases the following naming rule applies: - * - use the artifactId - * - split the artifactId by hyphens - * - keep the first part of the splitted artifactId lowerCase - * - add the remaining parts upperCase - * - add a 'Version' suffix - * - * e.g.: com.asyncapi:asyncapi-core' will be 'asyncapiCoreVersion' - * e.g.: 'io.swagger.core.v3:swagger-core-jakarta' will be 'swaggerCoreJakartaVersion' - * - * - * For multiple dependencies that are released together, we reduce the artifactId to the common prefix. - * The above rules still apply. - * - * e.g.: 'jackson-core', 'jackson-annotations' is combined to 'jacksonVersion' - * - * - * The dependencies are sorted alphabetically. - */ -ext { - annotationApiVersion = '3.0.0' - - assertjCoreVersion = '3.26.3' - - asyncapiCoreVersion = '1.0.0-EAP-2' - - avroVersion = '1.12.0' - - awaitilityVersion = '4.2.2' - - commonsLang3Version = '3.17.0' - - kafkaAvroSerializerVersion = '7.7.1' - - kafkaClientsVersion = '3.7.1' - kafkaStreamsVersion = '3.8.0' - - kafkaProtobufSerializerVersion = '7.7.1' - - jacksonVersion = '2.17.2' - jacksonDatatypeProtobufVersion = '0.9.15' - - jakartaAnnotationApiVersion = '3.0.0' - jakartaValidationApiVersion = '3.1.0' - - jakartaXmlBindApiVersion = '4.0.2' - - jsonSchemaValidator = '1.5.2' - - mockitoCoreVersion = '5.14.1' - mockitoJunitJupiterVersion = '5.14.1' - - monetaVersion = '1.4.4' - moneyApiVersion = '1.1' - - protobufJavaVersion = '4.28.2' - - junitJupiterVersion = '5.11.0' - jsonUnitAssertJVersion = '3.4.1' - - lombokVersion = '1.18.34' - - slf4jApiVersion = '2.0.16' - slf4jSimpleVersion = '2.0.16' - - swaggerVersion = '2.2.24' - - testcontainersVersion = '1.20.2' -} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0a5525b59..26bf36bf9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,7 +7,9 @@ io-confluent = "7.7.1" io-swagger-core-v3 = "2.2.24" jackson-core = "2.17.2" kotlin = "2.0.20" -node = "7.1.0" +node-plugin = "7.1.0" +nodeVersion = "22.9.0" +npm = "10.8.3" openapi-gradle = "1.9.0" org-jetbrains-kotlin = "2.0.20" org-junit-jupiter = "5.11.0" @@ -18,16 +20,18 @@ owasp-dependencycheck = "10.0.4" protobuf = "4.28.2" protobuf-plugin = "0.9.4" spotless = "6.25.0" +spring = "3.3.4" +spring-cloud = "2022.0.1" # ideally, spring boot version are managed by bom -spring-boot = "3.3.4" -springframework = "6.1.13" -amqp = "3.1.7" -boot = "3.3.4" -cloud = "4.0.1" -kafka = "3.2.4" -security = "6.3.3" +springframework = "." +amqp = "." +boot = "." +cloud = "." +kafka = "." +security = "." [libraries] +activemq-broker = "org.apache.activemq:activemq-broker:." amqp-client = "com.rabbitmq:amqp-client:5.21.0" assertj-core = "org.assertj:assertj-core:3.26.3" avro = "org.apache.avro:avro:1.12.0" @@ -76,19 +80,20 @@ spring-cloud-aws-sns = { module = "io.awspring.cloud:spring-cloud-aws-sns", vers spring-cloud-aws-sqs = { module = "io.awspring.cloud:spring-cloud-aws-sqs", version.ref = "io-awspring-cloud" } spring-cloud-aws-starter-sns = { module = "io.awspring.cloud:spring-cloud-aws-starter-sns", version.ref = "io-awspring-cloud" } spring-cloud-aws-starter-sqs = { module = "io.awspring.cloud:spring-cloud-aws-starter-sqs", version.ref = "io-awspring-cloud" } -amqp-spring-amqp = { module = "org.springframework.amqp:spring-amqp", version.ref = "amqp" } -amqp-spring-rabbit = { module = "org.springframework.amqp:spring-rabbit", version.ref = "amqp" } +spring-amqp = { module = "org.springframework.amqp:spring-amqp", version.ref = "amqp" } +spring-rabbit = { module = "org.springframework.amqp:spring-rabbit", version.ref = "amqp" } spring-boot = { module = "org.springframework.boot:spring-boot", version.ref = "boot" } spring-boot-actuator = { module = "org.springframework.boot:spring-boot-actuator", version.ref = "boot" } spring-boot-autoconfigure = { module = "org.springframework.boot:spring-boot-autoconfigure", version.ref = "boot" } spring-boot-configuration-processor = { module = "org.springframework.boot:spring-boot-configuration-processor", version.ref = "boot" } spring-boot-dependencies = { module = "org.springframework.boot:spring-boot-dependencies", version.ref = "boot" } spring-boot-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator", version.ref = "boot" } +spring-boot-starter-artemis = { module = "org.springframework.boot:spring-boot-starter-artemis", version.ref = "boot" } spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web", version.ref = "boot" } spring-boot-starter-websocket = { module = "org.springframework.boot:spring-boot-starter-websocket", version.ref = "boot" } spring-boot-test = { module = "org.springframework.boot:spring-boot-test", version.ref = "boot" } spring-boot-test-autoconfigure = { module = "org.springframework.boot:spring-boot-test-autoconfigure", version.ref = "boot" } -spring-cloud-dependencies = "org.springframework.cloud:spring-cloud-dependencies:2022.0.1" +spring-cloud-dependencies = { module = "org.springframework.cloud:spring-cloud-dependencies", version.ref = "spring-cloud" } spring-cloud-starter-stream-kafka = { module = "org.springframework.cloud:spring-cloud-starter-stream-kafka", version.ref = "cloud" } spring-cloud-stream = { module = "org.springframework.cloud:spring-cloud-stream", version.ref = "cloud" } spring-kafka = { module = "org.springframework.kafka:spring-kafka", version.ref = "kafka" } @@ -114,14 +119,15 @@ testcontainers-junit-jupiter = { module = "org.testcontainers:junit-jupiter", ve testcontainers-localstack = { module = "org.testcontainers:localstack", version.ref = "org-testcontainers" } [plugins] +avro = { id = "com.github.davidmc24.gradle.plugin.avro", version = "1.9.1" } cutterslade-analyze = { id = "ca.cutterslade.analyze", version.ref = "cutterslade-analyze" } docker-spring-boot = { id = "com.bmuschko.docker-spring-boot-application", version.ref = "docker-spring-boot" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "gradle-nexus-publish-plugin" } -node = { id = "com.github.node-gradle.node", version.ref = "node" } +node = { id = "com.github.node-gradle.node", version.ref = "node-plugin" } openapi-gradle = { id = "org.springdoc.openapi-gradle-plugin", version.ref = "openapi-gradle" } owasp-dependencycheck = { id = "org.owasp.dependencycheck", version.ref = "owasp-dependencycheck" } protobuf = { id = "com.google.protobuf", version.ref = "protobuf-plugin" } spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } -spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot" } +spring-boot = { id = "org.springframework.boot", version.ref = "spring" } diff --git a/springwolf-asyncapi/build.gradle b/springwolf-asyncapi/build.gradle index 9ac8f8951..5c896dec7 100644 --- a/springwolf-asyncapi/build.gradle +++ b/springwolf-asyncapi/build.gradle @@ -6,30 +6,27 @@ plugins { } dependencies { - implementation "io.swagger.core.v3:swagger-core-jakarta:${swaggerVersion}" - implementation "jakarta.validation:jakarta.validation-api" - - implementation "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}" - implementation "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}" - implementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" - implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${jacksonVersion}" - - compileOnly "org.projectlombok:lombok:${lombokVersion}" - - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - - - testImplementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" - testImplementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${jacksonVersion}" - testImplementation "io.swagger.core.v3:swagger-core-jakarta:${swaggerVersion}" - testImplementation "net.javacrumbs.json-unit:json-unit-assertj:${jsonUnitAssertJVersion}" - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + implementation libs.swagger.core.jakarta + implementation libs.jakarta.validation.api + + implementation libs.jackson.core + implementation libs.jackson.annotations + implementation libs.jackson.databind + implementation libs.jackson.dataformat.yaml + + compileOnly libs.lombok + annotationProcessor libs.lombok + testAnnotationProcessor libs.lombok + + testImplementation libs.jackson.databind + testImplementation libs.jackson.dataformat.yaml + testImplementation libs.swagger.core.jakarta + testImplementation libs.json.unit.assertj + testImplementation libs.assertj.core + + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple } jar { diff --git a/springwolf-bindings/springwolf-amqp-binding/build.gradle b/springwolf-bindings/springwolf-amqp-binding/build.gradle index c4af520f4..698f3e6fa 100644 --- a/springwolf-bindings/springwolf-amqp-binding/build.gradle +++ b/springwolf-bindings/springwolf-amqp-binding/build.gradle @@ -12,19 +12,19 @@ dependencies { api project(":springwolf-core") implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.boot.autoconfigure - compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" + compileOnly libs.lombok + annotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.mockito.core - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple } jar { diff --git a/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle b/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle index 7cc250ba1..ac194044b 100644 --- a/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle +++ b/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle @@ -12,20 +12,20 @@ dependencies { api project(":springwolf-core") implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.boot.autoconfigure - implementation "org.apache.commons:commons-lang3:${commonsLang3Version}" + implementation libs.commons.lang3 - compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" + compileOnly libs.lombok + annotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" + testImplementation libs.assertj.core - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple } jar { diff --git a/springwolf-bindings/springwolf-jms-binding/build.gradle b/springwolf-bindings/springwolf-jms-binding/build.gradle index 2744f7d24..0d3174d04 100644 --- a/springwolf-bindings/springwolf-jms-binding/build.gradle +++ b/springwolf-bindings/springwolf-jms-binding/build.gradle @@ -12,19 +12,19 @@ dependencies { api project(":springwolf-core") implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.boot.autoconfigure - compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" + compileOnly libs.lombok + annotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.mockito.core - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple } jar { diff --git a/springwolf-bindings/springwolf-kafka-binding/build.gradle b/springwolf-bindings/springwolf-kafka-binding/build.gradle index 659051d37..fbfccb200 100644 --- a/springwolf-bindings/springwolf-kafka-binding/build.gradle +++ b/springwolf-bindings/springwolf-kafka-binding/build.gradle @@ -12,21 +12,21 @@ dependencies { api project(":springwolf-core") implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.boot.autoconfigure - implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" + implementation libs.jakarta.annotation.api - compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" + compileOnly libs.lombok + annotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.mockito.core - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple } jar { diff --git a/springwolf-bindings/springwolf-sns-binding/build.gradle b/springwolf-bindings/springwolf-sns-binding/build.gradle index a251a8528..584cf3751 100644 --- a/springwolf-bindings/springwolf-sns-binding/build.gradle +++ b/springwolf-bindings/springwolf-sns-binding/build.gradle @@ -12,19 +12,19 @@ dependencies { api project(":springwolf-core") implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.boot.autoconfigure - compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" + compileOnly libs.lombok + annotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.mockito.core - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple } jar { diff --git a/springwolf-bindings/springwolf-sqs-binding/build.gradle b/springwolf-bindings/springwolf-sqs-binding/build.gradle index 1b1b6685e..a7c66d59d 100644 --- a/springwolf-bindings/springwolf-sqs-binding/build.gradle +++ b/springwolf-bindings/springwolf-sqs-binding/build.gradle @@ -12,19 +12,19 @@ dependencies { api project(":springwolf-core") implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.boot.autoconfigure - compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" + compileOnly libs.lombok + annotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.mockito.core - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple } jar { diff --git a/springwolf-bindings/springwolf-stomp-binding/build.gradle b/springwolf-bindings/springwolf-stomp-binding/build.gradle index e4f5fbb35..be31c0e64 100644 --- a/springwolf-bindings/springwolf-stomp-binding/build.gradle +++ b/springwolf-bindings/springwolf-stomp-binding/build.gradle @@ -12,19 +12,19 @@ dependencies { api project(":springwolf-core") implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.boot.autoconfigure - compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" + compileOnly libs.lombok + annotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.mockito.core - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple } jar { diff --git a/springwolf-core/build.gradle b/springwolf-core/build.gradle index ac20fb977..abd808c5b 100644 --- a/springwolf-core/build.gradle +++ b/springwolf-core/build.gradle @@ -9,57 +9,56 @@ plugins { dependencies { api project(":springwolf-asyncapi") + testImplementation project(":springwolf-add-ons:springwolf-common-model-converters") + permitTestUnusedDeclared project(":springwolf-add-ons:springwolf-common-model-converters") - implementation "io.swagger.core.v3:swagger-annotations-jakarta:${swaggerVersion}@jar" - implementation "io.swagger.core.v3:swagger-core-jakarta:${swaggerVersion}" + implementation libs.swagger.annotations.jakarta + implementation libs.swagger.core.jakarta - implementation "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}" - implementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" + implementation libs.jackson.core + implementation libs.jackson.databind - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.slf4j.api annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) compileOnly platform(SpringBootPlugin.BOM_COORDINATES) implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework.boot:spring-boot" - - implementation "org.springframework:spring-web" - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-messaging" - implementation "org.springframework:spring-beans" - implementation "org.springframework:spring-core" - implementation "org.springframework.boot:spring-boot-autoconfigure" - - implementation "io.swagger.core.v3:swagger-models-jakarta:${swaggerVersion}" - implementation "jakarta.annotation:jakarta.annotation-api:${jakartaAnnotationApiVersion}" - implementation "jakarta.validation:jakarta.validation-api:${jakartaValidationApiVersion}" - - implementation "org.apache.commons:commons-lang3:${commonsLang3Version}" - - compileOnly "org.springframework.boot:spring-boot-actuator" - compileOnly "org.springframework:spring-webmvc" - compileOnly "org.projectlombok:lombok:${lombokVersion}" - - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" - - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testCompileOnly "org.projectlombok:lombok:${lombokVersion}" - - testImplementation project(":springwolf-add-ons:springwolf-common-model-converters") - permitTestUnusedDeclared project(":springwolf-add-ons:springwolf-common-model-converters") - - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.awaitility:awaitility:${awaitilityVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation "org.mockito:mockito-junit-jupiter:${mockitoJunitJupiterVersion}" - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-test" - - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testImplementation "org.junit.jupiter:junit-jupiter-params:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" - testRuntimeOnly "org.slf4j:slf4j-simple:${slf4jSimpleVersion}" + implementation libs.spring.boot + + implementation libs.spring.web + implementation libs.spring.context + implementation libs.spring.messaging + implementation libs.spring.beans + implementation libs.spring.core + implementation libs.spring.boot.autoconfigure + + implementation libs.swagger.models.jakarta + implementation libs.jakarta.annotation.api + implementation libs.jakarta.validation.api + + implementation libs.commons.lang3 + + compileOnly libs.spring.boot.actuator + compileOnly libs.spring.webmvc + compileOnly libs.lombok + + annotationProcessor libs.lombok + annotationProcessor libs.spring.boot.configuration.processor + + testAnnotationProcessor libs.lombok + testCompileOnly libs.lombok + + testImplementation libs.assertj.core + testImplementation libs.awaitility + testImplementation libs.mockito.core + testImplementation libs.mockito.junit.jupiter + testImplementation libs.spring.boot.test + testImplementation libs.spring.test + + testImplementation libs.junit.jupiter.api + testImplementation libs.junit.jupiter.params + testRuntimeOnly libs.junit.jupiter + testRuntimeOnly libs.slf4j.simple } jar { diff --git a/springwolf-examples/e2e/build.gradle b/springwolf-examples/e2e/build.gradle index 6fa25714a..2cdc798f2 100644 --- a/springwolf-examples/e2e/build.gradle +++ b/springwolf-examples/e2e/build.gradle @@ -1,11 +1,11 @@ plugins { id 'java' - id 'com.github.node-gradle.node' version '7.1.0' + alias libs.plugins.node } node { - version = '18.16.1' - npmVersion = '9.5.1' + version = libs.versions.nodeVersion + npmVersion = libs.versions.npm download = true } diff --git a/springwolf-examples/springwolf-amqp-example/build.gradle b/springwolf-examples/springwolf-amqp-example/build.gradle index 63b5ffcc9..140fd7029 100644 --- a/springwolf-examples/springwolf-amqp-example/build.gradle +++ b/springwolf-examples/springwolf-amqp-example/build.gradle @@ -18,41 +18,41 @@ dependencies { annotationProcessor project(":springwolf-plugins:springwolf-amqp") runtimeOnly project(":springwolf-ui") - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - runtimeOnly "org.springframework.boot:spring-boot-starter-web" + runtimeOnly libs.spring.boot.starter.web - implementation "org.springframework.amqp:spring-rabbit" - permitUsedUndeclared 'com.rabbitmq:amqp-client' + implementation libs.spring.rabbit + permitUsedUndeclared libs.amqp.client - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" - implementation "io.swagger.core.v3:swagger-annotations-jakarta:${swaggerVersion}" + implementation libs.slf4j.api + implementation libs.swagger.annotations.jakarta implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework.amqp:spring-amqp" - implementation "org.springframework.boot:spring-boot-autoconfigure" - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-messaging" + implementation libs.spring.amqp + implementation libs.spring.boot.autoconfigure + implementation libs.spring.boot + implementation libs.spring.context + implementation libs.spring.messaging - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.awaitility:awaitility:${awaitilityVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.awaitility + testImplementation libs.mockito.core - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-web" - testImplementation "org.springframework:spring-test" + testImplementation libs.spring.boot.test + testImplementation libs.spring.beans + testImplementation libs.spring.web + testImplementation libs.spring.test - testImplementation "org.testcontainers:testcontainers:${testcontainersVersion}" - testImplementation "org.testcontainers:junit-jupiter:${testcontainersVersion}" + testImplementation libs.testcontainers + testImplementation libs.testcontainers.junit.jupiter - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testCompileOnly "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok + testCompileOnly libs.lombok - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } docker { diff --git a/springwolf-examples/springwolf-cloud-stream-example/build.gradle b/springwolf-examples/springwolf-cloud-stream-example/build.gradle index dc5d160be..c4ba57d8a 100644 --- a/springwolf-examples/springwolf-cloud-stream-example/build.gradle +++ b/springwolf-examples/springwolf-cloud-stream-example/build.gradle @@ -8,8 +8,6 @@ plugins { id 'com.bmuschko.docker-spring-boot-application' } -ext['springCloudVersion'] = "2022.0.1" - dependencies { permitUnusedDeclared(implementation project(":springwolf-core")) @@ -20,37 +18,37 @@ dependencies { runtimeOnly project(":springwolf-ui") - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" - implementation "io.swagger.core.v3:swagger-annotations-jakarta:${swaggerVersion}" + implementation libs.slf4j.api + implementation libs.swagger.annotations.jakarta implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation platform("org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion") - implementation "org.springframework.boot:spring-boot-autoconfigure" - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework:spring-context" - runtimeOnly "org.springframework.boot:spring-boot-starter-web" - runtimeOnly "org.springframework.boot:spring-boot-starter-actuator" - runtimeOnly "org.springframework.cloud:spring-cloud-starter-stream-kafka" + implementation libs.spring.cloud.dependencies + implementation libs.spring.boot.autoconfigure + implementation libs.spring.boot + implementation libs.spring.context + runtimeOnly libs.spring.boot.starter.web + runtimeOnly libs.spring.boot.starter.actuator + runtimeOnly libs.spring.cloud.starter.stream.kafka - compileOnly "org.projectlombok:lombok:${lombokVersion}" + compileOnly libs.lombok - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-test" + testImplementation libs.assertj.core + testImplementation libs.spring.boot.test + testImplementation libs.spring.test - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-web" - testImplementation "org.springframework.kafka:spring-kafka-test" - testImplementation "org.testcontainers:testcontainers:${testcontainersVersion}" - testImplementation "org.testcontainers:junit-jupiter:${testcontainersVersion}" + testImplementation libs.spring.beans + testImplementation libs.spring.web + testImplementation libs.spring.kafka.test + testImplementation libs.testcontainers + testImplementation libs.testcontainers.junit.jupiter - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testCompileOnly "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok + testCompileOnly libs.lombok - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } docker { diff --git a/springwolf-examples/springwolf-jms-example/build.gradle b/springwolf-examples/springwolf-jms-example/build.gradle index b44c64896..7e5753513 100644 --- a/springwolf-examples/springwolf-jms-example/build.gradle +++ b/springwolf-examples/springwolf-jms-example/build.gradle @@ -19,40 +19,40 @@ dependencies { annotationProcessor project(":springwolf-plugins:springwolf-jms") runtimeOnly project(":springwolf-ui") - compileOnly "jakarta.jms:jakarta.jms-api" + compileOnly libs.jakarta.jms.api - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.slf4j.api - implementation "io.swagger.core.v3:swagger-annotations-jakarta:${swaggerVersion}" + implementation libs.swagger.annotations.jakarta compileOnly platform(SpringBootPlugin.BOM_COORDINATES) implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-jms" - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.context + implementation libs.spring.jms + implementation libs.spring.boot + implementation libs.spring.boot.autoconfigure - runtimeOnly "org.springframework.boot:spring-boot-starter-web" - runtimeOnly "org.springframework.boot:spring-boot-starter-artemis" + runtimeOnly libs.spring.boot.starter.web + runtimeOnly libs.spring.boot.starter.artemis - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.mockito.core - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-web" - testImplementation "org.springframework:spring-test" + testImplementation libs.spring.boot.test + testImplementation libs.spring.beans + testImplementation libs.spring.web + testImplementation libs.spring.test - testImplementation "org.testcontainers:testcontainers:${testcontainersVersion}" - testImplementation "org.testcontainers:junit-jupiter:${testcontainersVersion}" + testImplementation libs.testcontainers + testImplementation libs.testcontainers.junit.jupiter - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testCompileOnly "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok + testCompileOnly libs.lombok - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } docker { diff --git a/springwolf-examples/springwolf-kafka-example/build.gradle b/springwolf-examples/springwolf-kafka-example/build.gradle index 7f2e56c52..3829c222a 100644 --- a/springwolf-examples/springwolf-kafka-example/build.gradle +++ b/springwolf-examples/springwolf-kafka-example/build.gradle @@ -7,10 +7,10 @@ plugins { id 'ca.cutterslade.analyze' id 'com.bmuschko.docker-spring-boot-application' - id 'org.springdoc.openapi-gradle-plugin' version '1.9.0' + alias libs.plugins.openapi.gradle - id 'com.github.davidmc24.gradle.plugin.avro' version '1.9.1' - id 'com.google.protobuf' version '0.9.4' + alias libs.plugins.avro + alias libs.plugins.protobuf } dependencies { @@ -25,70 +25,69 @@ dependencies { annotationProcessor project(":springwolf-plugins:springwolf-kafka") - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - runtimeOnly "org.springframework.boot:spring-boot-starter-web" + runtimeOnly libs.spring.boot.starter.web + runtimeOnly platform(SpringBootPlugin.BOM_COORDINATES) implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-beans" - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-messaging" - implementation "org.springframework:spring-web" + implementation libs.spring.beans + implementation libs.spring.context + implementation libs.spring.messaging + implementation libs.spring.web - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.boot + implementation libs.spring.boot.autoconfigure - implementation "org.springframework.kafka:spring-kafka" + implementation libs.spring.kafka - implementation "org.springframework.security:spring-security-config" - implementation "org.springframework.security:spring-security-web" + implementation libs.spring.security.config + implementation libs.spring.security.web - implementation "org.apache.avro:avro:${avroVersion}@jar" - implementation "io.confluent:kafka-avro-serializer:${kafkaAvroSerializerVersion}" - permitUnusedDeclared "io.confluent:kafka-avro-serializer:${kafkaAvroSerializerVersion}@jar" + implementation libs.avro + runtimeOnly libs.kafka.avro.serializer - runtimeOnly "io.confluent:kafka-protobuf-serializer:${kafkaProtobufSerializerVersion}" - implementation "com.google.protobuf:protobuf-java:${protobufJavaVersion}" - implementation "com.hubspot.jackson:jackson-datatype-protobuf:${jacksonDatatypeProtobufVersion}" + runtimeOnly libs.kafka.protobuf.serializer + implementation libs.protobuf.java + implementation libs.jackson.datatype.protobuf - implementation "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}" - implementation "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}" - implementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" + implementation libs.jackson.annotations + implementation libs.jackson.core + implementation libs.jackson.databind - implementation "jakarta.xml.bind:jakarta.xml.bind-api:${jakartaXmlBindApiVersion}" + implementation libs.jakarta.xml.bind.api - implementation "io.swagger.core.v3:swagger-annotations:${swaggerVersion}" - implementation "io.swagger.core.v3:swagger-core-jakarta:${swaggerVersion}" + implementation libs.swagger.annotations.jakarta + implementation libs.swagger.core.jakarta - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.slf4j.api - implementation "org.apache.kafka:kafka-clients:${kafkaClientsVersion}@jar" + implementation libs.kafka.clients - implementation "javax.money:money-api:${moneyApiVersion}" - implementation "org.javamoney:moneta:${monetaVersion}" + implementation libs.money.api + implementation libs.moneta - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.awaitility:awaitility:${awaitilityVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.awaitility + testImplementation libs.mockito.core - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework.kafka:spring-kafka-test" - testImplementation "org.springframework:spring-test" + testImplementation libs.spring.boot.test + testImplementation libs.spring.kafka.test + testImplementation libs.spring.test - testImplementation "org.testcontainers:testcontainers:${testcontainersVersion}" - testImplementation "org.testcontainers:junit-jupiter:${testcontainersVersion}" + testImplementation libs.testcontainers + testImplementation libs.testcontainers.junit.jupiter - permitTestUnusedDeclared "org.apache.kafka:kafka-clients:${kafkaClientsVersion}:test@jar" + permitTestUnusedDeclared libs.kafka.clients - testImplementation("org.springframework.boot:spring-boot-starter-actuator:$SpringBootPlugin.SPRING_BOOT_VERSION") - permitTestUnusedDeclared("org.springframework.boot:spring-boot-starter-actuator:$SpringBootPlugin.SPRING_BOOT_VERSION") + runtimeOnly libs.spring.boot.starter.actuator - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testCompileOnly "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok + testCompileOnly libs.lombok - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } docker { @@ -120,7 +119,7 @@ openApi { protobuf { protoc { - artifact = "com.google.protobuf:protoc:${protobufJavaVersion}" + artifact = libs.protoc.get() } } diff --git a/springwolf-examples/springwolf-sns-example/build.gradle b/springwolf-examples/springwolf-sns-example/build.gradle index c1375e2de..97a971177 100644 --- a/springwolf-examples/springwolf-sns-example/build.gradle +++ b/springwolf-examples/springwolf-sns-example/build.gradle @@ -9,8 +9,6 @@ plugins { id 'com.bmuschko.docker-spring-boot-application' } -ext['springCloudAwsVersion'] = "3.2.0" - dependencies { implementation project(":springwolf-core") implementation project(":springwolf-plugins:springwolf-sns") @@ -21,38 +19,39 @@ dependencies { runtimeOnly project(":springwolf-add-ons:springwolf-json-schema") runtimeOnly project(":springwolf-ui") - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok + + runtimeOnly libs.spring.boot.starter.web - runtimeOnly "org.springframework.boot:spring-boot-starter-web" + implementation libs.slf4j.api + implementation libs.swagger.annotations.jakarta - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" - implementation "io.swagger.core.v3:swagger-annotations-jakarta:${swaggerVersion}" + runtimeOnly platform(libs.spring.cloud.aws.dependencies) + implementation platform(libs.spring.cloud.aws.dependencies) + implementation libs.spring.cloud.aws.sns + runtimeOnly libs.spring.cloud.aws.starter.sns - implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:$springCloudAwsVersion") - implementation 'io.awspring.cloud:spring-cloud-aws-sns' - implementation 'io.awspring.cloud:spring-cloud-aws-starter-sns' - permitUnusedDeclared 'io.awspring.cloud:spring-cloud-aws-starter-sns' implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework.boot:spring-boot-autoconfigure" - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-messaging" + implementation libs.spring.boot.autoconfigure + implementation libs.spring.boot + implementation libs.spring.context + implementation libs.spring.messaging - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-web" - testImplementation "org.springframework:spring-test" + testImplementation libs.spring.boot.test + testImplementation libs.spring.beans + testImplementation libs.spring.web + testImplementation libs.spring.test - testImplementation "org.testcontainers:testcontainers:${testcontainersVersion}" - testImplementation "org.testcontainers:junit-jupiter:${testcontainersVersion}" - testImplementation "org.testcontainers:localstack:${testcontainersVersion}" + testImplementation libs.testcontainers + testImplementation libs.testcontainers.junit.jupiter + testImplementation libs.testcontainers.localstack - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testCompileOnly "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok + testCompileOnly libs.lombok - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } docker { diff --git a/springwolf-examples/springwolf-sqs-example/build.gradle b/springwolf-examples/springwolf-sqs-example/build.gradle index 73c675bb5..0f078246d 100644 --- a/springwolf-examples/springwolf-sqs-example/build.gradle +++ b/springwolf-examples/springwolf-sqs-example/build.gradle @@ -9,8 +9,6 @@ plugins { id 'com.bmuschko.docker-spring-boot-application' } -ext['springCloudAwsVersion'] = "3.2.0" - dependencies { implementation project(":springwolf-core") implementation project(":springwolf-plugins:springwolf-sqs") @@ -20,40 +18,40 @@ dependencies { annotationProcessor project(":springwolf-plugins:springwolf-sqs") runtimeOnly project(":springwolf-ui") - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - runtimeOnly "org.springframework.boot:spring-boot-starter-web" + runtimeOnly libs.spring.boot.starter.web - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" - implementation "io.swagger.core.v3:swagger-annotations:${swaggerVersion}" + implementation libs.slf4j.api + implementation libs.swagger.annotations.jakarta - implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:$springCloudAwsVersion") - implementation 'io.awspring.cloud:spring-cloud-aws-sqs' - implementation 'io.awspring.cloud:spring-cloud-aws-starter-sqs' - permitUnusedDeclared 'io.awspring.cloud:spring-cloud-aws-starter-sqs' - implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework.boot:spring-boot-autoconfigure" - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework:spring-context" + runtimeOnly platform(libs.spring.cloud.aws.dependencies) + implementation platform(libs.spring.cloud.aws.dependencies) + implementation libs.spring.cloud.aws.sqs + runtimeOnly libs.spring.cloud.aws.starter.sqs - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + implementation platform(SpringBootPlugin.BOM_COORDINATES) + implementation libs.spring.boot.autoconfigure + implementation libs.spring.boot + implementation libs.spring.context - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-web" - testImplementation "org.springframework:spring-test" + testImplementation libs.mockito.core - testImplementation "org.testcontainers:testcontainers:${testcontainersVersion}" - testImplementation "org.testcontainers:junit-jupiter:${testcontainersVersion}" - testImplementation "org.testcontainers:localstack:${testcontainersVersion}" + testImplementation libs.spring.boot.test + testImplementation libs.spring.beans + testImplementation libs.spring.web + testImplementation libs.spring.test - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testCompileOnly "org.projectlombok:lombok:${lombokVersion}" + testImplementation libs.testcontainers + testImplementation libs.testcontainers.junit.jupiter + testImplementation libs.testcontainers.localstack - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testAnnotationProcessor libs.lombok + testCompileOnly libs.lombok + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } docker { diff --git a/springwolf-examples/springwolf-stomp-example/build.gradle b/springwolf-examples/springwolf-stomp-example/build.gradle index dffa1b5be..7b42b0ffa 100644 --- a/springwolf-examples/springwolf-stomp-example/build.gradle +++ b/springwolf-examples/springwolf-stomp-example/build.gradle @@ -17,42 +17,42 @@ dependencies { runtimeOnly project(":springwolf-ui") - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + testAnnotationProcessor libs.lombok + compileOnly libs.lombok implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-jcl" - implementation "org.springframework:spring-web" - implementation "org.springframework:spring-websocket" + implementation libs.spring.jcl + implementation libs.spring.web + implementation libs.spring.websocket - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework.boot:spring-boot-autoconfigure" - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-messaging" + implementation libs.spring.boot + implementation libs.spring.boot.autoconfigure + implementation libs.spring.context + implementation libs.spring.messaging - implementation "io.swagger.core.v3:swagger-annotations:${swaggerVersion}" + implementation libs.swagger.annotations.jakarta - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.slf4j.api - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-core" - testImplementation "org.springframework:spring-web" + testImplementation libs.spring.boot.test + testImplementation libs.spring.beans + testImplementation libs.spring.core + testImplementation libs.spring.web - permitTestUnusedDeclared "org.mockito:mockito-core:${mockitoCoreVersion}" - permitTestUnusedDeclared "org.mockito:mockito-junit-jupiter:${mockitoJunitJupiterVersion}" + permitTestUnusedDeclared libs.mockito.core + permitTestUnusedDeclared libs.mockito.junit.jupiter - testImplementation "org.testcontainers:testcontainers:${testcontainersVersion}" - testImplementation "org.testcontainers:junit-jupiter:${testcontainersVersion}" + testImplementation libs.testcontainers + testImplementation libs.testcontainers.junit.jupiter - testImplementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" + testImplementation libs.jakarta.annotation.api - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testCompileOnly "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok + testCompileOnly libs.lombok - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } docker { diff --git a/springwolf-plugins/springwolf-amqp-plugin/build.gradle b/springwolf-plugins/springwolf-amqp-plugin/build.gradle index 76b6ae5e8..abe09f1e1 100644 --- a/springwolf-plugins/springwolf-amqp-plugin/build.gradle +++ b/springwolf-plugins/springwolf-amqp-plugin/build.gradle @@ -13,40 +13,40 @@ dependencies { api project(":springwolf-bindings:springwolf-amqp-binding") permitUnusedDeclared project(":springwolf-bindings:springwolf-amqp-binding") - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.slf4j.api annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework:spring-web" - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework.boot:spring-boot-autoconfigure" - implementation "org.springframework.amqp:spring-amqp" - implementation "org.springframework.amqp:spring-rabbit" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.web + implementation libs.spring.boot + implementation libs.spring.boot.autoconfigure + implementation libs.spring.amqp + implementation libs.spring.rabbit - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" + implementation libs.jakarta.annotation.api - annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' + annotationProcessor libs.spring.boot.configuration.processor - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" + testImplementation libs.assertj.core - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" + testImplementation libs.mockito.core + testImplementation libs.jackson.databind - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-test" + testImplementation libs.spring.boot.test + testImplementation libs.spring.beans + testImplementation libs.spring.test - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } jar { diff --git a/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle b/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle index 6e3f8b366..72989c999 100644 --- a/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle +++ b/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle @@ -13,31 +13,32 @@ dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.slf4j.api implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation platform("org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion") - implementation "org.springframework:spring-context" - implementation "org.springframework.cloud:spring-cloud-stream" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation platform(libs.spring.cloud.dependencies) + implementation platform(libs.spring.cloud.aws.dependencies) + implementation libs.spring.context + implementation libs.spring.cloud.stream + implementation libs.spring.boot.autoconfigure - compileOnly "org.projectlombok:lombok:${lombokVersion}" - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" + compileOnly libs.lombok + annotationProcessor libs.lombok - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.apache.kafka:kafka-streams:${kafkaStreamsVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.kafka.streams + testImplementation libs.mockito.core - testImplementation "org.springframework.boot:spring-boot" - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-test" - testImplementation "org.springframework:spring-messaging" + testImplementation libs.spring.boot + testImplementation libs.spring.boot.test + testImplementation libs.spring.beans + testImplementation libs.spring.test + testImplementation libs.spring.messaging - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } jar { diff --git a/springwolf-plugins/springwolf-jms-plugin/build.gradle b/springwolf-plugins/springwolf-jms-plugin/build.gradle index 0eaf39a0d..72d33315f 100644 --- a/springwolf-plugins/springwolf-jms-plugin/build.gradle +++ b/springwolf-plugins/springwolf-jms-plugin/build.gradle @@ -13,48 +13,48 @@ dependencies { api project(":springwolf-bindings:springwolf-jms-binding") permitUnusedDeclared project(":springwolf-bindings:springwolf-jms-binding") - implementation "jakarta.jms:jakarta.jms-api" + implementation libs.jakarta.jms.api - implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.jakarta.annotation.api + implementation libs.slf4j.api - runtimeOnly "org.apache.activemq:activemq-broker" + runtimeOnly libs.activemq.broker annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework:spring-jms" - implementation "org.springframework:spring-web" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.jms + implementation libs.spring.web - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.boot + implementation libs.spring.boot.autoconfigure - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' + annotationProcessor libs.spring.boot.configuration.processor - testRuntimeOnly "org.springframework.boot:spring-boot-starter-web" + testRuntimeOnly libs.spring.boot.starter.web - testImplementation "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}" + testImplementation libs.jackson.annotations - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" + testImplementation libs.assertj.core - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.mockito.core - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-test" + testImplementation libs.spring.beans + testImplementation libs.spring.test - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework.boot:spring-boot-test-autoconfigure" + testImplementation libs.spring.boot.test + testImplementation libs.spring.boot.test.autoconfigure - testImplementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testCompileOnly "org.projectlombok:lombok:${lombokVersion}" + testImplementation libs.jackson.databind + testAnnotationProcessor libs.lombok + testCompileOnly libs.lombok - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } jar { diff --git a/springwolf-plugins/springwolf-kafka-plugin/build.gradle b/springwolf-plugins/springwolf-kafka-plugin/build.gradle index e3bd72fea..6d94b4cf6 100644 --- a/springwolf-plugins/springwolf-kafka-plugin/build.gradle +++ b/springwolf-plugins/springwolf-kafka-plugin/build.gradle @@ -13,50 +13,50 @@ dependencies { api project(":springwolf-bindings:springwolf-kafka-binding") permitUnusedDeclared project(":springwolf-bindings:springwolf-kafka-binding") - implementation "io.swagger.core.v3:swagger-models-jakarta:${swaggerVersion}" - permitUnusedDeclared "io.swagger.core.v3:swagger-models-jakarta:${swaggerVersion}" - implementation "org.apache.kafka:kafka-clients:${kafkaClientsVersion}" + implementation libs.swagger.models.jakarta + permitUnusedDeclared libs.swagger.models.jakarta + implementation libs.kafka.clients - implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.jakarta.annotation.api + implementation libs.slf4j.api annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework:spring-web" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.web - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.boot + implementation libs.spring.boot.autoconfigure - implementation "org.springframework.kafka:spring-kafka" + implementation libs.spring.kafka - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' + annotationProcessor libs.spring.boot.configuration.processor - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" - testCompileOnly "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok + testCompileOnly libs.lombok - testRuntimeOnly "org.springframework.boot:spring-boot-starter-web" + testRuntimeOnly libs.spring.boot.starter.web - testImplementation "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}" - testImplementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" + testImplementation libs.jackson.annotations + testImplementation libs.jackson.databind - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" - testImplementation "org.mockito:mockito-junit-jupiter:${mockitoJunitJupiterVersion}" + testImplementation libs.mockito.core + testImplementation libs.mockito.junit.jupiter - testImplementation "org.springframework.boot:spring-boot-test-autoconfigure" - testImplementation "org.springframework.boot:spring-boot-test" + testImplementation libs.spring.boot.test.autoconfigure + testImplementation libs.spring.boot.test - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-test" + testImplementation libs.spring.beans + testImplementation libs.spring.test - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" + testImplementation libs.assertj.core - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } jar { diff --git a/springwolf-plugins/springwolf-sns-plugin/build.gradle b/springwolf-plugins/springwolf-sns-plugin/build.gradle index 47a9d2d94..60cb13561 100644 --- a/springwolf-plugins/springwolf-sns-plugin/build.gradle +++ b/springwolf-plugins/springwolf-sns-plugin/build.gradle @@ -7,47 +7,45 @@ plugins { id 'ca.cutterslade.analyze' } -ext['springCloudAwsVersion'] = "3.2.0" - dependencies { api project(":springwolf-core") api project(":springwolf-bindings:springwolf-sns-binding") permitUnusedDeclared project(":springwolf-bindings:springwolf-sns-binding") - implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.jakarta.annotation.api + implementation libs.slf4j.api - implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:$springCloudAwsVersion") - implementation 'io.awspring.cloud:spring-cloud-aws-sns' - implementation "io.awspring.cloud:spring-cloud-aws-starter-sns:$springCloudAwsVersion" - permitUnusedDeclared "io.awspring.cloud:spring-cloud-aws-starter-sns:$springCloudAwsVersion" + runtimeOnly platform(libs.spring.cloud.aws.dependencies) + implementation platform(libs.spring.cloud.aws.dependencies) + implementation libs.spring.cloud.aws.sns + runtimeOnly libs.spring.cloud.aws.starter.sns annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-messaging" - implementation "org.springframework:spring-web" - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.context + implementation libs.spring.messaging + implementation libs.spring.web + implementation libs.spring.boot + implementation libs.spring.boot.autoconfigure - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' + annotationProcessor libs.spring.boot.configuration.processor - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.mockito.core - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-test" + testImplementation libs.spring.boot.test + testImplementation libs.spring.beans + testImplementation libs.spring.test - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } jar { diff --git a/springwolf-plugins/springwolf-sqs-plugin/build.gradle b/springwolf-plugins/springwolf-sqs-plugin/build.gradle index 02f40a88a..1d6e4d23a 100644 --- a/springwolf-plugins/springwolf-sqs-plugin/build.gradle +++ b/springwolf-plugins/springwolf-sqs-plugin/build.gradle @@ -7,48 +7,46 @@ plugins { id 'ca.cutterslade.analyze' } -ext['springCloudAwsVersion'] = "3.2.0" - dependencies { api project(":springwolf-asyncapi") api project(":springwolf-core") api project(":springwolf-bindings:springwolf-sqs-binding") permitUnusedDeclared project(":springwolf-bindings:springwolf-sqs-binding") - implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.jakarta.annotation.api + implementation libs.slf4j.api - implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:$springCloudAwsVersion") - implementation 'io.awspring.cloud:spring-cloud-aws-sqs' - implementation "io.awspring.cloud:spring-cloud-aws-starter-sqs:$springCloudAwsVersion" - permitUnusedDeclared "io.awspring.cloud:spring-cloud-aws-starter-sqs:$springCloudAwsVersion" + implementation platform(libs.spring.cloud.aws.dependencies) + implementation libs.spring.cloud.aws.sqs + implementation libs.spring.cloud.aws.starter.sqs + permitUnusedDeclared libs.spring.cloud.aws.starter.sqs annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework:spring-web" - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework.boot:spring-boot-autoconfigure" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.web + implementation libs.spring.boot + implementation libs.spring.boot.autoconfigure - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok - annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' + annotationProcessor libs.spring.boot.configuration.processor - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.assertj.core + testImplementation libs.mockito.core - testImplementation "org.springframework.boot:spring-boot-test" - testImplementation "org.springframework:spring-beans" - testImplementation "org.springframework:spring-test" + testImplementation libs.spring.boot.test + testImplementation libs.spring.beans + testImplementation libs.spring.test - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" + testAnnotationProcessor libs.lombok - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } jar { diff --git a/springwolf-plugins/springwolf-stomp-plugin/build.gradle b/springwolf-plugins/springwolf-stomp-plugin/build.gradle index 5fdfa2271..b166ebe5b 100644 --- a/springwolf-plugins/springwolf-stomp-plugin/build.gradle +++ b/springwolf-plugins/springwolf-stomp-plugin/build.gradle @@ -13,36 +13,35 @@ dependencies { api project(":springwolf-bindings:springwolf-stomp-binding") permitUnusedDeclared project(":springwolf-bindings:springwolf-stomp-binding") - implementation "io.swagger.core.v3:swagger-models-jakarta:${swaggerVersion}" - permitUnusedDeclared "io.swagger.core.v3:swagger-models-jakarta:${swaggerVersion}" + runtimeOnly libs.swagger.models.jakarta - implementation "jakarta.annotation:jakarta.annotation-api:${annotationApiVersion}" - implementation "org.slf4j:slf4j-api:${slf4jApiVersion}" + implementation libs.jakarta.annotation.api + implementation libs.slf4j.api annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) + runtimeOnly platform(SpringBootPlugin.BOM_COORDINATES) implementation platform(SpringBootPlugin.BOM_COORDINATES) - implementation "org.springframework:spring-context" - implementation "org.springframework:spring-core" - implementation "org.springframework:spring-messaging" + implementation libs.spring.context + implementation libs.spring.core + implementation libs.spring.messaging - implementation "org.springframework.boot:spring-boot" - implementation "org.springframework.boot:spring-boot-autoconfigure" - implementation "org.springframework.boot:spring-boot-starter-websocket" - permitUnusedDeclared("org.springframework.boot:spring-boot-starter-websocket") - annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' + implementation libs.spring.boot + implementation libs.spring.boot.autoconfigure + runtimeOnly libs.spring.boot.starter.websocket + annotationProcessor libs.spring.boot.configuration.processor - annotationProcessor "org.projectlombok:lombok:${lombokVersion}" - compileOnly "org.projectlombok:lombok:${lombokVersion}" - testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}" + annotationProcessor libs.lombok + compileOnly libs.lombok + testAnnotationProcessor libs.lombok - testRuntimeOnly "org.springframework.boot:spring-boot-starter-web" + testRuntimeOnly libs.spring.boot.starter.web - testImplementation "org.mockito:mockito-core:${mockitoCoreVersion}" + testImplementation libs.mockito.core - testImplementation "org.assertj:assertj-core:${assertjCoreVersion}" + testImplementation libs.assertj.core - testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter:${junitJupiterVersion}" + testImplementation libs.junit.jupiter.api + testRuntimeOnly libs.junit.jupiter } jar { diff --git a/springwolf-ui/build.gradle b/springwolf-ui/build.gradle index 83023304a..da761c663 100644 --- a/springwolf-ui/build.gradle +++ b/springwolf-ui/build.gradle @@ -1,11 +1,11 @@ plugins { id 'java' - id 'com.github.node-gradle.node' version '7.1.0' + alias libs.plugins.node } node { - version = '18.20.3' - npmVersion = '10.7.0' + version = libs.versions.nodeVersion + npmVersion = libs.versions.npm download = true } From 43427cd864195c5d6e784408265aa62bfd392305 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sun, 6 Oct 2024 22:25:56 +0200 Subject: [PATCH 06/19] chore: use gradle versions toml for all plugins --- springwolf-add-ons/springwolf-generic-binding/build.gradle | 4 ++-- springwolf-add-ons/springwolf-json-schema/build.gradle | 4 ++-- .../build.gradle | 4 ++-- springwolf-asyncapi/build.gradle | 4 ++-- springwolf-bindings/springwolf-amqp-binding/build.gradle | 4 ++-- .../springwolf-googlepubsub-binding/build.gradle | 4 ++-- springwolf-bindings/springwolf-jms-binding/build.gradle | 4 ++-- springwolf-bindings/springwolf-kafka-binding/build.gradle | 4 ++-- springwolf-bindings/springwolf-sns-binding/build.gradle | 4 ++-- springwolf-bindings/springwolf-sqs-binding/build.gradle | 4 ++-- springwolf-bindings/springwolf-stomp-binding/build.gradle | 4 ++-- springwolf-core/build.gradle | 4 ++-- springwolf-examples/springwolf-amqp-example/build.gradle | 6 +++--- .../springwolf-cloud-stream-example/build.gradle | 6 +++--- springwolf-examples/springwolf-jms-example/build.gradle | 6 +++--- springwolf-examples/springwolf-kafka-example/build.gradle | 6 +++--- springwolf-examples/springwolf-sns-example/build.gradle | 6 +++--- springwolf-examples/springwolf-sqs-example/build.gradle | 6 +++--- springwolf-examples/springwolf-stomp-example/build.gradle | 6 +++--- springwolf-plugins/springwolf-amqp-plugin/build.gradle | 4 ++-- .../springwolf-cloud-stream-plugin/build.gradle | 4 ++-- springwolf-plugins/springwolf-jms-plugin/build.gradle | 4 ++-- springwolf-plugins/springwolf-kafka-plugin/build.gradle | 4 ++-- springwolf-plugins/springwolf-sns-plugin/build.gradle | 4 ++-- springwolf-plugins/springwolf-sqs-plugin/build.gradle | 4 ++-- springwolf-plugins/springwolf-stomp-plugin/build.gradle | 4 ++-- 26 files changed, 59 insertions(+), 59 deletions(-) diff --git a/springwolf-add-ons/springwolf-generic-binding/build.gradle b/springwolf-add-ons/springwolf-generic-binding/build.gradle index 8e32e70c0..894a6b738 100644 --- a/springwolf-add-ons/springwolf-generic-binding/build.gradle +++ b/springwolf-add-ons/springwolf-generic-binding/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-add-ons/springwolf-json-schema/build.gradle b/springwolf-add-ons/springwolf-json-schema/build.gradle index 20b0b995c..1519f3170 100644 --- a/springwolf-add-ons/springwolf-json-schema/build.gradle +++ b/springwolf-add-ons/springwolf-json-schema/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle b/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle index a43dca286..55abff37c 100644 --- a/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle +++ b/springwolf-add-ons/springwolf-kotlinx-serialization-model-converter/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze alias libs.plugins.kotlin.jvm alias libs.plugins.kotlin.serialization diff --git a/springwolf-asyncapi/build.gradle b/springwolf-asyncapi/build.gradle index 5c896dec7..82e5f7b5f 100644 --- a/springwolf-asyncapi/build.gradle +++ b/springwolf-asyncapi/build.gradle @@ -1,8 +1,8 @@ plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-bindings/springwolf-amqp-binding/build.gradle b/springwolf-bindings/springwolf-amqp-binding/build.gradle index 698f3e6fa..e12cabf1f 100644 --- a/springwolf-bindings/springwolf-amqp-binding/build.gradle +++ b/springwolf-bindings/springwolf-amqp-binding/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle b/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle index ac194044b..713107ef9 100644 --- a/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle +++ b/springwolf-bindings/springwolf-googlepubsub-binding/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-bindings/springwolf-jms-binding/build.gradle b/springwolf-bindings/springwolf-jms-binding/build.gradle index 0d3174d04..75ada9d29 100644 --- a/springwolf-bindings/springwolf-jms-binding/build.gradle +++ b/springwolf-bindings/springwolf-jms-binding/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-bindings/springwolf-kafka-binding/build.gradle b/springwolf-bindings/springwolf-kafka-binding/build.gradle index fbfccb200..9d15ceed2 100644 --- a/springwolf-bindings/springwolf-kafka-binding/build.gradle +++ b/springwolf-bindings/springwolf-kafka-binding/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-bindings/springwolf-sns-binding/build.gradle b/springwolf-bindings/springwolf-sns-binding/build.gradle index 584cf3751..533b510f2 100644 --- a/springwolf-bindings/springwolf-sns-binding/build.gradle +++ b/springwolf-bindings/springwolf-sns-binding/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-bindings/springwolf-sqs-binding/build.gradle b/springwolf-bindings/springwolf-sqs-binding/build.gradle index a7c66d59d..75bb87cb6 100644 --- a/springwolf-bindings/springwolf-sqs-binding/build.gradle +++ b/springwolf-bindings/springwolf-sqs-binding/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-bindings/springwolf-stomp-binding/build.gradle b/springwolf-bindings/springwolf-stomp-binding/build.gradle index be31c0e64..ef6b3a6d1 100644 --- a/springwolf-bindings/springwolf-stomp-binding/build.gradle +++ b/springwolf-bindings/springwolf-stomp-binding/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-core/build.gradle b/springwolf-core/build.gradle index abd808c5b..bee62e8e0 100644 --- a/springwolf-core/build.gradle +++ b/springwolf-core/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-examples/springwolf-amqp-example/build.gradle b/springwolf-examples/springwolf-amqp-example/build.gradle index 140fd7029..8e2788e8a 100644 --- a/springwolf-examples/springwolf-amqp-example/build.gradle +++ b/springwolf-examples/springwolf-amqp-example/build.gradle @@ -3,10 +3,10 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze - id 'com.bmuschko.docker-spring-boot-application' + alias libs.plugins.docker.spring.boot } dependencies { diff --git a/springwolf-examples/springwolf-cloud-stream-example/build.gradle b/springwolf-examples/springwolf-cloud-stream-example/build.gradle index c4ba57d8a..39ae2ca05 100644 --- a/springwolf-examples/springwolf-cloud-stream-example/build.gradle +++ b/springwolf-examples/springwolf-cloud-stream-example/build.gradle @@ -3,9 +3,9 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' - id 'com.bmuschko.docker-spring-boot-application' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze + alias libs.plugins.docker.spring.boot } dependencies { diff --git a/springwolf-examples/springwolf-jms-example/build.gradle b/springwolf-examples/springwolf-jms-example/build.gradle index 7e5753513..745502025 100644 --- a/springwolf-examples/springwolf-jms-example/build.gradle +++ b/springwolf-examples/springwolf-jms-example/build.gradle @@ -3,10 +3,10 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze - id 'com.bmuschko.docker-spring-boot-application' + alias libs.plugins.docker.spring.boot } dependencies { diff --git a/springwolf-examples/springwolf-kafka-example/build.gradle b/springwolf-examples/springwolf-kafka-example/build.gradle index 3829c222a..a34fb0a36 100644 --- a/springwolf-examples/springwolf-kafka-example/build.gradle +++ b/springwolf-examples/springwolf-kafka-example/build.gradle @@ -3,10 +3,10 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze - id 'com.bmuschko.docker-spring-boot-application' + alias libs.plugins.docker.spring.boot alias libs.plugins.openapi.gradle alias libs.plugins.avro diff --git a/springwolf-examples/springwolf-sns-example/build.gradle b/springwolf-examples/springwolf-sns-example/build.gradle index 97a971177..8abe57e6b 100644 --- a/springwolf-examples/springwolf-sns-example/build.gradle +++ b/springwolf-examples/springwolf-sns-example/build.gradle @@ -3,10 +3,10 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze - id 'com.bmuschko.docker-spring-boot-application' + alias libs.plugins.docker.spring.boot } dependencies { diff --git a/springwolf-examples/springwolf-sqs-example/build.gradle b/springwolf-examples/springwolf-sqs-example/build.gradle index 0f078246d..db60a5925 100644 --- a/springwolf-examples/springwolf-sqs-example/build.gradle +++ b/springwolf-examples/springwolf-sqs-example/build.gradle @@ -3,10 +3,10 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze - id 'com.bmuschko.docker-spring-boot-application' + alias libs.plugins.docker.spring.boot } dependencies { diff --git a/springwolf-examples/springwolf-stomp-example/build.gradle b/springwolf-examples/springwolf-stomp-example/build.gradle index 7b42b0ffa..065ee5886 100644 --- a/springwolf-examples/springwolf-stomp-example/build.gradle +++ b/springwolf-examples/springwolf-stomp-example/build.gradle @@ -3,10 +3,10 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze - id 'com.bmuschko.docker-spring-boot-application' + alias libs.plugins.docker.spring.boot } dependencies { diff --git a/springwolf-plugins/springwolf-amqp-plugin/build.gradle b/springwolf-plugins/springwolf-amqp-plugin/build.gradle index abe09f1e1..f3f5ebadf 100644 --- a/springwolf-plugins/springwolf-amqp-plugin/build.gradle +++ b/springwolf-plugins/springwolf-amqp-plugin/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle b/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle index 72989c999..c7dcf9f52 100644 --- a/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle +++ b/springwolf-plugins/springwolf-cloud-stream-plugin/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } ext['springCloudVersion'] = "2022.0.1" diff --git a/springwolf-plugins/springwolf-jms-plugin/build.gradle b/springwolf-plugins/springwolf-jms-plugin/build.gradle index 72d33315f..df740f552 100644 --- a/springwolf-plugins/springwolf-jms-plugin/build.gradle +++ b/springwolf-plugins/springwolf-jms-plugin/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-plugins/springwolf-kafka-plugin/build.gradle b/springwolf-plugins/springwolf-kafka-plugin/build.gradle index 6d94b4cf6..3b88e09e9 100644 --- a/springwolf-plugins/springwolf-kafka-plugin/build.gradle +++ b/springwolf-plugins/springwolf-kafka-plugin/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-plugins/springwolf-sns-plugin/build.gradle b/springwolf-plugins/springwolf-sns-plugin/build.gradle index 60cb13561..d6c3a6ea7 100644 --- a/springwolf-plugins/springwolf-sns-plugin/build.gradle +++ b/springwolf-plugins/springwolf-sns-plugin/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-plugins/springwolf-sqs-plugin/build.gradle b/springwolf-plugins/springwolf-sqs-plugin/build.gradle index 1d6e4d23a..4a7571a06 100644 --- a/springwolf-plugins/springwolf-sqs-plugin/build.gradle +++ b/springwolf-plugins/springwolf-sqs-plugin/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { diff --git a/springwolf-plugins/springwolf-stomp-plugin/build.gradle b/springwolf-plugins/springwolf-stomp-plugin/build.gradle index b166ebe5b..bc1767c9c 100644 --- a/springwolf-plugins/springwolf-stomp-plugin/build.gradle +++ b/springwolf-plugins/springwolf-stomp-plugin/build.gradle @@ -3,8 +3,8 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'java-library' - id 'org.springframework.boot' - id 'ca.cutterslade.analyze' + alias libs.plugins.spring.boot + alias libs.plugins.cutterslade.analyze } dependencies { From 75215524e654dbdab98b1b335cba7f9536e1892b Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sun, 6 Oct 2024 22:36:54 +0200 Subject: [PATCH 07/19] chore: clean up permitUnused deps --- springwolf-core/build.gradle | 3 +-- springwolf-examples/springwolf-amqp-example/build.gradle | 2 +- .../springwolf-cloud-stream-example/build.gradle | 2 +- springwolf-examples/springwolf-kafka-example/build.gradle | 2 -- springwolf-examples/springwolf-stomp-example/build.gradle | 3 --- springwolf-plugins/springwolf-kafka-plugin/build.gradle | 3 +-- springwolf-plugins/springwolf-sqs-plugin/build.gradle | 4 ++-- 7 files changed, 6 insertions(+), 13 deletions(-) diff --git a/springwolf-core/build.gradle b/springwolf-core/build.gradle index bee62e8e0..be2887d0e 100644 --- a/springwolf-core/build.gradle +++ b/springwolf-core/build.gradle @@ -9,8 +9,7 @@ plugins { dependencies { api project(":springwolf-asyncapi") - testImplementation project(":springwolf-add-ons:springwolf-common-model-converters") - permitTestUnusedDeclared project(":springwolf-add-ons:springwolf-common-model-converters") + testRuntimeOnly project(":springwolf-add-ons:springwolf-common-model-converters") implementation libs.swagger.annotations.jakarta implementation libs.swagger.core.jakarta diff --git a/springwolf-examples/springwolf-amqp-example/build.gradle b/springwolf-examples/springwolf-amqp-example/build.gradle index 8e2788e8a..b18eee7b1 100644 --- a/springwolf-examples/springwolf-amqp-example/build.gradle +++ b/springwolf-examples/springwolf-amqp-example/build.gradle @@ -24,7 +24,7 @@ dependencies { runtimeOnly libs.spring.boot.starter.web implementation libs.spring.rabbit - permitUsedUndeclared libs.amqp.client + implementation libs.amqp.client implementation libs.slf4j.api implementation libs.swagger.annotations.jakarta diff --git a/springwolf-examples/springwolf-cloud-stream-example/build.gradle b/springwolf-examples/springwolf-cloud-stream-example/build.gradle index 39ae2ca05..8cffe4df3 100644 --- a/springwolf-examples/springwolf-cloud-stream-example/build.gradle +++ b/springwolf-examples/springwolf-cloud-stream-example/build.gradle @@ -9,7 +9,7 @@ plugins { } dependencies { - permitUnusedDeclared(implementation project(":springwolf-core")) + runtimeOnly project(":springwolf-core") runtimeOnly project(":springwolf-plugins:springwolf-cloud-stream") implementation project(":springwolf-bindings:springwolf-googlepubsub-binding") diff --git a/springwolf-examples/springwolf-kafka-example/build.gradle b/springwolf-examples/springwolf-kafka-example/build.gradle index a34fb0a36..531d9e163 100644 --- a/springwolf-examples/springwolf-kafka-example/build.gradle +++ b/springwolf-examples/springwolf-kafka-example/build.gradle @@ -79,8 +79,6 @@ dependencies { testImplementation libs.testcontainers testImplementation libs.testcontainers.junit.jupiter - permitTestUnusedDeclared libs.kafka.clients - runtimeOnly libs.spring.boot.starter.actuator testAnnotationProcessor libs.lombok diff --git a/springwolf-examples/springwolf-stomp-example/build.gradle b/springwolf-examples/springwolf-stomp-example/build.gradle index 065ee5886..ed97a0b75 100644 --- a/springwolf-examples/springwolf-stomp-example/build.gradle +++ b/springwolf-examples/springwolf-stomp-example/build.gradle @@ -40,9 +40,6 @@ dependencies { testImplementation libs.spring.core testImplementation libs.spring.web - permitTestUnusedDeclared libs.mockito.core - permitTestUnusedDeclared libs.mockito.junit.jupiter - testImplementation libs.testcontainers testImplementation libs.testcontainers.junit.jupiter diff --git a/springwolf-plugins/springwolf-kafka-plugin/build.gradle b/springwolf-plugins/springwolf-kafka-plugin/build.gradle index 3b88e09e9..a02e8e5bc 100644 --- a/springwolf-plugins/springwolf-kafka-plugin/build.gradle +++ b/springwolf-plugins/springwolf-kafka-plugin/build.gradle @@ -13,8 +13,7 @@ dependencies { api project(":springwolf-bindings:springwolf-kafka-binding") permitUnusedDeclared project(":springwolf-bindings:springwolf-kafka-binding") - implementation libs.swagger.models.jakarta - permitUnusedDeclared libs.swagger.models.jakarta + runtimeOnly libs.swagger.models.jakarta implementation libs.kafka.clients implementation libs.jakarta.annotation.api diff --git a/springwolf-plugins/springwolf-sqs-plugin/build.gradle b/springwolf-plugins/springwolf-sqs-plugin/build.gradle index 4a7571a06..499f7a4b2 100644 --- a/springwolf-plugins/springwolf-sqs-plugin/build.gradle +++ b/springwolf-plugins/springwolf-sqs-plugin/build.gradle @@ -16,10 +16,10 @@ dependencies { implementation libs.jakarta.annotation.api implementation libs.slf4j.api + runtimeOnly platform(libs.spring.cloud.aws.dependencies) implementation platform(libs.spring.cloud.aws.dependencies) implementation libs.spring.cloud.aws.sqs - implementation libs.spring.cloud.aws.starter.sqs - permitUnusedDeclared libs.spring.cloud.aws.starter.sqs + runtimeOnly libs.spring.cloud.aws.starter.sqs annotationProcessor platform(SpringBootPlugin.BOM_COORDINATES) implementation platform(SpringBootPlugin.BOM_COORDINATES) From 6a36b4fa604ce7b6066f7389db0f81449c5e514f Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sat, 12 Oct 2024 16:27:00 +0200 Subject: [PATCH 08/19] test(kafka): ProducerSystemTest stability --- .../examples/kafka/KafkaProducerSystemTest.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java index a4b8b8ea5..6c1a1e403 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java @@ -23,7 +23,6 @@ import org.springframework.boot.ssl.DefaultSslBundleRegistry; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.SpyBean; -import org.springframework.test.context.TestPropertySource; import org.testcontainers.containers.DockerComposeContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; @@ -47,7 +46,6 @@ classes = {SpringwolfKafkaExampleApplication.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @Testcontainers -@TestPropertySource(properties = {"spring.kafka.bootstrap-servers=localhost:9092"}) @TestMethodOrder(OrderAnnotation.class) @Slf4j // @Ignore("Uncomment this line if you have issues running this test on your local machine.") @@ -75,8 +73,16 @@ public class KafkaProducerSystemTest { public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory .withServices(KAFKA_NAME, USE_SCHEMA_REGISTRY ? "kafka-schema-registry" : "") + .withExposedService(KAFKA_NAME, 9092) .withLogConsumer(KAFKA_NAME, l -> log.debug("kafka: {}", l.getUtf8StringWithoutLineEnding())); + static { + // Kafka port must be mapped, since the docker-compose setup KAFKA_ADVERTISED_LISTENERS is set to 9092 + environment + .getContainerByServiceName(KAFKA_NAME) + .map(container -> container.getPortBindings().add("9092:9092")); + } + @Test @Order(1) void verifyKafkaIsAvailable() { From fef641d9e8a85c937bbfd5f20a33e9074e7bdf01 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sat, 12 Oct 2024 16:27:28 +0200 Subject: [PATCH 09/19] test(kafka): remove unnecessary EmbeddedKafka instances --- .gitignore | 1 + .../kafka/ApiIntegrationWithActuatorIntegrationTest.java | 3 --- .../examples/kafka/SpringContextIntegrationTest.java | 5 ----- .../SpringwolfKafkaExampleApplicationIntegrationTest.java | 4 ---- 4 files changed, 1 insertion(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 690fcb3b0..1b0d83a39 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ springwolf-plugins/springwolf-sqs-plugin/build/ springwolf-bindings/springwolf-sqs-binding/build/ .gradle/ +.kotlin/ .idea/ /gradle.properties node_modules/ diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiIntegrationWithActuatorIntegrationTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiIntegrationWithActuatorIntegrationTest.java index d3b651a30..c0c0d87aa 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiIntegrationWithActuatorIntegrationTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiIntegrationWithActuatorIntegrationTest.java @@ -7,7 +7,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.boot.test.web.server.LocalServerPort; -import org.springframework.kafka.test.context.EmbeddedKafka; import java.io.IOException; import java.io.InputStream; @@ -19,11 +18,9 @@ classes = {SpringwolfKafkaExampleApplication.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = { - "spring.kafka.bootstrap-servers=${spring.embedded.kafka.brokers}", "springwolf.endpoint.actuator.enabled=true", "management.endpoints.web.exposure.include=springwolf" }) -@EmbeddedKafka public class ApiIntegrationWithActuatorIntegrationTest { @Autowired diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/SpringContextIntegrationTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/SpringContextIntegrationTest.java index acacaf2f7..19282f1c2 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/SpringContextIntegrationTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/SpringContextIntegrationTest.java @@ -7,7 +7,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; -import org.springframework.kafka.test.context.EmbeddedKafka; import org.springframework.test.context.TestPropertySource; import static org.assertj.core.api.Assertions.assertThat; @@ -16,11 +15,9 @@ public class SpringContextIntegrationTest { @SpringBootTest(classes = SpringwolfKafkaExampleApplication.class) - @EmbeddedKafka @Nested @TestPropertySource( properties = { - "spring.kafka.bootstrap-servers=${spring.embedded.kafka.brokers}", "springwolf.enabled=true", "springwolf.docket.info.title=Info title was loaded from spring properties", "springwolf.docket.info.version=1.0.0", @@ -63,11 +60,9 @@ void testAllChannelsAreFound() { } @SpringBootTest(classes = SpringwolfKafkaExampleApplication.class) - @EmbeddedKafka @Nested @TestPropertySource( properties = { - "spring.kafka.bootstrap-servers=${spring.embedded.kafka.brokers}", "springwolf.scanner.async-listener.enabled=false", "springwolf.scanner.async-publisher.enabled=false", "springwolf.scanner.consumer-data.enabled=false", diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/SpringwolfKafkaExampleApplicationIntegrationTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/SpringwolfKafkaExampleApplicationIntegrationTest.java index f04ce4387..0fb4d26d3 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/SpringwolfKafkaExampleApplicationIntegrationTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/SpringwolfKafkaExampleApplicationIntegrationTest.java @@ -5,16 +5,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; -import org.springframework.kafka.test.context.EmbeddedKafka; -import org.springframework.test.context.TestPropertySource; import static org.junit.jupiter.api.Assertions.assertNotNull; @SpringBootTest( classes = {SpringwolfKafkaExampleApplication.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -@EmbeddedKafka -@TestPropertySource(properties = {"spring.kafka.bootstrap-servers=${spring.embedded.kafka.brokers}"}) class SpringwolfKafkaExampleApplicationIntegrationTest { @Autowired From b583cb21188c751e764d4b087da878c5c0c72da5 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sat, 12 Oct 2024 16:41:26 +0200 Subject: [PATCH 10/19] chore(kafka): remove swagger-annotations dependency --- gradle/libs.versions.toml | 1 - springwolf-examples/springwolf-kafka-example/build.gradle | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 26bf36bf9..19087fe2a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -110,7 +110,6 @@ spring-test = { module = "org.springframework:spring-test", version.ref = "sprin spring-web = { module = "org.springframework:spring-web", version.ref = "springframework" } spring-webmvc = { module = "org.springframework:spring-webmvc", version.ref = "springframework" } spring-websocket = { module = "org.springframework:spring-websocket", version.ref = "springframework" } -swagger-annotations = { module = "io.swagger.core.v3:swagger-annotations", version.ref = "io-swagger-core-v3" } swagger-annotations-jakarta = { module = "io.swagger.core.v3:swagger-annotations-jakarta", version.ref = "io-swagger-core-v3" } swagger-core-jakarta = { module = "io.swagger.core.v3:swagger-core-jakarta", version.ref = "io-swagger-core-v3" } swagger-models-jakarta = { module = "io.swagger.core.v3:swagger-models-jakarta", version.ref = "io-swagger-core-v3" } diff --git a/springwolf-examples/springwolf-kafka-example/build.gradle b/springwolf-examples/springwolf-kafka-example/build.gradle index 531d9e163..1d6e82fc7 100644 --- a/springwolf-examples/springwolf-kafka-example/build.gradle +++ b/springwolf-examples/springwolf-kafka-example/build.gradle @@ -46,7 +46,9 @@ dependencies { implementation libs.spring.security.web implementation libs.avro - runtimeOnly libs.kafka.avro.serializer + runtimeOnly dependencies.create(libs.kafka.avro.serializer.get()) { + exclude group: 'io.swagger.core.v3', module: 'swagger-annotations' + } runtimeOnly libs.kafka.protobuf.serializer implementation libs.protobuf.java From de36ebd746fc8724cc3a4e5e6ec00e8e874f8532 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sun, 13 Oct 2024 17:15:29 +0200 Subject: [PATCH 11/19] chore(deps): update deps --- gradle/libs.versions.toml | 71 +++++++++---------- .../springwolf-kafka-example/build.gradle | 7 +- 2 files changed, 35 insertions(+), 43 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 19087fe2a..3d8031134 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -22,16 +22,10 @@ protobuf-plugin = "0.9.4" spotless = "6.25.0" spring = "3.3.4" spring-cloud = "2022.0.1" -# ideally, spring boot version are managed by bom -springframework = "." -amqp = "." -boot = "." -cloud = "." -kafka = "." -security = "." +spring-managed = "." [libraries] -activemq-broker = "org.apache.activemq:activemq-broker:." +activemq-broker = { module = "org.apache.activemq:activemq-broker", version.ref = "spring-managed" } amqp-client = "com.rabbitmq:amqp-client:5.21.0" assertj-core = "org.assertj:assertj-core:3.26.3" avro = "org.apache.avro:avro:1.12.0" @@ -54,7 +48,7 @@ junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "org junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "org-junit-jupiter" } junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref = "org-junit-jupiter" } kafka-avro-serializer = { module = "io.confluent:kafka-avro-serializer", version.ref = "io-confluent" } -kafka-clients = "org.apache.kafka:kafka-clients:7.7.1-ccs" +kafka-clients = "org.apache.kafka:kafka-clients:3.7.1" kafka-streams = "org.apache.kafka:kafka-streams:3.8.0" kafka-protobuf-serializer = { module = "io.confluent:kafka-protobuf-serializer", version.ref = "io-confluent" } kotlin-build-tools-impl = { module = "org.jetbrains.kotlin:kotlin-build-tools-impl", version.ref = "org-jetbrains-kotlin" } @@ -80,36 +74,37 @@ spring-cloud-aws-sns = { module = "io.awspring.cloud:spring-cloud-aws-sns", vers spring-cloud-aws-sqs = { module = "io.awspring.cloud:spring-cloud-aws-sqs", version.ref = "io-awspring-cloud" } spring-cloud-aws-starter-sns = { module = "io.awspring.cloud:spring-cloud-aws-starter-sns", version.ref = "io-awspring-cloud" } spring-cloud-aws-starter-sqs = { module = "io.awspring.cloud:spring-cloud-aws-starter-sqs", version.ref = "io-awspring-cloud" } -spring-amqp = { module = "org.springframework.amqp:spring-amqp", version.ref = "amqp" } -spring-rabbit = { module = "org.springframework.amqp:spring-rabbit", version.ref = "amqp" } -spring-boot = { module = "org.springframework.boot:spring-boot", version.ref = "boot" } -spring-boot-actuator = { module = "org.springframework.boot:spring-boot-actuator", version.ref = "boot" } -spring-boot-autoconfigure = { module = "org.springframework.boot:spring-boot-autoconfigure", version.ref = "boot" } -spring-boot-configuration-processor = { module = "org.springframework.boot:spring-boot-configuration-processor", version.ref = "boot" } -spring-boot-dependencies = { module = "org.springframework.boot:spring-boot-dependencies", version.ref = "boot" } -spring-boot-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator", version.ref = "boot" } -spring-boot-starter-artemis = { module = "org.springframework.boot:spring-boot-starter-artemis", version.ref = "boot" } -spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web", version.ref = "boot" } -spring-boot-starter-websocket = { module = "org.springframework.boot:spring-boot-starter-websocket", version.ref = "boot" } -spring-boot-test = { module = "org.springframework.boot:spring-boot-test", version.ref = "boot" } -spring-boot-test-autoconfigure = { module = "org.springframework.boot:spring-boot-test-autoconfigure", version.ref = "boot" } +spring-amqp = { module = "org.springframework.amqp:spring-amqp", version.ref = "spring-managed" } +spring-rabbit = { module = "org.springframework.amqp:spring-rabbit", version.ref = "spring-managed" } +spring-boot = { module = "org.springframework.boot:spring-boot", version.ref = "spring-managed" } +spring-boot-actuator = { module = "org.springframework.boot:spring-boot-actuator", version.ref = "spring-managed" } +spring-boot-autoconfigure = { module = "org.springframework.boot:spring-boot-autoconfigure", version.ref = "spring-managed" } +spring-boot-configuration-processor = { module = "org.springframework.boot:spring-boot-configuration-processor", version.ref = "spring-managed" } +spring-boot-dependencies = { module = "org.springframework.boot:spring-boot-dependencies", version.ref = "spring-managed" } +spring-boot-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator", version.ref = "spring-managed" } +spring-boot-starter-artemis = { module = "org.springframework.boot:spring-boot-starter-artemis", version.ref = "spring-managed" } +spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web", version.ref = "spring-managed" } +spring-boot-starter-websocket = { module = "org.springframework.boot:spring-boot-starter-websocket", version.ref = "spring-managed" } +spring-boot-test = { module = "org.springframework.boot:spring-boot-test", version.ref = "spring-managed" } +spring-boot-test-autoconfigure = { module = "org.springframework.boot:spring-boot-test-autoconfigure", version.ref = "spring-managed" } spring-cloud-dependencies = { module = "org.springframework.cloud:spring-cloud-dependencies", version.ref = "spring-cloud" } -spring-cloud-starter-stream-kafka = { module = "org.springframework.cloud:spring-cloud-starter-stream-kafka", version.ref = "cloud" } -spring-cloud-stream = { module = "org.springframework.cloud:spring-cloud-stream", version.ref = "cloud" } -spring-kafka = { module = "org.springframework.kafka:spring-kafka", version.ref = "kafka" } -spring-kafka-test = { module = "org.springframework.kafka:spring-kafka-test", version.ref = "kafka" } -spring-security-config = { module = "org.springframework.security:spring-security-config", version.ref = "security" } -spring-security-web = { module = "org.springframework.security:spring-security-web", version.ref = "security" } -spring-beans = { module = "org.springframework:spring-beans", version.ref = "springframework" } -spring-context = { module = "org.springframework:spring-context", version.ref = "springframework" } -spring-core = { module = "org.springframework:spring-core", version.ref = "springframework" } -spring-jcl = { module = "org.springframework:spring-jcl", version.ref = "springframework" } -spring-jms = { module = "org.springframework:spring-jms", version.ref = "springframework" } -spring-messaging = { module = "org.springframework:spring-messaging", version.ref = "springframework" } -spring-test = { module = "org.springframework:spring-test", version.ref = "springframework" } -spring-web = { module = "org.springframework:spring-web", version.ref = "springframework" } -spring-webmvc = { module = "org.springframework:spring-webmvc", version.ref = "springframework" } -spring-websocket = { module = "org.springframework:spring-websocket", version.ref = "springframework" } +spring-cloud-starter-stream-kafka = { module = "org.springframework.cloud:spring-cloud-starter-stream-kafka", version.ref = "spring-managed" } +spring-cloud-stream = { module = "org.springframework.cloud:spring-cloud-stream", version.ref = "spring-managed" } +spring-kafka = { module = "org.springframework.kafka:spring-kafka", version.ref = "spring-managed" } +spring-kafka-test = { module = "org.springframework.kafka:spring-kafka-test", version.ref = "spring-managed" } +spring-security-config = { module = "org.springframework.security:spring-security-config", version.ref = "spring-managed" } +spring-security-web = { module = "org.springframework.security:spring-security-web", version.ref = "spring-managed" } +spring-beans = { module = "org.springframework:spring-beans", version.ref = "spring-managed" } +spring-context = { module = "org.springframework:spring-context", version.ref = "spring-managed" } +spring-core = { module = "org.springframework:spring-core", version.ref = "spring-managed" } +spring-jcl = { module = "org.springframework:spring-jcl", version.ref = "spring-managed" } +spring-jms = { module = "org.springframework:spring-jms", version.ref = "spring-managed" } +spring-messaging = { module = "org.springframework:spring-messaging", version.ref = "spring-managed" } +spring-test = { module = "org.springframework:spring-test", version.ref = "spring-managed" } +spring-web = { module = "org.springframework:spring-web", version.ref = "spring-managed" } +spring-webmvc = { module = "org.springframework:spring-webmvc", version.ref = "spring-managed" } +spring-websocket = { module = "org.springframework:spring-websocket", version.ref = "spring-managed" } +swagger-annotations-outdated = { module = "io.swagger.core.v3:swagger-annotations", version.ref = "io-swagger-core-v3" } swagger-annotations-jakarta = { module = "io.swagger.core.v3:swagger-annotations-jakarta", version.ref = "io-swagger-core-v3" } swagger-core-jakarta = { module = "io.swagger.core.v3:swagger-core-jakarta", version.ref = "io-swagger-core-v3" } swagger-models-jakarta = { module = "io.swagger.core.v3:swagger-models-jakarta", version.ref = "io-swagger-core-v3" } diff --git a/springwolf-examples/springwolf-kafka-example/build.gradle b/springwolf-examples/springwolf-kafka-example/build.gradle index 1d6e82fc7..bd6722d37 100644 --- a/springwolf-examples/springwolf-kafka-example/build.gradle +++ b/springwolf-examples/springwolf-kafka-example/build.gradle @@ -46,9 +46,7 @@ dependencies { implementation libs.spring.security.web implementation libs.avro - runtimeOnly dependencies.create(libs.kafka.avro.serializer.get()) { - exclude group: 'io.swagger.core.v3', module: 'swagger-annotations' - } + runtimeOnly libs.kafka.avro.serializer runtimeOnly libs.kafka.protobuf.serializer implementation libs.protobuf.java @@ -60,7 +58,7 @@ dependencies { implementation libs.jakarta.xml.bind.api - implementation libs.swagger.annotations.jakarta + implementation libs.swagger.annotations.outdated implementation libs.swagger.core.jakarta implementation libs.slf4j.api @@ -75,7 +73,6 @@ dependencies { testImplementation libs.mockito.core testImplementation libs.spring.boot.test - testImplementation libs.spring.kafka.test testImplementation libs.spring.test testImplementation libs.testcontainers From abe49211705f9a2c7496f9e9c5b5ba19996602fe Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sun, 13 Oct 2024 22:04:24 +0200 Subject: [PATCH 12/19] test(kafka): re-try kafka producer test --- .../examples/kafka/KafkaProducerSystemTest.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java index 6c1a1e403..f687067cd 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java @@ -26,15 +26,18 @@ import org.testcontainers.containers.DockerComposeContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; +import org.testcontainers.shaded.org.awaitility.Awaitility; import java.io.File; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; import static io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto.ExampleEnum.FOO1; import static java.util.concurrent.TimeUnit.SECONDS; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; +import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; @@ -102,11 +105,13 @@ void producerCanUseSpringwolfConfigurationToSendMessage() { headers.put("header-key", "header-value"); ExamplePayloadDto payload = new ExamplePayloadDto("foo", 5, FOO1); - // when - springwolfKafkaProducer.send("example-topic", "key", headers, payload); + Awaitility.await().atMost(10, TimeUnit.SECONDS).untilAsserted(() -> { + // when + springwolfKafkaProducer.send("example-topic", "key", headers, payload); - // then - verify(exampleConsumer, timeout(10000)).receiveExamplePayload("key", 0, payload); + // then + verify(exampleConsumer, atLeastOnce()).receiveExamplePayload("key", 0, payload); + }); } @Test From 084933bfefa8a4360adf547724eeaecc08682e06 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Fri, 18 Oct 2024 13:17:33 +0200 Subject: [PATCH 13/19] chore(deps): update deps --- springwolf-examples/springwolf-kafka-example/build.gradle | 7 ++++--- springwolf-plugins/springwolf-kafka-plugin/build.gradle | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/springwolf-examples/springwolf-kafka-example/build.gradle b/springwolf-examples/springwolf-kafka-example/build.gradle index bd6722d37..7be427742 100644 --- a/springwolf-examples/springwolf-kafka-example/build.gradle +++ b/springwolf-examples/springwolf-kafka-example/build.gradle @@ -46,12 +46,12 @@ dependencies { implementation libs.spring.security.web implementation libs.avro - runtimeOnly libs.kafka.avro.serializer + implementation libs.kafka.avro.serializer + permitUnusedDeclared libs.kafka.avro.serializer runtimeOnly libs.kafka.protobuf.serializer implementation libs.protobuf.java implementation libs.jackson.datatype.protobuf - implementation libs.jackson.annotations implementation libs.jackson.core implementation libs.jackson.databind @@ -78,7 +78,8 @@ dependencies { testImplementation libs.testcontainers testImplementation libs.testcontainers.junit.jupiter - runtimeOnly libs.spring.boot.starter.actuator + testImplementation libs.spring.boot.starter.actuator + permitTestUnusedDeclared libs.spring.boot.starter.actuator testAnnotationProcessor libs.lombok testCompileOnly libs.lombok diff --git a/springwolf-plugins/springwolf-kafka-plugin/build.gradle b/springwolf-plugins/springwolf-kafka-plugin/build.gradle index a02e8e5bc..3b88e09e9 100644 --- a/springwolf-plugins/springwolf-kafka-plugin/build.gradle +++ b/springwolf-plugins/springwolf-kafka-plugin/build.gradle @@ -13,7 +13,8 @@ dependencies { api project(":springwolf-bindings:springwolf-kafka-binding") permitUnusedDeclared project(":springwolf-bindings:springwolf-kafka-binding") - runtimeOnly libs.swagger.models.jakarta + implementation libs.swagger.models.jakarta + permitUnusedDeclared libs.swagger.models.jakarta implementation libs.kafka.clients implementation libs.jakarta.annotation.api From 728f148ebc88a6f488a4dbb999e67440a556911f Mon Sep 17 00:00:00 2001 From: Timon Back Date: Fri, 18 Oct 2024 18:30:21 +0200 Subject: [PATCH 14/19] test(kafka): convert KafkaProducerSystemTest to full Testcontainers test --- .../springwolf-kafka-example/build.gradle | 5 +- .../kafka/KafkaProducerSystemTest.java | 172 ++++++++---------- 2 files changed, 75 insertions(+), 102 deletions(-) diff --git a/springwolf-examples/springwolf-kafka-example/build.gradle b/springwolf-examples/springwolf-kafka-example/build.gradle index 7be427742..887c06533 100644 --- a/springwolf-examples/springwolf-kafka-example/build.gradle +++ b/springwolf-examples/springwolf-kafka-example/build.gradle @@ -70,16 +70,15 @@ dependencies { testImplementation libs.assertj.core testImplementation libs.awaitility - testImplementation libs.mockito.core testImplementation libs.spring.boot.test + testImplementation libs.spring.core testImplementation libs.spring.test testImplementation libs.testcontainers testImplementation libs.testcontainers.junit.jupiter - testImplementation libs.spring.boot.starter.actuator - permitTestUnusedDeclared libs.spring.boot.starter.actuator + runtimeOnly libs.spring.boot.starter.actuator testAnnotationProcessor libs.lombok testCompileOnly libs.lombok diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java index f687067cd..f9051e6c2 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java @@ -1,154 +1,128 @@ // SPDX-License-Identifier: Apache-2.0 package io.github.springwolf.examples.kafka; -import io.github.springwolf.examples.kafka.consumers.AvroConsumer; -import io.github.springwolf.examples.kafka.consumers.ExampleConsumer; -import io.github.springwolf.examples.kafka.consumers.ProtobufConsumer; -import io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto; -import io.github.springwolf.examples.kafka.dto.avro.ExampleEnum; -import io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto; -import io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto; -import io.github.springwolf.plugins.kafka.configuration.properties.SpringwolfKafkaConfigProperties; -import io.github.springwolf.plugins.kafka.producer.SpringwolfKafkaProducer; import lombok.extern.slf4j.Slf4j; -import org.apache.kafka.clients.admin.AdminClient; -import org.apache.kafka.clients.admin.KafkaAdminClient; -import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; -import org.junit.jupiter.api.Order; +import org.awaitility.Awaitility; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestMethodOrder; import org.junit.jupiter.api.condition.DisabledIf; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.ssl.DefaultSslBundleRegistry; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.SpyBean; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestTemplate; import org.testcontainers.containers.DockerComposeContainer; +import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; -import org.testcontainers.shaded.org.awaitility.Awaitility; import java.io.File; -import java.util.HashMap; -import java.util.Map; +import java.util.List; import java.util.concurrent.TimeUnit; import static io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto.ExampleEnum.FOO1; -import static java.util.concurrent.TimeUnit.SECONDS; import static org.assertj.core.api.Assertions.assertThat; -import static org.awaitility.Awaitility.await; -import static org.mockito.Mockito.atLeastOnce; -import static org.mockito.Mockito.timeout; -import static org.mockito.Mockito.verify; /** * While the assertion of this test is identical to ApiIntegrationTests, * the setup uses a full docker-compose context with a real kafka instance. */ -@SpringBootTest( - classes = {SpringwolfKafkaExampleApplication.class}, - webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @Testcontainers -@TestMethodOrder(OrderAnnotation.class) @Slf4j // @Ignore("Uncomment this line if you have issues running this test on your local machine.") public class KafkaProducerSystemTest { + private static final RestTemplate restTemplate = new RestTemplate(); + private static final String APP_NAME = "app"; + private static final int APP_PORT = 8080; private static final String KAFKA_NAME = "kafka"; private static final boolean USE_SCHEMA_REGISTRY = false; - @Autowired - SpringwolfKafkaProducer springwolfKafkaProducer; - - @SpyBean - ExampleConsumer exampleConsumer; - - @SpyBean - AvroConsumer avroConsumer; - - @SpyBean - ProtobufConsumer protobufConsumer; - - @Autowired - SpringwolfKafkaConfigProperties properties; - @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory - .withServices(KAFKA_NAME, USE_SCHEMA_REGISTRY ? "kafka-schema-registry" : "") - .withExposedService(KAFKA_NAME, 9092) - .withLogConsumer(KAFKA_NAME, l -> log.debug("kafka: {}", l.getUtf8StringWithoutLineEnding())); - - static { - // Kafka port must be mapped, since the docker-compose setup KAFKA_ADVERTISED_LISTENERS is set to 9092 - environment - .getContainerByServiceName(KAFKA_NAME) - .map(container -> container.getPortBindings().add("9092:9092")); + .withServices(APP_NAME, KAFKA_NAME, USE_SCHEMA_REGISTRY ? "kafka-schema-registry" : "") + .withExposedService(APP_NAME, APP_PORT) + .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) + .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())) + .waitingFor(KAFKA_NAME, Wait.forLogMessage(".*Kafka Server started.*", 1)) + .withLogConsumer(KAFKA_NAME, l -> log.debug("KAFKA: {}", l.getUtf8StringWithoutLineEnding())); + + private String baseUrl() { + String host = environment.getServiceHost(APP_NAME, APP_PORT); + int port = environment.getServicePort(APP_NAME, APP_PORT); + return String.format("http://%s:%d", host, port); } @Test - @Order(1) - void verifyKafkaIsAvailable() { - Map consumerProperties = - properties.getPublishing().getProducer().buildProperties(new DefaultSslBundleRegistry()); - AdminClient adminClient = KafkaAdminClient.create(consumerProperties); - await().atMost(60, SECONDS) - .untilAsserted( - () -> assertThat(adminClient.listTopics().names().get()).contains("example-topic")); - } - - @Test - @Order(2) - void producerCanUseSpringwolfConfigurationToSendMessage() { + void producerCanUseSpringwolfConfigurationToSendMessage() throws JsonProcessingException { // given - Map headers = new HashMap<>(); - headers.put("header-key", "header-value"); + HttpHeaders headers = new HttpHeaders(); + headers.put("Content-Type", List.of("application/json")); + headers.put("kafka_offset", List.of("0")); + headers.put("kafka_receivedMessageKey", List.of("string")); + ExamplePayloadDto payload = new ExamplePayloadDto("foo", 5, FOO1); + String payloadAsString = new ObjectMapper().writeValueAsString(payload).replaceAll("\"", "\\\\\""); + String message = "{\n" // + + " \"bindings\": {},\n" + + " \"headers\": {" // + + " \"kafka_offset\": 0,\n" // + + " \"kafka_receivedMessageKey\": \"string\"\n" // + + " },\n" + + " \"payloadType\": \"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto\",\n" + + " \"payload\": \"" + payloadAsString + "\"\n" + + "}"; + + String topic = "example-topic"; + String url = baseUrl() + "/springwolf/kafka/publish?topic=" + topic; + HttpEntity request = new HttpEntity<>(message, headers); Awaitility.await().atMost(10, TimeUnit.SECONDS).untilAsserted(() -> { // when - springwolfKafkaProducer.send("example-topic", "key", headers, payload); + ResponseEntity response = restTemplate.postForEntity(url, request, String.class); // then - verify(exampleConsumer, atLeastOnce()).receiveExamplePayload("key", 0, payload); + assertThat(response.getStatusCode().value()).isEqualTo(200); + assertThat(environment.getContainerByServiceName(APP_NAME).get().getLogs()) + .contains("Received new message in " + topic + ": " + payload); }); } @Test - @Order(3) - @DisabledIf( - value = "withoutSchemaRegistry", - disabledReason = "because it requires a running kafka-schema-registry instance (docker image= ~1GB).") - void producerCanUseSpringwolfConfigurationToSendAvroMessage() { - // given - ExamplePayloadAvroDto payload = new ExamplePayloadAvroDto("foo", 5L); - AnotherPayloadAvroDto anotherPayload = new AnotherPayloadAvroDto(ExampleEnum.FOO1, payload); - - // when - springwolfKafkaProducer.send("avro-topic", "key", Map.of(), anotherPayload); - - // then - verify(avroConsumer, timeout(10000)).receiveExampleAvroPayload(anotherPayload); - } - - @Test - @Order(4) + @Disabled("Publishing AVRO is not supported") @DisabledIf( value = "withoutSchemaRegistry", disabledReason = "because it requires a running kafka-schema-registry instance (docker image= ~1GB).") - void producerCanUseSpringwolfConfigurationToSendProtobufMessage() { + void producerCanUseSpringwolfConfigurationToSendAvroMessage() throws JsonProcessingException { // given - ExamplePayloadProtobufDto.Message payload = ExamplePayloadProtobufDto.Message.newBuilder() - .setSomeString("foo") - .setSomeLong(5) - .setSomeEnum(ExamplePayloadProtobufDto.ExampleEnum.FOO1) - .build(); + HttpHeaders headers = new HttpHeaders(); + headers.put("Content-Type", List.of("application/json")); + + String payloadAsString = + "{\"someEnum\": \"FOO1\", \"ExamplePayloadAvroDto\": {\"someString\": \"string\", \"someLong\": 0}}"; + String message = "{\n" // + + " \"bindings\": {},\n" + + " \"headers\": {},\n" + + " \"payloadType\": \"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto\",\n" + + " \"payload\": \"" + payloadAsString.replaceAll("\"", "\\\\\"") + "\"\n" + + "}"; + + String topic = "avro-topic"; + String url = baseUrl() + "/springwolf/kafka/publish?topic=" + topic; + HttpEntity request = new HttpEntity<>(message, headers); - // when - springwolfKafkaProducer.send("protobuf-topic", "key", Map.of(), payload); + Awaitility.await().atMost(10, TimeUnit.SECONDS).untilAsserted(() -> { + // when + ResponseEntity response = restTemplate.postForEntity(url, request, String.class); - // then - verify(protobufConsumer, timeout(10000)).receiveExampleProtobufPayload(payload); + // then + assertThat(response.getStatusCode().value()).isEqualTo(200); + assertThat(environment.getContainerByServiceName(APP_NAME).get().getLogs()) + .contains("Received new message in " + topic + ": " + payloadAsString); + }); } boolean withoutSchemaRegistry() { From 6c2c0a1466a032ca1408e1acba5d8c7e0cf613e4 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sat, 19 Oct 2024 16:40:36 +0200 Subject: [PATCH 15/19] test(kafka): wait for application is ready --- .../springwolf/examples/kafka/KafkaProducerSystemTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java index f9051e6c2..ee2e2c5ee 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java @@ -46,6 +46,7 @@ public class KafkaProducerSystemTest { .withServices(APP_NAME, KAFKA_NAME, USE_SCHEMA_REGISTRY ? "kafka-schema-registry" : "") .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) + .waitingFor(APP_NAME, Wait.forLogMessage(".*partitions assigned:.*\\[example-topic-0\\].*", 1)) .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())) .waitingFor(KAFKA_NAME, Wait.forLogMessage(".*Kafka Server started.*", 1)) .withLogConsumer(KAFKA_NAME, l -> log.debug("KAFKA: {}", l.getUtf8StringWithoutLineEnding())); From 5be8331a02a468703de5122dcb94324b65952699 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sat, 19 Oct 2024 16:53:23 +0200 Subject: [PATCH 16/19] test(kafka): wait for application is ready --- .../springwolf/examples/kafka/KafkaProducerSystemTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java index ee2e2c5ee..359983527 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java @@ -37,16 +37,18 @@ public class KafkaProducerSystemTest { private static final String APP_NAME = "app"; private static final int APP_PORT = 8080; private static final String KAFKA_NAME = "kafka"; + private static final String topic = "example-topic"; private static final boolean USE_SCHEMA_REGISTRY = false; @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory + .withEnv("SPRING_KAFKA_GROUP_ID", "KafkaProducerSystemTest") .withServices(APP_NAME, KAFKA_NAME, USE_SCHEMA_REGISTRY ? "kafka-schema-registry" : "") .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) - .waitingFor(APP_NAME, Wait.forLogMessage(".*partitions assigned:.*\\[example-topic-0\\].*", 1)) + .waitingFor(APP_NAME, Wait.forLogMessage(".*partitions assigned.*" + topic + ".*", 1)) .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())) .waitingFor(KAFKA_NAME, Wait.forLogMessage(".*Kafka Server started.*", 1)) .withLogConsumer(KAFKA_NAME, l -> log.debug("KAFKA: {}", l.getUtf8StringWithoutLineEnding())); @@ -77,7 +79,6 @@ void producerCanUseSpringwolfConfigurationToSendMessage() throws JsonProcessingE + " \"payload\": \"" + payloadAsString + "\"\n" + "}"; - String topic = "example-topic"; String url = baseUrl() + "/springwolf/kafka/publish?topic=" + topic; HttpEntity request = new HttpEntity<>(message, headers); From 2d0ac31f8743a84565073eb95a23beaf4c84d4f7 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sat, 19 Oct 2024 17:03:09 +0200 Subject: [PATCH 17/19] test(kafka): wait for application is ready --- .../springwolf/examples/kafka/KafkaProducerSystemTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java index 359983527..d9b4fe3d3 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java @@ -44,7 +44,7 @@ public class KafkaProducerSystemTest { @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory - .withEnv("SPRING_KAFKA_GROUP_ID", "KafkaProducerSystemTest") + .withEnv("SPRING_KAFKA_CONSUMER_GROUP_ID", "KafkaProducerSystemTest") .withServices(APP_NAME, KAFKA_NAME, USE_SCHEMA_REGISTRY ? "kafka-schema-registry" : "") .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) From 01c6b4c08dbc85c38cdb73122eaca79a589ba462 Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sat, 19 Oct 2024 17:34:50 +0200 Subject: [PATCH 18/19] test: better docker container logging --- .../examples/amqp/AmqpProducerSystemTest.java | 5 ++++- .../github/springwolf/examples/amqp/ApiSystemTest.java | 5 ++++- .../springwolf/examples/cloudstream/ApiSystemTest.java | 5 ++++- .../github/springwolf/examples/jms/ApiSystemTest.java | 5 ++++- .../springwolf/examples/jms/JmsProducerSystemTest.java | 5 ++++- .../springwolf-kafka-example/docker-compose.yml | 1 + .../springwolf/examples/kafka/ApiSystemTest.java | 5 ++++- .../examples/kafka/KafkaProducerSystemTest.java | 10 +++++++--- .../github/springwolf/examples/sns/ApiSystemTest.java | 5 ++++- .../github/springwolf/examples/sqs/ApiSystemTest.java | 5 ++++- .../springwolf/examples/sqs/SqsProducerSystemTest.java | 5 ++++- .../springwolf/examples/stomp/ApiSystemTest.java | 5 ++++- 12 files changed, 48 insertions(+), 13 deletions(-) diff --git a/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/AmqpProducerSystemTest.java b/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/AmqpProducerSystemTest.java index 7ba3a6372..38414b58a 100644 --- a/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/AmqpProducerSystemTest.java +++ b/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/AmqpProducerSystemTest.java @@ -25,6 +25,7 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.io.File; +import java.util.Arrays; import static io.github.springwolf.examples.amqp.dtos.ExamplePayloadDto.ExampleEnum.FOO1; import static java.util.concurrent.TimeUnit.SECONDS; @@ -61,7 +62,9 @@ public class AmqpProducerSystemTest { .withServices(AMQP_NAME) .withExposedService(AMQP_NAME, 5672) .waitingFor(AMQP_NAME, Wait.forLogMessage(".*Server startup complete.*", 1)) - .withLogConsumer(AMQP_NAME, l -> log.debug("amqp: {}", l.getUtf8StringWithoutLineEnding())); + .withLogConsumer(AMQP_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("AMQP: {}", m))); @DynamicPropertySource static void registerActiveMqBroker(DynamicPropertyRegistry registry) { diff --git a/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/ApiSystemTest.java b/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/ApiSystemTest.java index e5c7d4e69..45549f39b 100644 --- a/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/ApiSystemTest.java +++ b/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/ApiSystemTest.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -51,7 +52,9 @@ public class ApiSystemTest { .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) .withEnv(ENV) - .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())); + .withLogConsumer(APP_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("APP: {}", m))); private String baseUrl() { String host = environment.getServiceHost(APP_NAME, APP_PORT); diff --git a/springwolf-examples/springwolf-cloud-stream-example/src/test/java/io/github/springwolf/examples/cloudstream/ApiSystemTest.java b/springwolf-examples/springwolf-cloud-stream-example/src/test/java/io/github/springwolf/examples/cloudstream/ApiSystemTest.java index 8e1763d4f..bfd0a9fe7 100644 --- a/springwolf-examples/springwolf-cloud-stream-example/src/test/java/io/github/springwolf/examples/cloudstream/ApiSystemTest.java +++ b/springwolf-examples/springwolf-cloud-stream-example/src/test/java/io/github/springwolf/examples/cloudstream/ApiSystemTest.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -51,7 +52,9 @@ public class ApiSystemTest { .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) .withEnv(ENV) - .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())); + .withLogConsumer(APP_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("APP: {}", m))); private String baseUrl() { String host = environment.getServiceHost(APP_NAME, APP_PORT); diff --git a/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/ApiSystemTest.java b/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/ApiSystemTest.java index 2b7963d5d..d5c622a17 100644 --- a/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/ApiSystemTest.java +++ b/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/ApiSystemTest.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -51,7 +52,9 @@ public class ApiSystemTest { .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) .withEnv(ENV) - .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())); + .withLogConsumer(APP_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("APP: {}", m))); private String baseUrl() { String host = environment.getServiceHost(APP_NAME, APP_PORT); diff --git a/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/JmsProducerSystemTest.java b/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/JmsProducerSystemTest.java index 8041cd9e9..353ddf310 100644 --- a/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/JmsProducerSystemTest.java +++ b/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/JmsProducerSystemTest.java @@ -19,6 +19,7 @@ import org.testcontainers.shaded.org.awaitility.Awaitility; import java.io.File; +import java.util.Arrays; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -53,7 +54,9 @@ public class JmsProducerSystemTest { .withCopyFilesInContainer(".env") // do not copy all files in the directory .withServices(APP_JMS) .withExposedService(APP_JMS, 61616) - .withLogConsumer(APP_JMS, l -> log.debug("jms: {}", l.getUtf8StringWithoutLineEnding())) + .withLogConsumer(APP_JMS, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("JMS: {}", m))) .waitingFor(APP_JMS, Wait.forLogMessage(".*Artemis Console available.*", 1)); @DynamicPropertySource diff --git a/springwolf-examples/springwolf-kafka-example/docker-compose.yml b/springwolf-examples/springwolf-kafka-example/docker-compose.yml index ab82b6066..3369ee955 100644 --- a/springwolf-examples/springwolf-kafka-example/docker-compose.yml +++ b/springwolf-examples/springwolf-kafka-example/docker-compose.yml @@ -6,6 +6,7 @@ services: environment: BOOTSTRAP_SERVER: kafka:29092 BOOTSTRAP_SERVER_SASL: kafka:29093 + SPRING_KAFKA_CONSUMER_GROUP_ID: example-group-id-docker KAFKA_SCHEMA_REGISTRY_URL: http://kafka-schema-registry:8081 ports: - "8080:8080" diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiSystemTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiSystemTest.java index d932ce849..6b648432f 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiSystemTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiSystemTest.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -51,7 +52,9 @@ public class ApiSystemTest { .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) .withEnv(ENV) - .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())); + .withLogConsumer(APP_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("APP: {}", m))); private String baseUrl() { String host = environment.getServiceHost(APP_NAME, APP_PORT); diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java index d9b4fe3d3..47ea4d743 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/KafkaProducerSystemTest.java @@ -19,6 +19,7 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.io.File; +import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeUnit; @@ -44,14 +45,17 @@ public class KafkaProducerSystemTest { @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory - .withEnv("SPRING_KAFKA_CONSUMER_GROUP_ID", "KafkaProducerSystemTest") .withServices(APP_NAME, KAFKA_NAME, USE_SCHEMA_REGISTRY ? "kafka-schema-registry" : "") .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) .waitingFor(APP_NAME, Wait.forLogMessage(".*partitions assigned.*" + topic + ".*", 1)) - .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())) + .withLogConsumer(APP_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("APP: {}", m))) .waitingFor(KAFKA_NAME, Wait.forLogMessage(".*Kafka Server started.*", 1)) - .withLogConsumer(KAFKA_NAME, l -> log.debug("KAFKA: {}", l.getUtf8StringWithoutLineEnding())); + .withLogConsumer(KAFKA_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("KAFKA: {}", m))); private String baseUrl() { String host = environment.getServiceHost(APP_NAME, APP_PORT); diff --git a/springwolf-examples/springwolf-sns-example/src/test/java/io/github/springwolf/examples/sns/ApiSystemTest.java b/springwolf-examples/springwolf-sns-example/src/test/java/io/github/springwolf/examples/sns/ApiSystemTest.java index 14ba9cdf3..ed90fa0b9 100644 --- a/springwolf-examples/springwolf-sns-example/src/test/java/io/github/springwolf/examples/sns/ApiSystemTest.java +++ b/springwolf-examples/springwolf-sns-example/src/test/java/io/github/springwolf/examples/sns/ApiSystemTest.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -51,7 +52,9 @@ public class ApiSystemTest { .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) .withEnv(ENV) - .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())); + .withLogConsumer(APP_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("APP: {}", m))); private String baseUrl() { String host = environment.getServiceHost(APP_NAME, APP_PORT); diff --git a/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/ApiSystemTest.java b/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/ApiSystemTest.java index 0bab1d06b..3e0e7d52a 100644 --- a/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/ApiSystemTest.java +++ b/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/ApiSystemTest.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -51,7 +52,9 @@ public class ApiSystemTest { .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) .withEnv(ENV) - .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())); + .withLogConsumer(APP_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("APP: {}", m))); private String baseUrl() { String host = environment.getServiceHost(APP_NAME, APP_PORT); diff --git a/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/SqsProducerSystemTest.java b/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/SqsProducerSystemTest.java index 994db8fbb..30e7a470b 100644 --- a/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/SqsProducerSystemTest.java +++ b/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/SqsProducerSystemTest.java @@ -18,6 +18,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -62,7 +63,9 @@ public class SqsProducerSystemTest { .withCopyFilesInContainer(".env") // do not copy all files in the directory .withEnv(ENV) .withServices(LOCALSTACK_NAME) - .withLogConsumer(LOCALSTACK_NAME, l -> log.debug("localstack: {}", l.getUtf8StringWithoutLineEnding())) + .withLogConsumer(LOCALSTACK_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("LOCALSTACK: {}", m))) .waitingFor(LOCALSTACK_NAME, Wait.forLogMessage(".*Ready.*", 1)); @Test diff --git a/springwolf-examples/springwolf-stomp-example/src/test/java/io/github/springwolf/examples/stomp/ApiSystemTest.java b/springwolf-examples/springwolf-stomp-example/src/test/java/io/github/springwolf/examples/stomp/ApiSystemTest.java index de7f88d0b..1059adacd 100644 --- a/springwolf-examples/springwolf-stomp-example/src/test/java/io/github/springwolf/examples/stomp/ApiSystemTest.java +++ b/springwolf-examples/springwolf-stomp-example/src/test/java/io/github/springwolf/examples/stomp/ApiSystemTest.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -49,7 +50,9 @@ public class ApiSystemTest { .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) .withEnv(ENV) - .withLogConsumer(APP_NAME, l -> log.debug("APP: {}", l.getUtf8StringWithoutLineEnding())); + .withLogConsumer(APP_NAME, l -> Arrays.stream( + l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) + .forEach(m -> log.debug("APP: {}", m))); private String baseUrl() { String host = environment.getServiceHost(APP_NAME, APP_PORT); From dcef6e4156023562459ea7178c2ea01bafaa20be Mon Sep 17 00:00:00 2001 From: Timon Back Date: Sat, 19 Oct 2024 17:51:17 +0200 Subject: [PATCH 19/19] test: remove unused env mapping --- .../examples/amqp/ApiSystemTest.java | 17 ----------------- .../examples/cloudstream/ApiSystemTest.java | 17 ----------------- .../examples/jms/ApiSystemTest.java | 17 ----------------- .../examples/kafka/ApiSystemTest.java | 17 ----------------- .../examples/sns/ApiSystemTest.java | 17 ----------------- .../examples/sqs/ApiSystemTest.java | 17 ----------------- .../examples/sqs/SqsProducerSystemTest.java | 19 ------------------- .../examples/stomp/ApiSystemTest.java | 17 ----------------- 8 files changed, 138 deletions(-) diff --git a/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/ApiSystemTest.java b/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/ApiSystemTest.java index 45549f39b..7adb0485c 100644 --- a/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/ApiSystemTest.java +++ b/springwolf-examples/springwolf-amqp-example/src/test/java/io/github/springwolf/examples/amqp/ApiSystemTest.java @@ -10,14 +10,10 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -34,24 +30,11 @@ public class ApiSystemTest { private static final String APP_NAME = "app_1"; private static final int APP_PORT = 8080; - private static final Map ENV = new HashMap<>(); - - static { - try (InputStream input = new FileInputStream(".env")) { - var properties = new Properties(); - properties.load(input); - properties.forEach((key, value) -> ENV.put(String.valueOf(key), String.valueOf(value))); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) - .withEnv(ENV) .withLogConsumer(APP_NAME, l -> Arrays.stream( l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) .forEach(m -> log.debug("APP: {}", m))); diff --git a/springwolf-examples/springwolf-cloud-stream-example/src/test/java/io/github/springwolf/examples/cloudstream/ApiSystemTest.java b/springwolf-examples/springwolf-cloud-stream-example/src/test/java/io/github/springwolf/examples/cloudstream/ApiSystemTest.java index bfd0a9fe7..2ea3a5847 100644 --- a/springwolf-examples/springwolf-cloud-stream-example/src/test/java/io/github/springwolf/examples/cloudstream/ApiSystemTest.java +++ b/springwolf-examples/springwolf-cloud-stream-example/src/test/java/io/github/springwolf/examples/cloudstream/ApiSystemTest.java @@ -10,14 +10,10 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -34,24 +30,11 @@ public class ApiSystemTest { private static final String APP_NAME = "app_1"; private static final int APP_PORT = 8080; - private static final Map ENV = new HashMap<>(); - - static { - try (InputStream input = new FileInputStream(".env")) { - var properties = new Properties(); - properties.load(input); - properties.forEach((key, value) -> ENV.put(String.valueOf(key), String.valueOf(value))); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) - .withEnv(ENV) .withLogConsumer(APP_NAME, l -> Arrays.stream( l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) .forEach(m -> log.debug("APP: {}", m))); diff --git a/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/ApiSystemTest.java b/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/ApiSystemTest.java index d5c622a17..04bb379ef 100644 --- a/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/ApiSystemTest.java +++ b/springwolf-examples/springwolf-jms-example/src/test/java/io/github/springwolf/examples/jms/ApiSystemTest.java @@ -10,14 +10,10 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -34,24 +30,11 @@ public class ApiSystemTest { private static final String APP_NAME = "app_1"; private static final int APP_PORT = 8080; - private static final Map ENV = new HashMap<>(); - - static { - try (InputStream input = new FileInputStream(".env")) { - var properties = new Properties(); - properties.load(input); - properties.forEach((key, value) -> ENV.put(String.valueOf(key), String.valueOf(value))); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) - .withEnv(ENV) .withLogConsumer(APP_NAME, l -> Arrays.stream( l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) .forEach(m -> log.debug("APP: {}", m))); diff --git a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiSystemTest.java b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiSystemTest.java index 6b648432f..37c3b6bcb 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiSystemTest.java +++ b/springwolf-examples/springwolf-kafka-example/src/test/java/io/github/springwolf/examples/kafka/ApiSystemTest.java @@ -10,14 +10,10 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -34,24 +30,11 @@ public class ApiSystemTest { private static final String APP_NAME = "app_1"; private static final int APP_PORT = 8080; - private static final Map ENV = new HashMap<>(); - - static { - try (InputStream input = new FileInputStream(".env")) { - var properties = new Properties(); - properties.load(input); - properties.forEach((key, value) -> ENV.put(String.valueOf(key), String.valueOf(value))); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) - .withEnv(ENV) .withLogConsumer(APP_NAME, l -> Arrays.stream( l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) .forEach(m -> log.debug("APP: {}", m))); diff --git a/springwolf-examples/springwolf-sns-example/src/test/java/io/github/springwolf/examples/sns/ApiSystemTest.java b/springwolf-examples/springwolf-sns-example/src/test/java/io/github/springwolf/examples/sns/ApiSystemTest.java index ed90fa0b9..9d0f6d22e 100644 --- a/springwolf-examples/springwolf-sns-example/src/test/java/io/github/springwolf/examples/sns/ApiSystemTest.java +++ b/springwolf-examples/springwolf-sns-example/src/test/java/io/github/springwolf/examples/sns/ApiSystemTest.java @@ -10,14 +10,10 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -34,24 +30,11 @@ public class ApiSystemTest { private static final String APP_NAME = "app_1"; private static final int APP_PORT = 8080; - private static final Map ENV = new HashMap<>(); - - static { - try (InputStream input = new FileInputStream(".env")) { - var properties = new Properties(); - properties.load(input); - properties.forEach((key, value) -> ENV.put(String.valueOf(key), String.valueOf(value))); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) - .withEnv(ENV) .withLogConsumer(APP_NAME, l -> Arrays.stream( l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) .forEach(m -> log.debug("APP: {}", m))); diff --git a/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/ApiSystemTest.java b/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/ApiSystemTest.java index 3e0e7d52a..5adb15f96 100644 --- a/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/ApiSystemTest.java +++ b/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/ApiSystemTest.java @@ -10,14 +10,10 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -34,24 +30,11 @@ public class ApiSystemTest { private static final String APP_NAME = "app_1"; private static final int APP_PORT = 8080; - private static final Map ENV = new HashMap<>(); - - static { - try (InputStream input = new FileInputStream(".env")) { - var properties = new Properties(); - properties.load(input); - properties.forEach((key, value) -> ENV.put(String.valueOf(key), String.valueOf(value))); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) - .withEnv(ENV) .withLogConsumer(APP_NAME, l -> Arrays.stream( l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) .forEach(m -> log.debug("APP: {}", m))); diff --git a/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/SqsProducerSystemTest.java b/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/SqsProducerSystemTest.java index 30e7a470b..79d624bc3 100644 --- a/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/SqsProducerSystemTest.java +++ b/springwolf-examples/springwolf-sqs-example/src/test/java/io/github/springwolf/examples/sqs/SqsProducerSystemTest.java @@ -15,13 +15,7 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; import static io.github.springwolf.examples.sqs.dtos.ExamplePayloadDto.ExampleEnum.FOO1; import static org.mockito.Mockito.timeout; @@ -46,22 +40,9 @@ public class SqsProducerSystemTest { @SpyBean ExampleConsumer exampleConsumer; - private static final Map ENV = new HashMap<>(); - - static { - try (InputStream input = new FileInputStream(".env")) { - var properties = new Properties(); - properties.load(input); - properties.forEach((key, value) -> ENV.put(String.valueOf(key), String.valueOf(value))); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory - .withEnv(ENV) .withServices(LOCALSTACK_NAME) .withLogConsumer(LOCALSTACK_NAME, l -> Arrays.stream( l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) diff --git a/springwolf-examples/springwolf-stomp-example/src/test/java/io/github/springwolf/examples/stomp/ApiSystemTest.java b/springwolf-examples/springwolf-stomp-example/src/test/java/io/github/springwolf/examples/stomp/ApiSystemTest.java index 1059adacd..c5c01551d 100644 --- a/springwolf-examples/springwolf-stomp-example/src/test/java/io/github/springwolf/examples/stomp/ApiSystemTest.java +++ b/springwolf-examples/springwolf-stomp-example/src/test/java/io/github/springwolf/examples/stomp/ApiSystemTest.java @@ -10,14 +10,10 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -32,24 +28,11 @@ public class ApiSystemTest { private static final String APP_NAME = "app_1"; private static final int APP_PORT = 8080; - private static final Map ENV = new HashMap<>(); - - static { - try (InputStream input = new FileInputStream(".env")) { - var properties = new Properties(); - properties.load(input); - properties.forEach((key, value) -> ENV.put(String.valueOf(key), String.valueOf(value))); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - @Container public static DockerComposeContainer environment = new DockerComposeContainer<>(new File("docker-compose.yml")) .withCopyFilesInContainer(".env") // do not copy all files in the directory .withExposedService(APP_NAME, APP_PORT) .waitingFor(APP_NAME, Wait.forLogMessage(".*AsyncAPI document was built.*", 1)) - .withEnv(ENV) .withLogConsumer(APP_NAME, l -> Arrays.stream( l.getUtf8StringWithoutLineEnding().split("(\n|\r\n)")) .forEach(m -> log.debug("APP: {}", m)));