From 3a7deffe2e964f886e8ffe765d8fadfcae59aac5 Mon Sep 17 00:00:00 2001 From: Ivan Gavrilovic Date: Tue, 22 Oct 2019 19:47:57 -0700 Subject: [PATCH] KT-33050: Pass source version to KAPT for JDK12+ In JDK 12+ source version should be passed using --source option, instead of -source. This commit uses correct option based on the JDK current build is using. Fixes KT-33050 --- .../gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt index 171ab36d4d0..29526e42b65 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.internal import com.android.build.gradle.BaseExtension import com.android.build.gradle.api.AndroidSourceSet import com.android.builder.model.SourceProvider +import com.intellij.openapi.util.SystemInfo import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.Task @@ -433,8 +434,13 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin { } val dslJavacOptions = kaptExtension.getJavacOptions().toMutableMap() - if (javaCompile != null && "-source" !in dslJavacOptions && "--release" !in dslJavacOptions) { - dslJavacOptions["-source"] = javaCompile.sourceCompatibility + if (javaCompile != null && "-source" !in dslJavacOptions && "--source" !in dslJavacOptions && "--release" !in dslJavacOptions) { + val sourceOptionKey = if (SystemInfo.isJavaVersionAtLeast(12, 0, 0)) { + "--source" + } else { + "-source" + } + dslJavacOptions[sourceOptionKey] = javaCompile.sourceCompatibility } if (kaptTask is KaptWithKotlincTask) { if (kaptTask.isIncremental) {