From fd07bfd816a3b6e6782f16fc81b9d59d4ca34cf4 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Thu, 26 Oct 2017 15:27:12 +0200 Subject: [PATCH] Polish "Add runApplication() Kotlin top level function" Closes gh-10511 --- .../spring-boot-dependencies/pom.xml | 50 +++---- .../spring-boot-parent/pom.xml | 8 + .../spring-boot-starter-parent/pom.xml | 24 +++ spring-boot-project/spring-boot/pom.xml | 137 ++++++++---------- .../boot/SpringApplicationExtensions.kt | 15 +- .../boot/SpringApplicationExtensionsTests.kt | 12 +- 6 files changed, 139 insertions(+), 107 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/pom.xml b/spring-boot-project/spring-boot-dependencies/pom.xml index 0003bd205d..c547fdafdb 100644 --- a/spring-boot-project/spring-boot-dependencies/pom.xml +++ b/spring-boot-project/spring-boot-dependencies/pom.xml @@ -2245,26 +2245,6 @@ jdom2 ${jdom2.version} - - org.jolokia - jolokia-core - ${jolokia.version} - - - org.jooq - jooq - ${jooq.version} - - - org.jooq - jooq-meta - ${jooq.version} - - - org.jooq - jooq-codegen - ${jooq.version} - org.jetbrains.kotlin kotlin-reflect @@ -2285,6 +2265,26 @@ kotlin-stdlib-jre8 ${kotlin.version} + + org.jolokia + jolokia-core + ${jolokia.version} + + + org.jooq + jooq + ${jooq.version} + + + org.jooq + jooq-meta + ${jooq.version} + + + org.jooq + jooq-codegen + ${jooq.version} + org.liquibase liquibase-core @@ -2881,6 +2881,11 @@ + + kotlin-maven-plugin + org.jetbrains.kotlin + ${kotlin.version} + org.jooq jooq-codegen-maven @@ -3024,11 +3029,6 @@ flyway-maven-plugin ${flyway.version} - - kotlin-maven-plugin - org.jetbrains.kotlin - ${kotlin.version} - pl.project13.maven git-commit-id-plugin diff --git a/spring-boot-project/spring-boot-parent/pom.xml b/spring-boot-project/spring-boot-parent/pom.xml index 6ba2ad07e1..93ea49e2d6 100644 --- a/spring-boot-project/spring-boot-parent/pom.xml +++ b/spring-boot-project/spring-boot-parent/pom.xml @@ -268,6 +268,14 @@ + + org.jetbrains.kotlin + kotlin-maven-plugin + ${kotlin.version} + + ${java.version} + + org.asciidoctor asciidoctor-maven-plugin diff --git a/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/pom.xml b/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/pom.xml index 1da8f07d80..9aae5b2590 100644 --- a/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/pom.xml +++ b/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/pom.xml @@ -60,6 +60,30 @@ + + org.jetbrains.kotlin + kotlin-maven-plugin + ${kotlin.version} + + ${java.version} + + + + compile + compile + + compile + + + + test-compile + test-compile + + test-compile + + + + org.apache.maven.plugins maven-compiler-plugin diff --git a/spring-boot-project/spring-boot/pom.xml b/spring-boot-project/spring-boot/pom.xml index ceed9c208c..beace20ba5 100644 --- a/spring-boot-project/spring-boot/pom.xml +++ b/spring-boot-project/spring-boot/pom.xml @@ -13,79 +13,6 @@ ${basedir}/../.. - - - - kotlin-maven-plugin - org.jetbrains.kotlin - ${kotlin.version} - - ${java.version} - - - - compile - compile - - compile - - - - ${project.basedir}/src/main/kotlin - ${project.basedir}/src/main/java - - - - - test-compile - test-compile - - test-compile - - - - ${project.basedir}/src/test/kotlin - ${project.basedir}/src/test/java - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - ${java.version} - ${java.version} - true - - - - default-compile - none - - - default-testCompile - none - - - java-compile - compile - - compile - - - - java-test-compile - test-compile - - testCompile - - - - - - @@ -460,4 +387,68 @@ test + + + + org.jetbrains.kotlin + kotlin-maven-plugin + + + compile + compile + + compile + + + + ${project.basedir}/src/main/kotlin + ${project.basedir}/src/main/java + + + + + test-compile + test-compile + + test-compile + + + + ${project.basedir}/src/test/kotlin + ${project.basedir}/src/test/java + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + default-compile + none + + + default-testCompile + none + + + java-compile + compile + + compile + + + + java-test-compile + test-compile + + testCompile + + + + + + diff --git a/spring-boot-project/spring-boot/src/main/kotlin/org/springframework/boot/SpringApplicationExtensions.kt b/spring-boot-project/spring-boot/src/main/kotlin/org/springframework/boot/SpringApplicationExtensions.kt index 84ce056996..e64c6a1e4b 100644 --- a/spring-boot-project/spring-boot/src/main/kotlin/org/springframework/boot/SpringApplicationExtensions.kt +++ b/spring-boot-project/spring-boot/src/main/kotlin/org/springframework/boot/SpringApplicationExtensions.kt @@ -17,12 +17,14 @@ package org.springframework.boot import org.springframework.context.ConfigurableApplicationContext + import kotlin.reflect.KClass /** - * Top level function acting as a Kotlin shortcut allowing to write `runApplication(arg1, arg2)` - * instead of `SpringApplication.run(FooApplication::class.java, arg1, arg2)`. + * Top level function acting as a Kotlin shortcut allowing to write + * `runApplication(arg1, arg2)` instead of + * `SpringApplication.run(FooApplication::class.java, arg1, arg2)`. * * @author Sebastien Deleuze * @since 2.0.0 @@ -31,8 +33,10 @@ inline fun runApplication(vararg args: String): ConfigurableAp SpringApplication.run(T::class.java, *args) /** - * Top level function acting as a Kotlin shortcut allowing to write `runApplication(arg1, arg2) { // SpringApplication customization ... }` - * instead of instantiating `SpringApplication` class, customize it and then invoking `run(arg1, arg2)`. + * Top level function acting as a Kotlin shortcut allowing to write + * `runApplication(arg1, arg2) { // SpringApplication customization ... }` + * instead of instantiating `SpringApplication` class, customize it and then invoking + * `run(arg1, arg2)`. * * @author Sebastien Deleuze * @since 2.0.0 @@ -44,7 +48,8 @@ inline fun runApplication(vararg args: String, init: SpringApp /** * Top level function acting as a Kotlin shortcut allowing to write * `runApplication(arrayOf(FooApplication::class, FooConfiguration::class), arg1, arg2) { // Optional SpringApplication customization ... }` - * instead of instantiating `SpringApplication` class, customize it and then invoking `run(arrayOf(arg1, arg2))`.` + * instead of instantiating `SpringApplication` class, customize it and then invoking + * `run(arrayOf(arg1, arg2))`.` * * @author Sebastien Deleuze * @since 2.0.0 diff --git a/spring-boot-project/spring-boot/src/test/kotlin/org/springframework/boot/SpringApplicationExtensionsTests.kt b/spring-boot-project/spring-boot/src/test/kotlin/org/springframework/boot/SpringApplicationExtensionsTests.kt index 979367899d..963e0308f1 100644 --- a/spring-boot-project/spring-boot/src/test/kotlin/org/springframework/boot/SpringApplicationExtensionsTests.kt +++ b/spring-boot-project/spring-boot/src/test/kotlin/org/springframework/boot/SpringApplicationExtensionsTests.kt @@ -15,10 +15,14 @@ */ package org.springframework.boot -import org.junit.Assert.* +import org.junit.Assert.assertArrayEquals +import org.junit.Assert.assertEquals +import org.junit.Assert.assertNotNull +import org.junit.Assert.assertTrue import org.junit.Test + import org.springframework.beans.factory.getBean -import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory +import org.springframework.boot.web.servlet.server.MockServletWebServerFactory import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.core.env.StandardEnvironment @@ -110,8 +114,8 @@ class SpringApplicationExtensionsTests { internal open class ExampleWebConfig { @Bean - open fun webServer(): TomcatServletWebServerFactory { - return TomcatServletWebServerFactory(0) + open fun webServer(): MockServletWebServerFactory { + return MockServletWebServerFactory() } }