Files
mihon-bookoasis/gradle/build-logic/src/main/kotlin/PluginComposeAndroid.kt
T

40 lines
1.1 KiB
Kotlin

import com.android.build.api.dsl.BuildFeatures
import com.android.build.api.dsl.CommonExtension
import mihon.gradle.extensions.alias
import mihon.gradle.extensions.android
import mihon.gradle.extensions.api
import mihon.gradle.extensions.debugApi
import mihon.gradle.extensions.implementation
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.dependencies
@Suppress("UNUSED")
class PluginComposeAndroid : Plugin<Project> {
override fun apply(target: Project): Unit = with(target) {
plugins {
alias(libs.plugins.kotlin.compose.compiler)
}
android {
buildFeatures {
compose = true
}
}
dependencies {
implementation(platform(libs.androidx.compose.bom))
// Compose @Preview tooling
api(libs.androidx.compose.uiToolingPreview)
debugApi(libs.androidx.compose.uiTooling)
}
}
}
private fun CommonExtension.buildFeatures(block: BuildFeatures.() -> Unit) {
buildFeatures.apply(block)
}