[KPM] Only provide access to KotlinExternalModelContainer through ExternalVariantApi

KT-51262
KT-51220
This commit is contained in:
sebastian.sellmair
2022-02-13 20:11:55 +01:00
committed by Space
parent f1655e5f4e
commit ee6957c9a0
11 changed files with 25 additions and 37 deletions
@@ -6,9 +6,9 @@ plugins {
dependencies {
implementation(gradleKotlinDsl())
compileOnly("com.android.tools.build:gradle:7.0.0")
compileOnly(project(":kotlin-gradle-plugin"))
compileOnly(project(":kotlin-gradle-plugin-idea"))
compileOnly("com.android.tools.build:gradle:7.0.0")
}
gradlePlugin {
@@ -8,12 +8,13 @@
package org.jetbrains.kotlin.gradle.android
import org.jetbrains.kotlin.gradle.kpm.KotlinExternalModelKey
import org.jetbrains.kotlin.gradle.kpm.KotlinExternalModelSerializer
import org.jetbrains.kotlin.gradle.kpm.idea.InternalKotlinGradlePluginApi
import java.io.File
import java.io.Serializable
internal val androidDslKey = KotlinExternalModelKey<AndroidDsl>()
internal val androidDslKey = KotlinExternalModelKey<AndroidDsl>(KotlinExternalModelSerializer.serializable())
class AndroidDsl : Serializable {
var compileSdk = 0
@@ -11,8 +11,8 @@ package org.jetbrains.kotlin.gradle.android
import com.android.build.gradle.AppExtension
import com.android.build.gradle.LibraryExtension
import org.gradle.kotlin.dsl.findByType
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalVariantApi
import org.jetbrains.kotlin.gradle.plugin.mpp.external.project
import org.jetbrains.kotlin.gradle.kpm.external.ExternalVariantApi
import org.jetbrains.kotlin.gradle.kpm.external.project
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinPm20ProjectExtension
fun KotlinPm20ProjectExtension.android() {
@@ -15,8 +15,9 @@ import com.android.build.gradle.internal.publishing.AndroidArtifacts
import org.gradle.api.attributes.java.TargetJvmEnvironment
import org.gradle.api.attributes.java.TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE
import org.gradle.kotlin.dsl.named
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalVariantApi
import org.jetbrains.kotlin.gradle.plugin.mpp.external.createExternalJvmVariant
import org.jetbrains.kotlin.gradle.kpm.external.ExternalVariantApi
import org.jetbrains.kotlin.gradle.kpm.external.createExternalJvmVariant
import org.jetbrains.kotlin.gradle.kpm.external.external
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
fun KotlinGradleModule.createKotlinAndroidVariant(androidVariant: BaseVariant) {