Files
fast-messenger/build-logic/convention/build.gradle.kts
T
2025-03-23 20:51:15 +03:00

75 lines
2.0 KiB
Kotlin

import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
`kotlin-dsl`
}
group = "dev.meloda.fast.buildlogic"
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_21
}
}
dependencies {
compileOnly(libs.kotlin.gradlePlugin)
compileOnly(libs.android.gradlePlugin)
compileOnly(libs.compose.gradlePlugin)
compileOnly(libs.ksp.gradlePlugin)
compileOnly(libs.room.gradlePlugin)
}
tasks {
validatePlugins {
enableStricterValidation = true
failOnWarning = true
}
}
gradlePlugin {
plugins {
register("androidApplicationCompose") {
id = "fast.android.application.compose"
implementationClass = "AndroidApplicationComposeConventionPlugin"
}
register("androidApplication") {
id = "fast.android.application"
implementationClass = "AndroidApplicationConventionPlugin"
}
register("androidLibraryCompose") {
id = "fast.android.library.compose"
implementationClass = "AndroidLibraryComposeConventionPlugin"
}
register("androidLibrary") {
id = "fast.android.library"
implementationClass = "AndroidLibraryConventionPlugin"
}
register("androidFeature") {
id = "fast.android.feature"
implementationClass = "AndroidFeatureConventionPlugin"
}
register("androidTest") {
id = "fast.android.test"
implementationClass = "AndroidTestConventionPlugin"
}
register("koin") {
id = "fast.koin"
implementationClass = "KoinConventionPlugin"
}
register("androidRoom") {
id = "fast.android.room"
implementationClass = "AndroidRoomConventionPlugin"
}
register("jvmLibrary") {
id = "fast.jvm.library"
implementationClass = "JvmLibraryConventionPlugin"
}
}
}