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().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" } } }