Followed Kotlin DSL without type-safe accessors.

https://docs.gradle.org/current/userguide/kotlin_dsl.html#ex-configuring-plugins-without-type-safe-accessors

Change-Id: Id711ad25146e291cbae40a5df4251f0ffef7b0a6
pull/1739/head
Jaehwa Noh 9 months ago
parent 3009cdf081
commit 18e35c27f6

@ -16,6 +16,7 @@
import com.android.build.api.dsl.ApplicationExtension
import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension
import com.google.samples.apps.nowinandroid.implementation
import com.google.samples.apps.nowinandroid.libs
import org.gradle.api.Plugin
import org.gradle.api.Project
@ -34,9 +35,9 @@ class AndroidApplicationFirebaseConventionPlugin : Plugin<Project> {
dependencies {
val bom = libs.findLibrary("firebase-bom").get()
add("implementation", platform(bom))
"implementation"(libs.findLibrary("firebase.analytics").get())
"implementation"(libs.findLibrary("firebase.performance").get()) {
implementation(platform(bom))
implementation(libs.findLibrary("firebase.analytics").get())
implementation(libs.findLibrary("firebase.performance").get()) {
/*
Exclusion of protobuf / protolite dependencies is necessary as the
datastore-proto brings in protobuf dependencies. These are the source of truth
@ -46,7 +47,7 @@ class AndroidApplicationFirebaseConventionPlugin : Plugin<Project> {
exclude(group = "com.google.protobuf", module = "protobuf-javalite")
exclude(group = "com.google.firebase", module = "protolite-well-known-types")
}
"implementation"(libs.findLibrary("firebase.crashlytics").get())
implementation(libs.findLibrary("firebase.crashlytics").get())
}
extensions.configure<ApplicationExtension> {

@ -15,8 +15,11 @@
*/
import com.android.build.gradle.LibraryExtension
import com.google.samples.apps.nowinandroid.androidTestImplementation
import com.google.samples.apps.nowinandroid.configureGradleManagedDevices
import com.google.samples.apps.nowinandroid.implementation
import com.google.samples.apps.nowinandroid.libs
import com.google.samples.apps.nowinandroid.testImplementation
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
@ -36,18 +39,18 @@ class AndroidFeatureConventionPlugin : Plugin<Project> {
}
dependencies {
add("implementation", project(":core:ui"))
add("implementation", project(":core:designsystem"))
implementation(project(":core:ui"))
implementation(project(":core:designsystem"))
add("implementation", libs.findLibrary("androidx.hilt.navigation.compose").get())
add("implementation", libs.findLibrary("androidx.lifecycle.runtimeCompose").get())
add("implementation", libs.findLibrary("androidx.lifecycle.viewModelCompose").get())
add("implementation", libs.findLibrary("androidx.navigation.compose").get())
add("implementation", libs.findLibrary("androidx.tracing.ktx").get())
add("implementation", libs.findLibrary("kotlinx.serialization.json").get())
implementation(libs.findLibrary("androidx.hilt.navigation.compose").get())
implementation(libs.findLibrary("androidx.lifecycle.runtimeCompose").get())
implementation(libs.findLibrary("androidx.lifecycle.viewModelCompose").get())
implementation(libs.findLibrary("androidx.navigation.compose").get())
implementation(libs.findLibrary("androidx.tracing.ktx").get())
implementation(libs.findLibrary("kotlinx.serialization.json").get())
add("testImplementation", libs.findLibrary("androidx.navigation.testing").get())
add("androidTestImplementation", libs.findLibrary("androidx.lifecycle.runtimeTesting").get())
testImplementation(libs.findLibrary("androidx.navigation.testing").get())
androidTestImplementation(libs.findLibrary("androidx.lifecycle.runtimeTesting").get())
}
}
}

@ -16,12 +16,15 @@
import com.android.build.api.variant.LibraryAndroidComponentsExtension
import com.android.build.gradle.LibraryExtension
import com.google.samples.apps.nowinandroid.androidTestImplementation
import com.google.samples.apps.nowinandroid.configureFlavors
import com.google.samples.apps.nowinandroid.configureGradleManagedDevices
import com.google.samples.apps.nowinandroid.configureKotlinAndroid
import com.google.samples.apps.nowinandroid.configurePrintApksTask
import com.google.samples.apps.nowinandroid.disableUnnecessaryAndroidTests
import com.google.samples.apps.nowinandroid.implementation
import com.google.samples.apps.nowinandroid.libs
import com.google.samples.apps.nowinandroid.testImplementation
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
@ -53,10 +56,10 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
disableUnnecessaryAndroidTests(target)
}
dependencies {
add("androidTestImplementation", libs.findLibrary("kotlin.test").get())
add("testImplementation", libs.findLibrary("kotlin.test").get())
androidTestImplementation(libs.findLibrary("kotlin.test").get())
testImplementation(libs.findLibrary("kotlin.test").get())
add("implementation", libs.findLibrary("androidx.tracing.ktx").get())
implementation(libs.findLibrary("androidx.tracing.ktx").get())
}
}
}

