Add support for Kotlin
This commit is contained in:
@@ -10,6 +10,7 @@ buildscript {
|
||||
plugins {
|
||||
id "io.spring.javaformat" version "0.0.34" apply false
|
||||
id "org.graalvm.buildtools.native" version "0.9.13" apply false
|
||||
id "org.jetbrains.kotlin.jvm" version "1.7.10" apply false
|
||||
}
|
||||
|
||||
subprojects {
|
||||
|
||||
@@ -25,6 +25,7 @@ dependencies {
|
||||
compileOnly("io.spring.javaformat:spring-javaformat-gradle-plugin:$javaFormatVersion")
|
||||
compileOnly("org.graalvm.buildtools:native-gradle-plugin:0.9.13")
|
||||
compileOnly("org.springframework.boot:spring-boot-gradle-plugin:3.0.0-SNAPSHOT")
|
||||
compileOnly("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10")
|
||||
|
||||
implementation("com.avast.gradle:gradle-docker-compose-plugin:0.16.8")
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ import org.gradle.api.provider.Provider;
|
||||
import org.gradle.api.tasks.SourceSet;
|
||||
import org.gradle.api.tasks.TaskProvider;
|
||||
import org.gradle.api.tasks.testing.Test;
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile;
|
||||
|
||||
import org.springframework.boot.gradle.plugin.SpringBootPlugin;
|
||||
import org.springframework.boot.gradle.tasks.bundling.BootJar;
|
||||
@@ -49,6 +50,7 @@ import org.springframework.boot.gradle.tasks.bundling.BootJar;
|
||||
* and as a native image.
|
||||
*
|
||||
* @author Andy Wilkinson
|
||||
* @author Moritz Halbritter
|
||||
*/
|
||||
public class AotSmokeTestPlugin implements Plugin<Project> {
|
||||
|
||||
@@ -77,6 +79,11 @@ public class AotSmokeTestPlugin implements Plugin<Project> {
|
||||
});
|
||||
configureJvmTests(project, aotTest, extension);
|
||||
configureNativeImageTests(project, aotTest, extension);
|
||||
configureKotlin(project, javaExtension);
|
||||
configureJavaFormat(project);
|
||||
}
|
||||
|
||||
private void configureJavaFormat(Project project) {
|
||||
project.getPlugins().withType(SpringJavaFormatPlugin.class, (javaFormat) -> {
|
||||
project.getTasks().withType(CheckFormat.class).configureEach((task) -> {
|
||||
if (task.getName().equals("checkFormatAot")) {
|
||||
@@ -86,6 +93,12 @@ public class AotSmokeTestPlugin implements Plugin<Project> {
|
||||
});
|
||||
}
|
||||
|
||||
private void configureKotlin(Project project, JavaPluginExtension javaExtension) {
|
||||
project.getTasks().withType(KotlinJvmCompile.class).configureEach((kotlinCompile) -> {
|
||||
kotlinCompile.getKotlinOptions().setJvmTarget(javaExtension.getTargetCompatibility().toString());
|
||||
});
|
||||
}
|
||||
|
||||
private void configureJvmTests(Project project, SourceSet aotTest, AotSmokeTestExtension extension) {
|
||||
Provider<RegularFile> archiveFile = project.getTasks().named(SpringBootPlugin.BOOT_JAR_TASK_NAME, BootJar.class)
|
||||
.flatMap(BootJar::getArchiveFile);
|
||||
|
||||
Reference in New Issue
Block a user