[Gradle] Move 'checkGradleCompatibility' to a single, very early invocation

This shall ensure that the compatibility with Gradle
- is always checked for all plugins we ship
- is checked as early as possible

KT-61634
This commit is contained in:
Sebastian Sellmair
2023-10-18 13:14:21 +02:00
committed by Space Team
parent a15c068471
commit c47db02d30
4 changed files with 2 additions and 21 deletions
@@ -18,17 +18,14 @@ import org.jetbrains.kotlin.gradle.model.builder.KotlinModelBuilder
import org.jetbrains.kotlin.gradle.plugin.KotlinJvmPlugin.Companion.configureCompilerOptionsForTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
import org.jetbrains.kotlin.gradle.utils.whenEvaluated
import org.jetbrains.kotlin.gradle.utils.androidPluginIds
import org.jetbrains.kotlin.gradle.utils.checkGradleCompatibility
import org.jetbrains.kotlin.gradle.utils.whenEvaluated
internal open class KotlinAndroidPlugin(
private val registry: ToolingModelBuilderRegistry
) : Plugin<Project> {
override fun apply(project: Project) {
checkGradleCompatibility()
project.dynamicallyApplyWhenAndroidPluginIsApplied(
{
project.objects.newInstance(
@@ -62,8 +62,6 @@ abstract class DefaultKotlinBasePlugin : KotlinBasePlugin {
override val pluginVersion: String = getKotlinPluginVersion(logger)
override fun apply(project: Project) {
checkGradleCompatibility()
project.registerDefaultVariantImplementations()
KotlinBuildStatsService.getOrCreateInstance(project)?.apply {
report(StringMetrics.KOTLIN_COMPILER_VERSION, pluginVersion)
@@ -220,8 +218,8 @@ abstract class KotlinBasePluginWrapper : DefaultKotlinBasePlugin() {
override fun apply(project: Project) {
super.apply(project)
project.logger.info("Using Kotlin Gradle Plugin $pluginVariant variant")
checkGradleCompatibility()
project.configurations.maybeCreate(NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME).apply {
isVisible = false
@@ -8,22 +8,10 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.plugins.JavaBasePlugin
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.mpp.internal.runDeprecationDiagnostics
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinWasmTargetPreset
import org.jetbrains.kotlin.gradle.utils.checkGradleCompatibility
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.KonanTarget.*
import org.jetbrains.kotlin.konan.target.presetName
class KotlinMultiplatformPlugin : Plugin<Project> {
override fun apply(project: Project) {
checkGradleCompatibility("the Kotlin Multiplatform plugin")
runDeprecationDiagnostics(project)
project.plugins.apply(JavaBasePlugin::class.java)
}
@@ -25,8 +25,6 @@ open class KotlinJsPlugin: Plugin<Project> {
// so investigation is needed
project.plugins.apply(JavaBasePlugin::class.java)
checkGradleCompatibility()
project.enableKgpDependencyResolution(isEnabled = false)
val kotlinExtension = project.kotlinExtension as KotlinJsProjectExtension