From 6c9883b195f3cfbd0a7a882b760d800ccbfaae82 Mon Sep 17 00:00:00 2001 From: Joachim Grimm Date: Tue, 15 Nov 2022 16:53:26 +0100 Subject: [PATCH] migrate to micronaut 4.0.0-SNAPSHOT --- build.gradle | 8 +++++- config/accepted-api-changes.json | 5 ++++ docs-examples/example-groovy/build.gradle | 9 ++++-- docs-examples/example-java/build.gradle | 10 +++---- .../annotation/SIDAnnotationBinder.java | 4 +-- .../custom/type/ProductInfoTypeBinder.java | 4 +-- .../nats/docs/serdes/ProductInfoSerDes.java | 11 ++++---- docs-examples/example-kotlin/build.gradle | 10 ++----- .../custom/annotation/SIDAnnotationBinder.kt | 2 +- .../custom/type/ProductInfoTypeBinder.kt | 2 +- .../nats/docs/serdes/ProductInfoSerDes.kt | 2 +- gradle.properties | 10 ++----- gradle/libs.versions.toml | 11 ++++++-- nats/build.gradle | 10 +++---- .../micronaut/nats/bind/NatsHeaderBinder.java | 8 +++--- .../bind/NatsHeaderConvertibleValues.java | 16 +++++------ .../nats/intercept/NatsConsumerAdvice.java | 26 ++++++++--------- .../intercept/NatsIntroductionAdvice.java | 28 +++++++++---------- .../nats/serdes/JsonNatsMessageSerDes.java | 17 ++--------- .../nats/annotation/PojoBindingSpec.groovy | 2 ++ settings.gradle | 9 +++++- 21 files changed, 106 insertions(+), 98 deletions(-) diff --git a/build.gradle b/build.gradle index 1af148b8..637351a4 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,11 @@ plugins { id 'io.micronaut.build.internal.docs' - id 'io.micronaut.build.internal.dependency-updates' id 'io.micronaut.build.internal.quality-reporting' } + +allprojects { + repositories { + mavenCentral() + maven { url "https://s01.oss.sonatype.org/content/repositories/snapshots/" } + } +} diff --git a/config/accepted-api-changes.json b/config/accepted-api-changes.json index bd2e649a..6f9d4419 100644 --- a/config/accepted-api-changes.json +++ b/config/accepted-api-changes.json @@ -43,5 +43,10 @@ "type": "io.micronaut.nats.intercept.NatsConsumerAdvice", "member": "Constructor io.micronaut.nats.intercept.NatsConsumerAdvice(io.micronaut.context.BeanContext,io.micronaut.nats.bind.NatsBinderRegistry,io.micronaut.nats.serdes.NatsMessageSerDesRegistry,io.micronaut.nats.exception.NatsListenerExceptionHandler)", "reason": "Nothing changed here - this was just missing" + }, + { + "type": "io.micronaut.nats.serdes.JsonNatsMessageSerDes", + "member": "Constructor io.micronaut.nats.serdes.JsonNatsMessageSerDes(com.fasterxml.jackson.databind.ObjectMapper)", + "reason": "Migration to Micronaut 4.0.0" } ] diff --git a/docs-examples/example-groovy/build.gradle b/docs-examples/example-groovy/build.gradle index 242cbeb1..4071108b 100644 --- a/docs-examples/example-groovy/build.gradle +++ b/docs-examples/example-groovy/build.gradle @@ -9,8 +9,8 @@ repositories { dependencies { testImplementation projects.nats - testCompileOnly mn.micronaut.inject.groovy - testImplementation libs.testcontainers + testAnnotationProcessor mn.micronaut.inject.groovy + testImplementation libs.testcontainers.spock testImplementation mn.micronaut.inject testImplementation mn.reactor testImplementation mn.spock @@ -20,3 +20,8 @@ dependencies { tasks.withType(GroovyCompile) { groovyOptions.forkOptions.jvmArgs.add('-Dgroovy.parameters=true') } + +java { + sourceCompatibility = JavaVersion.toVersion("17") + targetCompatibility = JavaVersion.toVersion("17") +} diff --git a/docs-examples/example-java/build.gradle b/docs-examples/example-java/build.gradle index 11938de7..cca48e56 100644 --- a/docs-examples/example-java/build.gradle +++ b/docs-examples/example-java/build.gradle @@ -2,15 +2,11 @@ plugins { id "java-library" } -repositories { - mavenCentral() -} - dependencies { testImplementation projects.nats testAnnotationProcessor mn.micronaut.inject.java - testImplementation mn.micronaut.inject + testImplementation mn.reactor testImplementation libs.awaitility testImplementation libs.testcontainers @@ -20,3 +16,7 @@ dependencies { compileJava.options.compilerArgs += '-parameters' compileTestJava.options.compilerArgs += '-parameters' +java { + sourceCompatibility = JavaVersion.toVersion("17") + targetCompatibility = JavaVersion.toVersion("17") +} diff --git a/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/consumer/custom/annotation/SIDAnnotationBinder.java b/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/consumer/custom/annotation/SIDAnnotationBinder.java index 40a31fa0..663b7e30 100644 --- a/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/consumer/custom/annotation/SIDAnnotationBinder.java +++ b/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/consumer/custom/annotation/SIDAnnotationBinder.java @@ -14,9 +14,9 @@ @Singleton // <1> public class SIDAnnotationBinder implements NatsAnnotatedArgumentBinder { // <2> - private final ConversionService conversionService; + private final ConversionService conversionService; - public SIDAnnotationBinder(ConversionService conversionService) { // <3> + public SIDAnnotationBinder(ConversionService conversionService) { // <3> this.conversionService = conversionService; } diff --git a/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/consumer/custom/type/ProductInfoTypeBinder.java b/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/consumer/custom/type/ProductInfoTypeBinder.java index 6acf6900..49ac4901 100644 --- a/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/consumer/custom/type/ProductInfoTypeBinder.java +++ b/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/consumer/custom/type/ProductInfoTypeBinder.java @@ -21,9 +21,9 @@ @Singleton // <1> public class ProductInfoTypeBinder implements NatsTypeArgumentBinder { //<2> - private final ConversionService conversionService; + private final ConversionService conversionService; - ProductInfoTypeBinder(ConversionService conversionService) { //<3> + ProductInfoTypeBinder(ConversionService conversionService) { //<3> this.conversionService = conversionService; } diff --git a/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/serdes/ProductInfoSerDes.java b/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/serdes/ProductInfoSerDes.java index 85f87c49..948fb672 100644 --- a/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/serdes/ProductInfoSerDes.java +++ b/docs-examples/example-java/src/test/java/io/micronaut/nats/docs/serdes/ProductInfoSerDes.java @@ -1,15 +1,14 @@ package io.micronaut.nats.docs.serdes; -import java.nio.charset.StandardCharsets; -import java.util.Optional; - import io.micronaut.context.annotation.Requires; -// tag::imports[] import io.micronaut.core.convert.ConversionService; import io.micronaut.core.type.Argument; import io.micronaut.nats.serdes.NatsMessageSerDes; import io.nats.client.Message; import jakarta.inject.Singleton; + +import java.nio.charset.StandardCharsets; +import java.util.Optional; // end::imports[] @Requires(property = "spec.name", value = "ProductInfoSerDesSpec") @@ -17,9 +16,9 @@ @Singleton // <1> public class ProductInfoSerDes implements NatsMessageSerDes { // <2> - private final ConversionService conversionService; + private final ConversionService conversionService; - public ProductInfoSerDes(ConversionService conversionService) { // <3> + public ProductInfoSerDes(ConversionService conversionService) { // <3> this.conversionService = conversionService; } diff --git a/docs-examples/example-kotlin/build.gradle b/docs-examples/example-kotlin/build.gradle index 6c83c55c..f3485545 100644 --- a/docs-examples/example-kotlin/build.gradle +++ b/docs-examples/example-kotlin/build.gradle @@ -3,10 +3,6 @@ plugins { alias libs.plugins.kotlin.kapt } -repositories { - mavenCentral() -} - dependencies { kaptTest(mn.micronaut.inject.java) @@ -20,12 +16,12 @@ dependencies { compileTestKotlin { kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' javaParameters = true } } java { - sourceCompatibility = JavaVersion.toVersion("1.8") - targetCompatibility = JavaVersion.toVersion("1.8") + sourceCompatibility = JavaVersion.toVersion("17") + targetCompatibility = JavaVersion.toVersion("17") } diff --git a/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/consumer/custom/annotation/SIDAnnotationBinder.kt b/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/consumer/custom/annotation/SIDAnnotationBinder.kt index b688dc12..00457695 100644 --- a/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/consumer/custom/annotation/SIDAnnotationBinder.kt +++ b/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/consumer/custom/annotation/SIDAnnotationBinder.kt @@ -13,7 +13,7 @@ import jakarta.inject.Singleton @Requires(property = "spec.name", value = "SIDSpec") // tag::clazz[] @Singleton // <1> -class SIDAnnotationBinder(private val conversionService: ConversionService<*>) // <3> +class SIDAnnotationBinder(private val conversionService: ConversionService) // <3> : NatsAnnotatedArgumentBinder { // <2> override fun getAnnotationType(): Class { diff --git a/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/consumer/custom/type/ProductInfoTypeBinder.kt b/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/consumer/custom/type/ProductInfoTypeBinder.kt index 3b62c469..31330385 100644 --- a/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/consumer/custom/type/ProductInfoTypeBinder.kt +++ b/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/consumer/custom/type/ProductInfoTypeBinder.kt @@ -18,7 +18,7 @@ import java.util.Optional @Requires(property = "spec.name", value = "ProductInfoSpec") // tag::clazz[] @Singleton // <1> -class ProductInfoTypeBinder constructor(private val conversionService: ConversionService<*>) //<3> +class ProductInfoTypeBinder constructor(private val conversionService: ConversionService) //<3> : NatsTypeArgumentBinder { // <2> override fun argumentType(): Argument { diff --git a/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/serdes/ProductInfoSerDes.kt b/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/serdes/ProductInfoSerDes.kt index 9bca44c1..86e0baf6 100644 --- a/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/serdes/ProductInfoSerDes.kt +++ b/docs-examples/example-kotlin/src/test/kotlin/io/micronaut/nats/docs/serdes/ProductInfoSerDes.kt @@ -13,7 +13,7 @@ import java.nio.charset.Charset @Requires(property = "spec.name", value = "ProductInfoSerDesSpec") // tag::clazz[] @Singleton // <1> -class ProductInfoSerDes(private val conversionService: ConversionService<*>)// <3> +class ProductInfoSerDes(private val conversionService: ConversionService)// <3> : NatsMessageSerDes { // <2> override fun deserialize(message: Message, argument: Argument): ProductInfo? { // <4> diff --git a/gradle.properties b/gradle.properties index cf7a02cb..0fbeda04 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,17 +1,13 @@ -projectVersion=3.1.1-SNAPSHOT +projectVersion=4.0.0-SNAPSHOT projectGroup=io.micronaut.nats -micronautDocsVersion=2.0.0 -micronautVersion=3.5.2 -micronautTestVersion=3.2.0 -groovyVersion=3.0.10 -spockVersion=2.1-groovy-3.0 + title=Micronaut Nats projectDesc=Integration between Micronaut and nats.io projectUrl=http://micronaut.io githubSlug=micronaut-projects/micronaut-nats developers=Joachim Grimm # Micronaut core branch for BOM pull requests -githubCoreBranch=3.5.x +githubCoreBranch=4.0.x bomProperty=micronautNatsIoVersion apimicronaut=https://docs.micronaut.io/latest/api/io/micronaut/ apinats=https://javadoc.io/doc/io.nats/jnats/ diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8c0aa1fd..12fe294d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,11 +1,19 @@ [versions] +micronaut = '4.0.0-SNAPSHOT' +micronaut-docs = '2.0.0' +micronaut-test = '3.7.0' +groovy = "4.0.6" +spock = "2.3-groovy-4.0" + + awaitility = '4.2.0' junit = '5.9.1' kotest = '4.6.4' -kotlin = '1.7.20' +kotlin = '1.7.21' testcontainers = '1.17.5' nats = '2.16.0' + [libraries] jnats = { module = 'io.nats:jnats', version.ref = 'nats'} awaitility = { module = 'org.awaitility:awaitility', version.ref = 'awaitility' } @@ -15,7 +23,6 @@ kotlin-reflect = { module = 'org.jetbrains.kotlin:kotlin-reflect', version.ref = kotlin-stdlib = { module = 'org.jetbrains.kotlin:kotlin-stdlib-jdk8', version.ref = 'kotlin' } testcontainers = { module = 'org.testcontainers:testcontainers', version.ref = 'testcontainers' } testcontainers-spock = { module = 'org.testcontainers:spock', version.ref = 'testcontainers' } -micronaut-micrometer-core = { module = 'io.micronaut.micrometer:micronaut-micrometer-core', version = '' } [plugins] kotlin-jvm = { id = 'org.jetbrains.kotlin.jvm', version.ref = 'kotlin' } diff --git a/nats/build.gradle b/nats/build.gradle index 1bfe2d33..d6bb73d9 100644 --- a/nats/build.gradle +++ b/nats/build.gradle @@ -3,16 +3,16 @@ plugins { } dependencies { - annotationProcessor mn.micronaut.inject.java - api mn.micronaut.messaging - api mn.micronaut.inject api libs.jnats - implementation mn.reactor + implementation mn.micronaut.serde.jackson + implementation mn.micronaut.jackson.core + implementation mn.micronaut.reactor + implementation mn.micronaut.cache.caffeine compileOnly mn.micronaut.management - compileOnly libs.micronaut.micrometer.core + compileOnly mn.micronaut.micrometer.core testImplementation libs.testcontainers.spock testImplementation mn.micronaut.inject.groovy diff --git a/nats/src/main/java/io/micronaut/nats/bind/NatsHeaderBinder.java b/nats/src/main/java/io/micronaut/nats/bind/NatsHeaderBinder.java index 7c0e86ea..4630f318 100644 --- a/nats/src/main/java/io/micronaut/nats/bind/NatsHeaderBinder.java +++ b/nats/src/main/java/io/micronaut/nats/bind/NatsHeaderBinder.java @@ -15,8 +15,6 @@ */ package io.micronaut.nats.bind; -import java.util.Optional; - import io.micronaut.core.convert.ArgumentConversionContext; import io.micronaut.core.convert.ConversionService; import io.micronaut.messaging.annotation.MessageHeader; @@ -24,6 +22,8 @@ import io.nats.client.impl.Headers; import jakarta.inject.Singleton; +import java.util.Optional; + /** * Binds an argument of with the {@link MessageHeader} annotation from the {@link Message}. * @@ -33,13 +33,13 @@ @Singleton public class NatsHeaderBinder implements NatsAnnotatedArgumentBinder { - private final ConversionService conversionService; + private final ConversionService conversionService; /** * Default constructor. * @param conversionService The conversation service */ - public NatsHeaderBinder(ConversionService conversionService) { + public NatsHeaderBinder(ConversionService conversionService) { this.conversionService = conversionService; } diff --git a/nats/src/main/java/io/micronaut/nats/bind/NatsHeaderConvertibleValues.java b/nats/src/main/java/io/micronaut/nats/bind/NatsHeaderConvertibleValues.java index b52d3fca..7f9d7891 100644 --- a/nats/src/main/java/io/micronaut/nats/bind/NatsHeaderConvertibleValues.java +++ b/nats/src/main/java/io/micronaut/nats/bind/NatsHeaderConvertibleValues.java @@ -15,6 +15,12 @@ */ package io.micronaut.nats.bind; +import io.micronaut.core.convert.ArgumentConversionContext; +import io.micronaut.core.convert.ConversionError; +import io.micronaut.core.convert.ConversionService; +import io.micronaut.core.convert.value.ConvertibleValues; +import io.nats.client.impl.Headers; + import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -23,12 +29,6 @@ import java.util.Set; import java.util.stream.Collectors; -import io.micronaut.core.convert.ArgumentConversionContext; -import io.micronaut.core.convert.ConversionError; -import io.micronaut.core.convert.ConversionService; -import io.micronaut.core.convert.value.ConvertibleValues; -import io.nats.client.impl.Headers; - /** * Converts Nats header values to the requested type. * @@ -39,7 +39,7 @@ public class NatsHeaderConvertibleValues implements ConvertibleValues { private final Headers headers; - private final ConversionService conversionService; + private final ConversionService conversionService; private final List conversionErrors = new ArrayList<>(); /** @@ -47,7 +47,7 @@ public class NatsHeaderConvertibleValues implements ConvertibleValues { * @param headers The Nats headers * @param conversionService The conversion service */ - public NatsHeaderConvertibleValues(Headers headers, ConversionService conversionService) { + public NatsHeaderConvertibleValues(Headers headers, ConversionService conversionService) { this.headers = headers == null ? new Headers() : headers; this.conversionService = conversionService; } diff --git a/nats/src/main/java/io/micronaut/nats/intercept/NatsConsumerAdvice.java b/nats/src/main/java/io/micronaut/nats/intercept/NatsConsumerAdvice.java index 45d5a2f1..b2769126 100644 --- a/nats/src/main/java/io/micronaut/nats/intercept/NatsConsumerAdvice.java +++ b/nats/src/main/java/io/micronaut/nats/intercept/NatsConsumerAdvice.java @@ -15,17 +15,6 @@ */ package io.micronaut.nats.intercept; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicInteger; - -import javax.annotation.PreDestroy; - import io.micronaut.context.BeanContext; import io.micronaut.context.processor.ExecutableMethodProcessor; import io.micronaut.core.annotation.AnnotationValue; @@ -57,8 +46,18 @@ import io.nats.client.Message; import io.nats.client.MessageHandler; import io.nats.client.Subscription; +import jakarta.annotation.PreDestroy; import jakarta.inject.Singleton; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicInteger; + /** * An {@link ExecutableMethodProcessor} that will process all beans annotated with * {@link NatsListener}. @@ -208,9 +207,8 @@ public void close() { } private void handleException(NatsListenerException exception) { - Object bean = exception.getListener(); - if (bean instanceof NatsListenerExceptionHandler) { - ((NatsListenerExceptionHandler) bean).handle(exception); + if (exception.getListener() instanceof NatsListenerExceptionHandler bean) { + bean.handle(exception); } else { exceptionHandler.handle(exception); } diff --git a/nats/src/main/java/io/micronaut/nats/intercept/NatsIntroductionAdvice.java b/nats/src/main/java/io/micronaut/nats/intercept/NatsIntroductionAdvice.java index dc44c592..781fba1e 100644 --- a/nats/src/main/java/io/micronaut/nats/intercept/NatsIntroductionAdvice.java +++ b/nats/src/main/java/io/micronaut/nats/intercept/NatsIntroductionAdvice.java @@ -15,22 +15,12 @@ */ package io.micronaut.nats.intercept; -import java.util.AbstractMap; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutorService; - +import com.github.benmanes.caffeine.cache.Cache; +import com.github.benmanes.caffeine.cache.Caffeine; import io.micronaut.aop.InterceptedMethod; import io.micronaut.aop.InterceptorBean; import io.micronaut.aop.MethodInterceptor; import io.micronaut.aop.MethodInvocationContext; -import io.micronaut.caffeine.cache.Cache; -import io.micronaut.caffeine.cache.Caffeine; import io.micronaut.context.BeanContext; import io.micronaut.core.annotation.AnnotationValue; import io.micronaut.core.convert.ConversionService; @@ -61,6 +51,16 @@ import reactor.core.scheduler.Scheduler; import reactor.core.scheduler.Schedulers; +import java.util.AbstractMap; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; + /** * Implementation of the {@link NatsClient} advice annotation. * @author jgrimm @@ -76,7 +76,7 @@ public class NatsIntroductionAdvice implements MethodInterceptor private final Scheduler scheduler; - private final ConversionService conversionService; + private final ConversionService conversionService; private final NatsMessageSerDesRegistry serDesRegistry; @@ -89,7 +89,7 @@ public class NatsIntroductionAdvice implements MethodInterceptor * @param serDesRegistry The serialization/deserialization registry * @param executorService The executor to execute reactive operations on */ - public NatsIntroductionAdvice(BeanContext beanContext, ConversionService conversionService, + public NatsIntroductionAdvice(BeanContext beanContext, ConversionService conversionService, NatsMessageSerDesRegistry serDesRegistry, @Named(TaskExecutors.MESSAGE_CONSUMER) ExecutorService executorService) { this.beanContext = beanContext; this.conversionService = conversionService; diff --git a/nats/src/main/java/io/micronaut/nats/serdes/JsonNatsMessageSerDes.java b/nats/src/main/java/io/micronaut/nats/serdes/JsonNatsMessageSerDes.java index 2db0754a..6e6c928a 100644 --- a/nats/src/main/java/io/micronaut/nats/serdes/JsonNatsMessageSerDes.java +++ b/nats/src/main/java/io/micronaut/nats/serdes/JsonNatsMessageSerDes.java @@ -15,19 +15,17 @@ */ package io.micronaut.nats.serdes; -import java.io.IOException; - -import com.fasterxml.jackson.databind.ObjectMapper; import io.micronaut.core.annotation.Nullable; import io.micronaut.core.reflect.ClassUtils; import io.micronaut.core.serialize.exceptions.SerializationException; import io.micronaut.core.type.Argument; -import io.micronaut.jackson.databind.JacksonDatabindMapper; import io.micronaut.json.JsonMapper; import io.nats.client.Message; import jakarta.inject.Inject; import jakarta.inject.Singleton; +import java.io.IOException; + /** * Serializes and deserializes objects as JSON using Jackson. * @@ -44,17 +42,6 @@ public class JsonNatsMessageSerDes implements NatsMessageSerDes { private final JsonMapper jsonMapper; - /** - * Legacy jackson constructor. - * - * @param objectMapper The jackson object mapper - * @deprecated Use {@link #JsonNatsMessageSerDes(JsonMapper)} instead - */ - @Deprecated - public JsonNatsMessageSerDes(ObjectMapper objectMapper) { - this(new JacksonDatabindMapper(objectMapper)); - } - /** * Default constructor. * diff --git a/nats/src/test/groovy/io/micronaut/nats/annotation/PojoBindingSpec.groovy b/nats/src/test/groovy/io/micronaut/nats/annotation/PojoBindingSpec.groovy index 353c6eff..d8e96f03 100644 --- a/nats/src/test/groovy/io/micronaut/nats/annotation/PojoBindingSpec.groovy +++ b/nats/src/test/groovy/io/micronaut/nats/annotation/PojoBindingSpec.groovy @@ -19,6 +19,7 @@ package io.micronaut.nats.annotation import io.micronaut.context.ApplicationContext import io.micronaut.context.annotation.Requires import io.micronaut.nats.AbstractNatsTest +import io.micronaut.serde.annotation.Serdeable import spock.util.concurrent.PollingConditions class PojoBindingSpec extends AbstractNatsTest { @@ -62,6 +63,7 @@ class PojoBindingSpec extends AbstractNatsTest { applicationContext.close() } + @Serdeable static class Person { String name } diff --git a/settings.gradle b/settings.gradle index 731fd1d0..ab91d1d0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -6,7 +6,7 @@ pluginManagement { } plugins { - id("io.micronaut.build.shared.settings") version "5.3.9" + id("io.micronaut.build.shared.settings") version "6.0.2" } rootProject.name = 'nats-parent' @@ -19,6 +19,13 @@ include 'docs-examples:example-kotlin' enableFeaturePreview 'TYPESAFE_PROJECT_ACCESSORS' +dependencyResolutionManagement { + repositories { + mavenCentral() + maven { url "https://s01.oss.sonatype.org/content/repositories/snapshots/" } + } +} + micronautBuild { importMicronautCatalog() }