Files
kmp-template/buildlogic/convention/src/main/kotlin/KotlinMultiplatformConventionPlugin.kt

41 lines
1.4 KiB
Kotlin
Raw Normal View History

2025-09-22 16:35:28 -03:00
import com.android.build.api.dsl.LibraryExtension
import dev.carlosmartino.plugins.configureKotlinAndroid
import dev.carlosmartino.plugins.configureKotlinMultiplatform
import dev.carlosmartino.plugins.libs
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
class KotlinMultiplatformConventionPlugin : Plugin<Project> {
override fun apply(target: Project) =
with(target) {
with(pluginManager) {
apply(
libs
.findPlugin("android.library")
.get()
.get()
.pluginId,
)
apply(
libs
.findPlugin("kotlin.multiplatform")
.get()
.get()
.pluginId,
)
apply(
libs
.findPlugin("kotlin.serialization")
.get()
.get()
.pluginId,
)
}
extensions.configure<KotlinMultiplatformExtension>(::configureKotlinMultiplatform)
extensions.configure<LibraryExtension>(::configureKotlinAndroid)
}
}