import com.android.build.api.dsl.LibraryExtension import com.android.build.api.variant.LibraryAndroidComponentsExtension import dev.meloda.fast.configureKotlinAndroid import dev.meloda.fast.disableUnnecessaryAndroidTests import dev.meloda.fast.getVersionInt import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies import org.gradle.kotlin.dsl.kotlin class AndroidLibraryConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { with(pluginManager) { apply("com.android.library") apply("org.jetbrains.kotlin.plugin.parcelize") apply("org.jetbrains.kotlin.plugin.serialization") } extensions.configure { configureKotlinAndroid(this) androidResources.enable = false defaultConfig { minSdk = getVersionInt("minSdk") testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } lint { abortOnError = false } } extensions.configure { disableUnnecessaryAndroidTests(target) } dependencies { add("androidTestImplementation", kotlin("test")) add("testImplementation", kotlin("test")) } } } }