Return old-style DSL for Gradle versions < 5.0

This commit is contained in:
Anton Yalyshev
2019-09-30 15:46:59 +02:00
parent 2106274fa3
commit 9af6efcb24
@@ -24,6 +24,7 @@ import com.intellij.openapi.externalSystem.model.project.ProjectId
import com.intellij.openapi.module.Module
import com.intellij.openapi.roots.ModifiableModelsProvider
import com.intellij.openapi.roots.ModifiableRootModel
import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.idea.KotlinIcons
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.GSK_KOTLIN_VERSION_PROPERTY_NAME
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.getKotlinGradlePluginClassPathSnippet
@@ -138,21 +139,33 @@ class KotlinDslGradleKotlinJavaFrameworkSupportProvider :
super.addSupport(projectId, module, rootModel, modifiableModelsProvider, buildScriptData)
val jvmTarget = getDefaultJvmTarget(rootModel.sdk, bundledRuntimeVersion())
if (jvmTarget != null) {
buildScriptData
.addOther(
"tasks {\n" +
" compileKotlin {\n" +
" kotlinOptions {\n" +
" jvmTarget = \"8\"\n" +
" }\n" +
" }\n" +
"}"
)
addJvmTargetTask(buildScriptData)
}
val artifactId = getStdlibArtifactId(rootModel.sdk, bundledRuntimeVersion())
buildScriptData.addDependencyNotation(composeDependency(buildScriptData, artifactId))
}
private fun addJvmTargetTask(buildScriptData: BuildScriptDataBuilder) {
val minGradleVersion = GradleVersion.version("5.0")
if (buildScriptData.gradleVersion >= minGradleVersion)
buildScriptData
.addOther("""
tasks {
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
}""".trimIndent()
)
else {
buildScriptData
.addImport("import org.jetbrains.kotlin.gradle.tasks.KotlinCompile")
.addOther("tasks.withType<KotlinCompile> {\n kotlinOptions.jvmTarget = \"1.8\"\n}\n")
}
}
}
abstract class AbstractKotlinDslGradleKotlinJSFrameworkSupportProvider(