@ -16,6 +16,8 @@
import androidx.room.gradle.RoomExtension
import com.google.devtools.ksp.gradle.KspExtension
import com.google.samples.apps.nowinandroid.implementation
import com.google.samples.apps.nowinandroid.ksp
import com.google.samples.apps.nowinandroid.libs
import org.gradle.api.Plugin
import org.gradle.api.Project
@ -41,9 +43,9 @@ class AndroidRoomConventionPlugin : Plugin<Project> {
}
dependencies {
add("implementation", libs.findLibrary("room.runtime").get())
add("implementation", libs.findLibrary("room.ktx").get())
add("ksp", libs.findLibrary("room.compiler").get())
implementation(libs.findLibrary("room.runtime").get())
implementation(libs.findLibrary("room.ktx").get())
ksp(libs.findLibrary("room.compiler").get())
}
}
}

@ -15,6 +15,8 @@
*/
import com.android.build.gradle.api.AndroidBasePlugin
import com.google.samples.apps.nowinandroid.implementation
import com.google.samples.apps.nowinandroid.ksp
import com.google.samples.apps.nowinandroid.libs
import org.gradle.api.Plugin
import org.gradle.api.Project
@ -25,13 +27,13 @@ class HiltConventionPlugin : Plugin<Project> {
with(target) {
pluginManager.apply("com.google.devtools.ksp")
dependencies {
add("ksp", libs.findLibrary("hilt.compiler").get())
ksp(libs.findLibrary("hilt.compiler").get())
}
// Add support for Jvm Module, base on org.jetbrains.kotlin.jvm
pluginManager.withPlugin("org.jetbrains.kotlin.jvm") {
dependencies {
add("implementation", libs.findLibrary("hilt.core").get())
implementation(libs.findLibrary("hilt.core").get())
}
}
@ -39,7 +41,7 @@ class HiltConventionPlugin : Plugin<Project> {
pluginManager.withPlugin("com.android.base") {
pluginManager.apply("dagger.hilt.android.plugin")
dependencies {
add("implementation", libs.findLibrary("hilt.android").get())
implementation(libs.findLibrary("hilt.android").get())
}
}
}

@ -16,6 +16,7 @@
import com.google.samples.apps.nowinandroid.configureKotlinJvm
import com.google.samples.apps.nowinandroid.libs
import com.google.samples.apps.nowinandroid.testImplementation
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.dependencies
@ -30,7 +31,7 @@ class JvmLibraryConventionPlugin : Plugin<Project> {
}
configureKotlinJvm()
dependencies {
add("testImplementation", libs.findLibrary("kotlin.test").get())
testImplementation(libs.findLibrary("kotlin.test").get())
}
}
}

@ -37,10 +37,10 @@ internal fun Project.configureAndroidCompose(
dependencies {
val bom = libs.findLibrary("androidx-compose-bom").get()
add("implementation", platform(bom))
add("androidTestImplementation", platform(bom))
add("implementation", libs.findLibrary("androidx-compose-ui-tooling-preview").get())
add("debugImplementation", libs.findLibrary("androidx-compose-ui-tooling").get())
implementation(platform(bom))
androidTestImplementation(platform(bom))
implementation(libs.findLibrary("androidx-compose-ui-tooling-preview").get())
debugImplementation(libs.findLibrary("androidx-compose-ui-tooling").get())
}
testOptions {

@ -54,7 +54,7 @@ internal fun Project.configureKotlinAndroid(
configureKotlin<KotlinAndroidProjectExtension>()
dependencies {
add("coreLibraryDesugaring", libs.findLibrary("android.desugarJdkLibs").get())
coreLibraryDesugaring(libs.findLibrary("android.desugarJdkLibs").get())
}
}

Loading…
Cancel
Save