diff --git a/spring-cloud-function-context/pom.xml b/spring-cloud-function-context/pom.xml
index 932708a25..881926483 100644
--- a/spring-cloud-function-context/pom.xml
+++ b/spring-cloud-function-context/pom.xml
@@ -47,16 +47,6 @@
jackson-module-kotlin
true
-
-
-
-
-
-
-
-
-
-
org.springframework.boot
spring-boot-configuration-processor
@@ -159,15 +149,6 @@
kotlin-maven-plugin
org.jetbrains.kotlin
- 1.6.0
-
-
- -Xjsr305=strict
-
-
- spring
-
-
compile
@@ -181,26 +162,7 @@
-
- test-compile
-
- test-compile
-
-
-
- ${project.basedir}/src/test/kotlin
- ${project.basedir}/src/test/java
-
-
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-allopen
- 1.6.0
-
-
org.apache.maven.plugins
diff --git a/spring-cloud-function-kotlin/pom.xml b/spring-cloud-function-kotlin/pom.xml
index a3593575d..f66e686bd 100644
--- a/spring-cloud-function-kotlin/pom.xml
+++ b/spring-cloud-function-kotlin/pom.xml
@@ -64,16 +64,6 @@
kotlin-maven-plugin
org.jetbrains.kotlin
- 1.8.10
-
-
- -Xjsr305=strict
-
-
- spring
-
- 17
-
test-compile
@@ -85,17 +75,9 @@
${project.basedir}/src/test/kotlin
${project.basedir}/src/test/java
- 17
-
-
- org.jetbrains.kotlin
- kotlin-maven-allopen
- 1.8.10
-
-
org.apache.maven.plugins
diff --git a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinLambdasConfiguration.kt b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinLambdasConfiguration.kt
index ef4583d39..a324131fc 100644
--- a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinLambdasConfiguration.kt
+++ b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinLambdasConfiguration.kt
@@ -28,39 +28,39 @@ import java.util.List
*/
@EnableAutoConfiguration
@Configuration
-class KotlinLambdasConfiguration {
+open class KotlinLambdasConfiguration {
@Bean
- fun uppercase(): Function = KotlinComponentFunction()
+ open fun uppercase(): Function = KotlinComponentFunction()
@Bean
- fun kotlinFunction(): (String) -> String {
+ open fun kotlinFunction(): (String) -> String {
return { it.toUpperCase() }
}
@Bean
- fun kotlinPojoFunction(): (Person) -> String {
+ open fun kotlinPojoFunction(): (Person) -> String {
return { it.name.toString()}
}
@Bean
- fun kotlinListPojoFunction(): (List) -> String {
+ open fun kotlinListPojoFunction(): (List) -> String {
return {
"List of: " + it.get(0).name
}
}
@Bean
- fun kotlinConsumer(): (String) -> Unit {
+ open fun kotlinConsumer(): (String) -> Unit {
return { println(it) }
}
@Bean
- fun kotlinSupplier(): () -> String {
+ open fun kotlinSupplier(): () -> String {
return { "Hello" }
}
@Bean
- fun javaFunction(): Function {
+ open fun javaFunction(): Function {
return Function { x -> x }
}
diff --git a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendFlowLambdasConfiguration.kt b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendFlowLambdasConfiguration.kt
index 937426f9c..bfa7e3102 100644
--- a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendFlowLambdasConfiguration.kt
+++ b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendFlowLambdasConfiguration.kt
@@ -32,32 +32,32 @@ import java.util.function.Function
*/
@EnableAutoConfiguration
@Configuration
-class KotlinSuspendFlowLambdasConfiguration {
+open class KotlinSuspendFlowLambdasConfiguration {
@Bean
- fun kotlinFunction(): suspend (Flow) -> Flow = { flow ->
+ open fun kotlinFunction(): suspend (Flow) -> Flow = { flow ->
flow.map { value -> value.toUpperCase() }
}
@Bean
- fun kotlinPojoFunction(): suspend (Flow) -> Flow = { flow ->
+ open fun kotlinPojoFunction(): suspend (Flow) -> Flow = { flow ->
flow.map(Person::toString)
}
@Bean
- fun kotlinConsumer(): suspend (Flow) -> Unit = { flow ->
+ open fun kotlinConsumer(): suspend (Flow) -> Unit = { flow ->
flow.collect(::println)
}
@Bean
- fun kotlinSupplier(): suspend () -> Flow = {
+ open fun kotlinSupplier(): suspend () -> Flow = {
flow {
emit("Hello")
}
}
@Bean
- fun javaFunction(): Function, Flux> {
+ open fun javaFunction(): Function, Flux> {
return Function { x -> x }
}
diff --git a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendLambdasConfiguration.kt b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendLambdasConfiguration.kt
index 66b30bdea..68e985550 100644
--- a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendLambdasConfiguration.kt
+++ b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendLambdasConfiguration.kt
@@ -26,20 +26,20 @@ import org.springframework.context.annotation.Configuration
*/
@EnableAutoConfiguration
@Configuration
-class KotlinSuspendLambdasConfiguration {
+open class KotlinSuspendLambdasConfiguration {
@Bean
- fun kotlinFunction(): suspend (Person) -> String {
+ open fun kotlinFunction(): suspend (Person) -> String {
return { it.name.toString()}
}
@Bean
- fun kotlinConsumer(): suspend (String) -> Unit {
+ open fun kotlinConsumer(): suspend (String) -> Unit {
return { println(it) }
}
@Bean
- fun kotlinSupplier(): suspend () -> String {
+ open fun kotlinSupplier(): suspend () -> String {
return { "Hello" }
}
diff --git a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageSuspendTests.kt b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageSuspendTests.kt
index 3d03ca221..85ad7f68f 100644
--- a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageSuspendTests.kt
+++ b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageSuspendTests.kt
@@ -41,12 +41,12 @@ import java.net.URI
properties = ["spring.cloud.function.web.path=/functions", "spring.main.web-application-type=reactive"]
)
@ContextConfiguration(classes = [RestApplication::class, HeadersToMessageSuspendTests.TestConfiguration::class])
-class HeadersToMessageSuspendTests {
+open class HeadersToMessageSuspendTests {
@Autowired
private val rest: TestRestTemplate? = null
@Test
@Throws(Exception::class)
- fun testBodyAndCustomHeaderFromMessagePropagation() {
+ open fun testBodyAndCustomHeaderFromMessagePropagation() {
// test POJO paylod
var postForEntity = rest!!
.exchange(
@@ -75,9 +75,9 @@ class HeadersToMessageSuspendTests {
@EnableAutoConfiguration
@org.springframework.boot.test.context.TestConfiguration
- class TestConfiguration {
+ open class TestConfiguration {
@Bean("stringSuspend")
- fun functiono():suspend (employee: Flow>) -> Flow> = { flow: Flow> ->
+ open fun functiono():suspend (employee: Flow>) -> Flow> = { flow: Flow> ->
flow.map { request ->
val message =
MessageBuilder.withPayload(request.payload)
@@ -88,7 +88,7 @@ class HeadersToMessageSuspendTests {
}
@Bean("employeeSuspend")
- fun function1(): suspend (employee: Flow>) -> Flow> = { flow ->
+ open fun function1(): suspend (employee: Flow>) -> Flow> = { flow ->
flow.map { request ->
val message =
MessageBuilder
@@ -101,7 +101,7 @@ class HeadersToMessageSuspendTests {
}
}
- class Employee {
+ open class Employee {
var name: String? = null
var age = 0
}
diff --git a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageTests.kt b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageTests.kt
index 894fd7739..02f1c170d 100644
--- a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageTests.kt
+++ b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageTests.kt
@@ -41,12 +41,12 @@ import java.net.URI
properties = ["spring.cloud.function.web.path=/functions", "spring.main.web-application-type=reactive"]
)
@ContextConfiguration(classes = [RestApplication::class, HeadersToMessageTests.TestConfiguration::class])
-class HeadersToMessageTests {
+open class HeadersToMessageTests {
@Autowired
private val rest: TestRestTemplate? = null
@Test
@Throws(Exception::class)
- fun testBodyAndCustomHeaderFromMessagePropagation() {
+ open fun testBodyAndCustomHeaderFromMessagePropagation() {
// test POJO paylod
var postForEntity = rest!!
.exchange(
@@ -74,9 +74,9 @@ class HeadersToMessageTests {
@EnableAutoConfiguration
@org.springframework.boot.test.context.TestConfiguration
- class TestConfiguration {
+ open class TestConfiguration {
@Bean("string")
- fun functiono(): (message: Message) -> Message = { request: Message ->
+ open fun functiono(): (message: Message) -> Message = { request: Message ->
val message =
MessageBuilder.withPayload(request.payload)
.setHeader("X-Content-Type", "application/xml")
@@ -85,7 +85,7 @@ class HeadersToMessageTests {
}
@Bean("employee")
- fun function1(): (employee: Message) -> Message = { request ->
+ open fun function1(): (employee: Message) -> Message = { request ->
val message =
MessageBuilder
.withPayload(request.payload)
@@ -96,7 +96,7 @@ class HeadersToMessageTests {
}
// used by json converter
- class Employee {
+ open class Employee {
var name: String? = null
var age = 0
}
diff --git a/spring-cloud-function-samples/function-sample-kotlin-web/pom.xml b/spring-cloud-function-samples/function-sample-kotlin-web/pom.xml
index f5f668f5b..fdd0943cc 100644
--- a/spring-cloud-function-samples/function-sample-kotlin-web/pom.xml
+++ b/spring-cloud-function-samples/function-sample-kotlin-web/pom.xml
@@ -84,7 +84,7 @@
org.jetbrains.kotlin
kotlin-maven-allopen
- 1.8.10
+ ${kotlin.version}