You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.4 KiB
56 lines
2.4 KiB
3 years ago
|
import com.android.build.gradle.LibraryExtension
|
||
|
import org.gradle.api.Plugin
|
||
|
import org.gradle.api.Project
|
||
|
import org.gradle.api.artifacts.VersionCatalogsExtension
|
||
|
import org.gradle.kotlin.dsl.configure
|
||
|
import org.gradle.kotlin.dsl.dependencies
|
||
|
import org.gradle.kotlin.dsl.getByType
|
||
|
|
||
|
class AndroidFeatureConventionPlugin : Plugin<Project> {
|
||
|
override fun apply(target: Project) {
|
||
|
with(target) {
|
||
|
pluginManager.apply {
|
||
|
apply("com.android.library")
|
||
|
apply("org.jetbrains.kotlin.android")
|
||
|
apply("org.jetbrains.kotlin.kapt")
|
||
|
}
|
||
|
extensions.configure<LibraryExtension> {
|
||
|
defaultConfig {
|
||
|
testInstrumentationRunner =
|
||
|
"com.google.samples.apps.nowinandroid.core.testing.NiaTestRunner"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
|
||
|
|
||
|
dependencies {
|
||
|
add("implementation", project(":core-model"))
|
||
|
add("implementation", project(":core-ui"))
|
||
|
add("implementation", project(":core-data"))
|
||
|
add("implementation", project(":core-common"))
|
||
|
add("implementation", project(":core-navigation"))
|
||
|
|
||
|
add("testImplementation", project(":core-testing"))
|
||
|
add("androidTestImplementation", project(":core-testing"))
|
||
|
|
||
|
add("implementation", libs.findLibrary("coil.kt").get())
|
||
|
add("implementation", libs.findLibrary("coil.kt.compose").get())
|
||
|
|
||
|
add("implementation", libs.findLibrary("androidx.hilt.navigation.compose").get())
|
||
|
add("implementation", libs.findLibrary("androidx.lifecycle.viewModelCompose").get())
|
||
|
|
||
|
add("implementation", libs.findLibrary("kotlinx.coroutines.android").get())
|
||
|
|
||
|
add("implementation", libs.findLibrary("hilt.android").get())
|
||
|
add("kapt", libs.findLibrary("hilt.compiler").get())
|
||
|
|
||
|
// TODO : Remove this dependency once we upgrade to Android Studio Dolphin b/228889042
|
||
|
// These dependencies are currently necessary to render Compose previews
|
||
|
add(
|
||
|
"debugImplementation",
|
||
|
libs.findLibrary("androidx.customview.poolingcontainer").get()
|
||
|
)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|