diff --git a/build.gradle b/build.gradle index 62fb2fe6028..c3b0fbca67b 100644 --- a/build.gradle +++ b/build.gradle @@ -48,7 +48,7 @@ configure(allprojects) { project -> mavenBom "io.projectreactor:reactor-bom:Dysprosium-RELEASE" mavenBom "org.eclipse.jetty:jetty-bom:9.4.20.v20190813" mavenBom "org.jetbrains.kotlin:kotlin-bom:1.3.50" - mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.3.1" + mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.3.2" mavenBom "org.junit:junit-bom:5.5.2" } dependencies { diff --git a/spring-core/kotlin-coroutines/src/main/kotlin/org/springframework/core/CoroutinesUtils.kt b/spring-core/kotlin-coroutines/src/main/kotlin/org/springframework/core/CoroutinesUtils.kt index aaf693284c3..64b1af36f0f 100644 --- a/spring-core/kotlin-coroutines/src/main/kotlin/org/springframework/core/CoroutinesUtils.kt +++ b/spring-core/kotlin-coroutines/src/main/kotlin/org/springframework/core/CoroutinesUtils.kt @@ -19,7 +19,6 @@ package org.springframework.core import kotlinx.coroutines.Deferred import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.async import kotlinx.coroutines.flow.Flow @@ -59,7 +58,6 @@ internal fun monoToDeferred(source: Mono) = * @since 5.2 */ @Suppress("UNCHECKED_CAST") -@ExperimentalCoroutinesApi internal fun invokeSuspendingFunction(method: Method, bean: Any, vararg args: Any?): Any? { val function = method.kotlinFunction!! return if (function.isSuspend) { diff --git a/spring-messaging/src/main/kotlin/org/springframework/messaging/rsocket/RSocketRequesterExtensions.kt b/spring-messaging/src/main/kotlin/org/springframework/messaging/rsocket/RSocketRequesterExtensions.kt index b9317865aa5..5677c94d530 100644 --- a/spring-messaging/src/main/kotlin/org/springframework/messaging/rsocket/RSocketRequesterExtensions.kt +++ b/spring-messaging/src/main/kotlin/org/springframework/messaging/rsocket/RSocketRequesterExtensions.kt @@ -17,7 +17,6 @@ package org.springframework.messaging.rsocket import io.rsocket.transport.ClientTransport -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.reactive.awaitFirstOrNull import kotlinx.coroutines.reactive.awaitSingle @@ -119,7 +118,6 @@ suspend inline fun RSocketRequester.RequestSpec.retrieveAndAwa * @author Sebastien Deleuze * @since 5.2 */ -@ExperimentalCoroutinesApi inline fun RSocketRequester.RequestSpec.retrieveFlow(): Flow = retrieveFlux(object : ParameterizedTypeReference() {}).asFlow() diff --git a/spring-messaging/src/test/kotlin/org/springframework/messaging/rsocket/RSocketClientToServerCoroutinesIntegrationTests.kt b/spring-messaging/src/test/kotlin/org/springframework/messaging/rsocket/RSocketClientToServerCoroutinesIntegrationTests.kt index 613d194979c..b02efc11d18 100644 --- a/spring-messaging/src/test/kotlin/org/springframework/messaging/rsocket/RSocketClientToServerCoroutinesIntegrationTests.kt +++ b/spring-messaging/src/test/kotlin/org/springframework/messaging/rsocket/RSocketClientToServerCoroutinesIntegrationTests.kt @@ -21,7 +21,6 @@ import io.rsocket.RSocketFactory import io.rsocket.frame.decoder.PayloadDecoder import io.rsocket.transport.netty.server.CloseableChannel import io.rsocket.transport.netty.server.TcpServerTransport -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow @@ -49,7 +48,6 @@ import java.time.Duration * @author Sebastien Deleuze * @author Rossen Stoyanchev */ -@ExperimentalCoroutinesApi class RSocketClientToServerCoroutinesIntegrationTests { @Test @@ -105,7 +103,6 @@ class RSocketClientToServerCoroutinesIntegrationTests { .verify(Duration.ofSeconds(5)) } - @ExperimentalCoroutinesApi @Controller class ServerController { @@ -160,7 +157,6 @@ class RSocketClientToServerCoroutinesIntegrationTests { @Configuration open class ServerConfig { - @ExperimentalCoroutinesApi @Bean open fun controller(): ServerController { return ServerController() diff --git a/spring-messaging/src/test/kotlin/org/springframework/messaging/rsocket/RSocketRequesterExtensionsTests.kt b/spring-messaging/src/test/kotlin/org/springframework/messaging/rsocket/RSocketRequesterExtensionsTests.kt index 341bd5666a9..fcb5b3b8769 100644 --- a/spring-messaging/src/test/kotlin/org/springframework/messaging/rsocket/RSocketRequesterExtensionsTests.kt +++ b/spring-messaging/src/test/kotlin/org/springframework/messaging/rsocket/RSocketRequesterExtensionsTests.kt @@ -18,7 +18,6 @@ package org.springframework.messaging.rsocket import io.mockk.every import io.mockk.mockk -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.toList import kotlinx.coroutines.runBlocking @@ -122,7 +121,6 @@ class RSocketRequesterExtensionsTests { } @Test - @ExperimentalCoroutinesApi fun retrieveFlow() { val requestSpec = mockk() every { requestSpec.retrieveFlux(match>(stringTypeRefMatcher)) } returns Flux.just("foo", "bar") diff --git a/spring-test/src/main/kotlin/org/springframework/test/web/reactive/server/WebTestClientExtensions.kt b/spring-test/src/main/kotlin/org/springframework/test/web/reactive/server/WebTestClientExtensions.kt index 079b05cbdb5..fd0dd0b794a 100644 --- a/spring-test/src/main/kotlin/org/springframework/test/web/reactive/server/WebTestClientExtensions.kt +++ b/spring-test/src/main/kotlin/org/springframework/test/web/reactive/server/WebTestClientExtensions.kt @@ -16,7 +16,6 @@ package org.springframework.test.web.reactive.server -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import org.reactivestreams.Publisher import org.springframework.core.ParameterizedTypeReference @@ -56,7 +55,6 @@ inline fun RequestBodySpec.body(producer: Any): RequestHeaders * @author Sebastien Deleuze * @since 5.2 */ -@ExperimentalCoroutinesApi inline fun RequestBodySpec.body(flow: Flow): RequestHeadersSpec<*> = body(flow, object : ParameterizedTypeReference() {}) diff --git a/spring-test/src/test/kotlin/org/springframework/test/web/reactive/server/WebTestClientExtensionsTests.kt b/spring-test/src/test/kotlin/org/springframework/test/web/reactive/server/WebTestClientExtensionsTests.kt index 78cf0dac179..e59069c3f29 100644 --- a/spring-test/src/test/kotlin/org/springframework/test/web/reactive/server/WebTestClientExtensionsTests.kt +++ b/spring-test/src/test/kotlin/org/springframework/test/web/reactive/server/WebTestClientExtensionsTests.kt @@ -18,7 +18,6 @@ package org.springframework.test.web.reactive.server import io.mockk.mockk import io.mockk.verify -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test @@ -47,7 +46,6 @@ class WebTestClientExtensionsTests { } @Test - @ExperimentalCoroutinesApi fun `RequestBodySpec#body with Flow and reified type parameters`() { val body = mockk>() requestBodySpec.body(body) diff --git a/spring-tx/src/main/kotlin/org/springframework/transaction/reactive/TransactionalOperatorExtensions.kt b/spring-tx/src/main/kotlin/org/springframework/transaction/reactive/TransactionalOperatorExtensions.kt index b819fee09a6..503ee4e2f35 100644 --- a/spring-tx/src/main/kotlin/org/springframework/transaction/reactive/TransactionalOperatorExtensions.kt +++ b/spring-tx/src/main/kotlin/org/springframework/transaction/reactive/TransactionalOperatorExtensions.kt @@ -1,7 +1,6 @@ package org.springframework.transaction.reactive import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.reactive.asFlow import kotlinx.coroutines.reactive.awaitFirstOrNull @@ -15,7 +14,6 @@ import org.springframework.transaction.ReactiveTransaction * @author Sebastien Deleuze * @since 5.2 */ -@ExperimentalCoroutinesApi fun Flow.transactional(operator: TransactionalOperator): Flow = operator.transactional(asFlux()).asFlow() diff --git a/spring-tx/src/test/kotlin/org/springframework/transaction/reactive/TransactionalOperatorExtensionsTests.kt b/spring-tx/src/test/kotlin/org/springframework/transaction/reactive/TransactionalOperatorExtensionsTests.kt index be93faf06d5..f42cb940575 100644 --- a/spring-tx/src/test/kotlin/org/springframework/transaction/reactive/TransactionalOperatorExtensionsTests.kt +++ b/spring-tx/src/test/kotlin/org/springframework/transaction/reactive/TransactionalOperatorExtensionsTests.kt @@ -16,7 +16,6 @@ package org.springframework.transaction.reactive -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.delay import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.toList @@ -62,7 +61,6 @@ class TransactionalOperatorExtensionsTests { } @Test - @ExperimentalCoroutinesApi fun commitWithFlow() { val operator = TransactionalOperator.create(tm, DefaultTransactionDefinition()) val flow = flow { @@ -80,7 +78,6 @@ class TransactionalOperatorExtensionsTests { } @Test - @ExperimentalCoroutinesApi fun rollbackWithFlow() { val operator = TransactionalOperator.create(tm, DefaultTransactionDefinition()) val flow = flow { diff --git a/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensions.kt b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensions.kt index 21c06d09647..6b59b0b066e 100644 --- a/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensions.kt +++ b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensions.kt @@ -16,7 +16,6 @@ package org.springframework.web.reactive.function.client -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.reactive.awaitFirstOrNull import kotlinx.coroutines.reactive.awaitSingle @@ -54,7 +53,6 @@ inline fun ClientResponse.bodyToFlux(): Flux = * @author Sebastien Deleuze * @since 5.2 */ -@ExperimentalCoroutinesApi inline fun ClientResponse.bodyToFlow(): Flow = bodyToFlux().asFlow() diff --git a/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/WebClientExtensions.kt b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/WebClientExtensions.kt index d35063a5888..486cfb0bebb 100644 --- a/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/WebClientExtensions.kt +++ b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/client/WebClientExtensions.kt @@ -16,7 +16,6 @@ package org.springframework.web.reactive.function.client -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.reactive.awaitSingle import kotlinx.coroutines.reactive.asFlow @@ -103,7 +102,6 @@ inline fun WebClient.ResponseSpec.bodyToFlux(): Flux = * @author Sebastien Deleuze * @since 5.2 */ -@ExperimentalCoroutinesApi inline fun WebClient.ResponseSpec.bodyToFlow(): Flow = bodyToFlux().asFlow() diff --git a/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensions.kt b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensions.kt index bd98243b97e..7847bc627d0 100644 --- a/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensions.kt +++ b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensions.kt @@ -16,7 +16,6 @@ package org.springframework.web.reactive.function.server -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.reactive.awaitFirstOrNull import kotlinx.coroutines.reactive.awaitSingle @@ -57,7 +56,6 @@ inline fun ServerRequest.bodyToFlux(): Flux = * @author Sebastien Deleuze * @since 5.2 */ -@ExperimentalCoroutinesApi inline fun ServerRequest.bodyToFlow(): Flow = bodyToFlux().asFlow() diff --git a/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/ServerResponseExtensions.kt b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/ServerResponseExtensions.kt index ae7b683cecf..8f8b8a33c73 100644 --- a/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/ServerResponseExtensions.kt +++ b/spring-webflux/src/main/kotlin/org/springframework/web/reactive/function/server/ServerResponseExtensions.kt @@ -16,7 +16,6 @@ package org.springframework.web.reactive.function.server -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.reactive.awaitSingle import org.reactivestreams.Publisher @@ -71,7 +70,6 @@ suspend fun ServerResponse.BodyBuilder.bodyValueAndAwait(body: Any): ServerRespo * @author Sebastien Deleuze * @since 5.2 */ -@ExperimentalCoroutinesApi suspend inline fun ServerResponse.BodyBuilder.bodyAndAwait(flow: Flow): ServerResponse = body(flow, object : ParameterizedTypeReference() {}).awaitSingle() diff --git a/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensionsTests.kt b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensionsTests.kt index f728f930d11..980d555cf98 100644 --- a/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensionsTests.kt +++ b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/client/ClientResponseExtensionsTests.kt @@ -19,7 +19,6 @@ package org.springframework.web.reactive.function.client import io.mockk.every import io.mockk.mockk import io.mockk.verify -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test @@ -50,7 +49,6 @@ class ClientResponseExtensionsTests { } @Test - @ExperimentalCoroutinesApi fun `bodyToFlow with reified type parameters`() { response.bodyToFlow>() verify { response.bodyToFlux(object : ParameterizedTypeReference>() {}) } diff --git a/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/client/WebClientExtensionsTests.kt b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/client/WebClientExtensionsTests.kt index 9f29db1c20d..c5ec1002b5c 100644 --- a/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/client/WebClientExtensionsTests.kt +++ b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/client/WebClientExtensionsTests.kt @@ -19,7 +19,6 @@ package org.springframework.web.reactive.function.client import io.mockk.every import io.mockk.mockk import io.mockk.verify -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.runBlocking import org.assertj.core.api.Assertions.assertThat @@ -34,7 +33,6 @@ import java.util.concurrent.CompletableFuture * * @author Sebastien Deleuze */ -@ExperimentalCoroutinesApi class WebClientExtensionsTests { private val requestBodySpec = mockk(relaxed = true) diff --git a/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensionsTests.kt b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensionsTests.kt index 5f69c29fd8e..6d1b7960306 100644 --- a/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensionsTests.kt +++ b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/server/ServerRequestExtensionsTests.kt @@ -19,7 +19,6 @@ package org.springframework.web.reactive.function.server import io.mockk.every import io.mockk.mockk import io.mockk.verify -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test @@ -52,7 +51,6 @@ class ServerRequestExtensionsTests { } @Test - @ExperimentalCoroutinesApi fun `bodyToFlow with reified type parameters`() { request.bodyToFlow>() verify { request.bodyToFlux(object : ParameterizedTypeReference>() {}) } diff --git a/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/server/ServerResponseExtensionsTests.kt b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/server/ServerResponseExtensionsTests.kt index 3ec6c299766..0d6dead2155 100644 --- a/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/server/ServerResponseExtensionsTests.kt +++ b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/function/server/ServerResponseExtensionsTests.kt @@ -20,7 +20,6 @@ import io.mockk.every import io.mockk.mockk import io.mockk.verify import io.reactivex.Flowable -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.runBlocking import org.assertj.core.api.Assertions.assertThat @@ -77,7 +76,6 @@ class ServerResponseExtensionsTests { } @Test - @ExperimentalCoroutinesApi fun `BodyBuilder#bodyAndAwait with flow parameter`() { val response = mockk() val body = mockk>>()