diff --git a/build.gradle b/build.gradle index 336aeffbbe6..7bf0a4b727f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,8 @@ buildscript { - ext.kotlinVersion = '1.1.3-2' + ext.kotlinVersion = '1.1.4-eap-33' repositories { maven { url "https://repo.spring.io/plugins-release" } + maven { url "https://dl.bintray.com/kotlin/kotlin-eap-1.1" } } dependencies { classpath("io.spring.gradle:dependency-management-plugin:1.0.0.RELEASE") @@ -112,12 +113,12 @@ configure(allprojects) { project -> apply plugin: "kotlin" compileKotlin { kotlinOptions.jvmTarget = "1.8" - kotlinOptions.freeCompilerArgs = ["-Xskip-runtime-version-check"] + kotlinOptions.freeCompilerArgs = ["-Xskip-runtime-version-check", "-Xload-jsr305-annotations"] } compileTestKotlin { kotlinOptions.jvmTarget = "1.8" - kotlinOptions.freeCompilerArgs = ["-Xskip-runtime-version-check"] + kotlinOptions.freeCompilerArgs = ["-Xskip-runtime-version-check", "-Xload-jsr305-annotations"] } configurations.all { @@ -176,6 +177,7 @@ configure(allprojects) { project -> maven { url "https://repo.spring.io/libs-release" } maven { url "https://repo.spring.io/milestone" } maven { url "https://repo.spring.io/snapshot" } + maven { url "https://dl.bintray.com/kotlin/kotlin-eap-1.1" } } dependencies { diff --git a/spring-beans/src/test/kotlin/org/springframework/beans/BeanUtilsKotlinTests.kt b/spring-beans/src/test/kotlin/org/springframework/beans/BeanUtilsKotlinTests.kt index c7c4040e248..bdcdcf95fa6 100644 --- a/spring-beans/src/test/kotlin/org/springframework/beans/BeanUtilsKotlinTests.kt +++ b/spring-beans/src/test/kotlin/org/springframework/beans/BeanUtilsKotlinTests.kt @@ -28,32 +28,32 @@ class BeanUtilsKotlinTests { @Test fun `Instantiate immutable class`() { - val constructor = BeanUtils.findPrimaryConstructor(Foo::class.java) - val foo = BeanUtils.instantiateClass(constructor, "bar", 3) as Foo + val constructor = BeanUtils.findPrimaryConstructor(Foo::class.java)!! + val foo = BeanUtils.instantiateClass(constructor, "bar", 3) assertEquals("bar", foo.param1) assertEquals(3, foo.param2) } @Test fun `Instantiate immutable class with optional parameter and all parameters specified`() { - val constructor = BeanUtils.findPrimaryConstructor(Bar::class.java) - val bar = BeanUtils.instantiateClass(constructor, "baz", 8) as Bar + val constructor = BeanUtils.findPrimaryConstructor(Bar::class.java)!! + val bar = BeanUtils.instantiateClass(constructor, "baz", 8) assertEquals("baz", bar.param1) assertEquals(8, bar.param2) } @Test fun `Instantiate immutable class with optional parameter and only mandatory parameters specified by position`() { - val constructor = BeanUtils.findPrimaryConstructor(Bar::class.java) - val bar = BeanUtils.instantiateClass(constructor, "baz") as Bar + val constructor = BeanUtils.findPrimaryConstructor(Bar::class.java)!! + val bar = BeanUtils.instantiateClass(constructor, "baz") assertEquals("baz", bar.param1) assertEquals(12, bar.param2) } @Test fun `Instantiate immutable class with optional parameter specified with null value`() { - val constructor = BeanUtils.findPrimaryConstructor(Bar::class.java) - val bar = BeanUtils.instantiateClass(constructor, "baz", null) as Bar + val constructor = BeanUtils.findPrimaryConstructor(Bar::class.java)!! + val bar = BeanUtils.instantiateClass(constructor, "baz", null) assertEquals("baz", bar.param1) assertEquals(12, bar.param2) } diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/SimpMessageHeaderAccessor.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/SimpMessageHeaderAccessor.java index e08a83fd89c..ad63adeee45 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/SimpMessageHeaderAccessor.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/SimpMessageHeaderAccessor.java @@ -130,7 +130,7 @@ public class SimpMessageHeaderAccessor extends NativeMessageHeaderAccessor { return (String) getHeader(DESTINATION_HEADER); } - public void setSubscriptionId(String subscriptionId) { + public void setSubscriptionId(@Nullable String subscriptionId) { setHeader(SUBSCRIPTION_ID_HEADER, subscriptionId); } @@ -139,7 +139,7 @@ public class SimpMessageHeaderAccessor extends NativeMessageHeaderAccessor { return (String) getHeader(SUBSCRIPTION_ID_HEADER); } - public void setSessionId(String sessionId) { + public void setSessionId(@Nullable String sessionId) { setHeader(SESSION_ID_HEADER, sessionId); } diff --git a/spring-messaging/src/test/kotlin/org/springframework/messaging/simp/annotation/support/SimpAnnotationMethodMessageHandlerKotlinTests.kt b/spring-messaging/src/test/kotlin/org/springframework/messaging/simp/annotation/support/SimpAnnotationMethodMessageHandlerKotlinTests.kt index ea43eae237c..50f7a2734f2 100644 --- a/spring-messaging/src/test/kotlin/org/springframework/messaging/simp/annotation/support/SimpAnnotationMethodMessageHandlerKotlinTests.kt +++ b/spring-messaging/src/test/kotlin/org/springframework/messaging/simp/annotation/support/SimpAnnotationMethodMessageHandlerKotlinTests.kt @@ -155,7 +155,7 @@ class SimpAnnotationMethodMessageHandlerKotlinTests { clientOutboundChannel: MessageChannel) : SimpAnnotationMethodMessageHandler(clientInboundChannel, clientOutboundChannel, brokerTemplate) { - fun registerHandler(handler: Any?) { + fun registerHandler(handler: Any) { super.detectHandlerMethods(handler) } } diff --git a/spring-web/src/test/kotlin/org/springframework/web/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt b/spring-web/src/test/kotlin/org/springframework/web/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt index aac0ba426fa..1f587cb145e 100644 --- a/spring-web/src/test/kotlin/org/springframework/web/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt +++ b/spring-web/src/test/kotlin/org/springframework/web/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt @@ -76,7 +76,7 @@ class RequestParamMethodArgumentResolverKotlinTests { val method = ReflectionUtils.findMethod(javaClass, "handle", String::class.java, String::class.java, String::class.java, String::class.java, MultipartFile::class.java, MultipartFile::class.java, - MultipartFile::class.java, MultipartFile::class.java) + MultipartFile::class.java, MultipartFile::class.java)!! nullableParamRequired = SynthesizingMethodParameter(method, 0) nullableParamNotRequired = SynthesizingMethodParameter(method, 1) diff --git a/spring-webflux/src/test/kotlin/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt index 940055e37a3..11a3d6ff863 100644 --- a/spring-webflux/src/test/kotlin/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt +++ b/spring-webflux/src/test/kotlin/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverKotlinTests.kt @@ -54,7 +54,7 @@ class RequestParamMethodArgumentResolverKotlinTests { bindingContext = BindingContext(initializer) val method = ReflectionUtils.findMethod(javaClass, "handle", String::class.java, - String::class.java, String::class.java, String::class.java) + String::class.java, String::class.java, String::class.java)!! nullableParamRequired = SynthesizingMethodParameter(method, 0) nullableParamNotRequired = SynthesizingMethodParameter(method, 1)