Files
mihon-bookoasis/gradle/build-logic/src/main/kotlin/PluginKotlinMultiplatform.kt
T
2026-03-25 23:57:35 +06:00

37 lines
1.1 KiB
Kotlin

import mihon.gradle.configurations.configureAndroid
import mihon.gradle.configurations.configureKotlin
import mihon.gradle.extensions.alias
import mihon.gradle.extensions.configureTest
import mihon.gradle.extensions.libs
import mihon.gradle.extensions.plugins
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
@Suppress("UNUSED")
class PluginKotlinMultiplatform : Plugin<Project> {
override fun apply(target: Project): Unit = with(target) {
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.multiplatform)
}
configureKotlin()
configureTest()
configureAndroid()
kotlin {
@OptIn(ExperimentalKotlinGradlePluginApi::class)
applyDefaultHierarchyTemplate()
androidTarget()
}
}
}
private fun Project.kotlin(block: KotlinMultiplatformExtension.() -> Unit) {
extensions.configure(block)
}