- We can replace the library module to reflect as below
plugins {
alias(libs.plugins.runtracer.android.library)
}
android {
namespace = "com.istudio.run.network"
}
dependencies {
implementation(projects.core.domain)
implementation(projects.core.data)
}
- Define
AndroidLibraryConventionPlugin
class AndroidLibraryConventionPlugin : Plugin<Project> {
override fun apply(target: Project) {
target.run {
pluginManager.run {
apply("com.android.library")
apply("org.jetbrains.kotlin.android")
}
extensions.configure<LibraryExtension> {
configureKotlinAndroid(this)
configureBuildTypes(
commonExtension = this,
extensionType = ExtensionType.LIBRARY,
providers = providers
)
defaultConfig {
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}
}
dependencies {
"testImplementation"(kotlin("test"))
}
}
}
}
- Register in
build-logic
level build gradle
// Other Code
gradlePlugin {
plugins {
// Other Code
register("androidLibrary") {
id = "runtracer.android.library"
implementationClass = "AndroidLibraryConventionPlugin"
}
}
}