Files
Android-Architecture-Showcase/build-logic/convention/build.gradle.kts
Adrian Kuta d1ff0e30ba
Some checks failed
CI / build (push) Has been cancelled
Initial commit
2026-06-11 11:03:01 +02:00

72 lines
2.6 KiB
Kotlin

import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
`kotlin-dsl`
}
group = "com.example.architecture.buildlogic"
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
tasks.withType<KotlinCompile>().configureEach {
compilerOptions {
jvmTarget = JvmTarget.JVM_17
}
}
dependencies {
// The convention plugins apply these by id, so they only need them at compile time.
compileOnly(libs.android.gradlePlugin)
compileOnly(libs.kotlin.gradlePlugin)
compileOnly(libs.compose.compiler.gradlePlugin)
}
gradlePlugin {
plugins {
register("androidApplication") {
id = "architecture.android.application"
implementationClass = "com.example.architecture.convention.AndroidApplicationConventionPlugin"
}
register("androidLibrary") {
id = "architecture.android.library"
implementationClass = "com.example.architecture.convention.AndroidLibraryConventionPlugin"
}
register("androidFeature") {
id = "architecture.android.feature"
implementationClass = "com.example.architecture.convention.AndroidFeatureConventionPlugin"
}
register("androidFeatureViews") {
id = "architecture.android.feature.views"
implementationClass = "com.example.architecture.convention.AndroidFeatureViewsConventionPlugin"
}
register("domainModule") {
id = "architecture.domain.module"
implementationClass = "com.example.architecture.convention.DomainModuleConventionPlugin"
}
register("androidUnitTest") {
id = "architecture.android.unit.test"
implementationClass = "com.example.architecture.convention.AndroidUnitTestConventionPlugin"
}
register("compose") {
id = "architecture.compose"
implementationClass = "com.example.architecture.convention.ComposeConventionPlugin"
}
register("koin") {
id = "architecture.koin"
implementationClass = "com.example.architecture.convention.KoinConventionPlugin"
}
register("ktor") {
id = "architecture.ktor"
implementationClass = "com.example.architecture.convention.KtorConventionPlugin"
}
register("kotlinxSerialization") {
id = "architecture.kotlinx.serialization"
implementationClass = "com.example.architecture.convention.KotlinxSerializationConventionPlugin"
}
}
}