71
build-logic/convention/build.gradle.kts
Normal file
71
build-logic/convention/build.gradle.kts
Normal file
@@ -0,0 +1,71 @@
|
||||
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"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user