Skip to content

Commit 18e35c2

Browse files
committed
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
1 parent 3009cdf commit 18e35c2

File tree

8 files changed

+42
-30
lines changed

8 files changed

+42
-30
lines changed

build-logic/convention/src/main/kotlin/AndroidApplicationFirebaseConventionPlugin.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import com.android.build.api.dsl.ApplicationExtension
1818
import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension
19+
import com.google.samples.apps.nowinandroid.implementation
1920
import com.google.samples.apps.nowinandroid.libs
2021
import org.gradle.api.Plugin
2122
import org.gradle.api.Project
@@ -34,9 +35,9 @@ class AndroidApplicationFirebaseConventionPlugin : Plugin<Project> {
3435

3536
dependencies {
3637
val bom = libs.findLibrary("firebase-bom").get()
37-
add("implementation", platform(bom))
38-
"implementation"(libs.findLibrary("firebase.analytics").get())
39-
"implementation"(libs.findLibrary("firebase.performance").get()) {
38+
implementation(platform(bom))
39+
implementation(libs.findLibrary("firebase.analytics").get())
40+
implementation(libs.findLibrary("firebase.performance").get()) {
4041
/*
4142
Exclusion of protobuf / protolite dependencies is necessary as the
4243
datastore-proto brings in protobuf dependencies. These are the source of truth
@@ -46,7 +47,7 @@ class AndroidApplicationFirebaseConventionPlugin : Plugin<Project> {
4647
exclude(group = "com.google.protobuf", module = "protobuf-javalite")
4748
exclude(group = "com.google.firebase", module = "protolite-well-known-types")
4849
}
49-
"implementation"(libs.findLibrary("firebase.crashlytics").get())
50+
implementation(libs.findLibrary("firebase.crashlytics").get())
5051
}
5152

5253
extensions.configure<ApplicationExtension> {

build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,11 @@
1515
*/
1616

1717
import com.android.build.gradle.LibraryExtension
18+
import com.google.samples.apps.nowinandroid.androidTestImplementation
1819
import com.google.samples.apps.nowinandroid.configureGradleManagedDevices
20+
import com.google.samples.apps.nowinandroid.implementation
1921
import com.google.samples.apps.nowinandroid.libs
22+
import com.google.samples.apps.nowinandroid.testImplementation
2023
import org.gradle.api.Plugin
2124
import org.gradle.api.Project
2225
import org.gradle.kotlin.dsl.configure
@@ -36,18 +39,18 @@ class AndroidFeatureConventionPlugin : Plugin<Project> {
3639
}
3740

3841
dependencies {
39-
add("implementation", project(":core:ui"))
40-
add("implementation", project(":core:designsystem"))
42+
implementation(project(":core:ui"))
43+
implementation(project(":core:designsystem"))
4144

42-
add("implementation", libs.findLibrary("androidx.hilt.navigation.compose").get())
43-
add("implementation", libs.findLibrary("androidx.lifecycle.runtimeCompose").get())
44-
add("implementation", libs.findLibrary("androidx.lifecycle.viewModelCompose").get())
45-
add("implementation", libs.findLibrary("androidx.navigation.compose").get())
46-
add("implementation", libs.findLibrary("androidx.tracing.ktx").get())
47-
add("implementation", libs.findLibrary("kotlinx.serialization.json").get())
45+
implementation(libs.findLibrary("androidx.hilt.navigation.compose").get())
46+
implementation(libs.findLibrary("androidx.lifecycle.runtimeCompose").get())
47+
implementation(libs.findLibrary("androidx.lifecycle.viewModelCompose").get())
48+
implementation(libs.findLibrary("androidx.navigation.compose").get())
49+
implementation(libs.findLibrary("androidx.tracing.ktx").get())
50+
implementation(libs.findLibrary("kotlinx.serialization.json").get())
4851

49-
add("testImplementation", libs.findLibrary("androidx.navigation.testing").get())
50-
add("androidTestImplementation", libs.findLibrary("androidx.lifecycle.runtimeTesting").get())
52+
testImplementation(libs.findLibrary("androidx.navigation.testing").get())
53+
androidTestImplementation(libs.findLibrary("androidx.lifecycle.runtimeTesting").get())
5154
}
5255
}
5356
}

build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,15 @@
1616

1717
import com.android.build.api.variant.LibraryAndroidComponentsExtension
1818
import com.android.build.gradle.LibraryExtension
19+
import com.google.samples.apps.nowinandroid.androidTestImplementation
1920
import com.google.samples.apps.nowinandroid.configureFlavors
2021
import com.google.samples.apps.nowinandroid.configureGradleManagedDevices
2122
import com.google.samples.apps.nowinandroid.configureKotlinAndroid
2223
import com.google.samples.apps.nowinandroid.configurePrintApksTask
2324
import com.google.samples.apps.nowinandroid.disableUnnecessaryAndroidTests
25+
import com.google.samples.apps.nowinandroid.implementation
2426
import com.google.samples.apps.nowinandroid.libs
27+
import com.google.samples.apps.nowinandroid.testImplementation
2528
import org.gradle.api.Plugin
2629
import org.gradle.api.Project
2730
import org.gradle.kotlin.dsl.configure
@@ -53,10 +56,10 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
5356
disableUnnecessaryAndroidTests(target)
5457
}
5558
dependencies {
56-
add("androidTestImplementation", libs.findLibrary("kotlin.test").get())
57-
add("testImplementation", libs.findLibrary("kotlin.test").get())
59+
androidTestImplementation(libs.findLibrary("kotlin.test").get())
60+
testImplementation(libs.findLibrary("kotlin.test").get())
5861

59-
add("implementation", libs.findLibrary("androidx.tracing.ktx").get())
62+
implementation(libs.findLibrary("androidx.tracing.ktx").get())
6063
}
6164
}
6265
}

build-logic/convention/src/main/kotlin/AndroidRoomConventionPlugin.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
import androidx.room.gradle.RoomExtension
1818
import com.google.devtools.ksp.gradle.KspExtension
19+
import com.google.samples.apps.nowinandroid.implementation
20+
import com.google.samples.apps.nowinandroid.ksp
1921
import com.google.samples.apps.nowinandroid.libs
2022
import org.gradle.api.Plugin
2123
import org.gradle.api.Project
@@ -41,10 +43,10 @@ class AndroidRoomConventionPlugin : Plugin<Project> {
4143
}
4244

4345
dependencies {
44-
add("implementation", libs.findLibrary("room.runtime").get())
45-
add("implementation", libs.findLibrary("room.ktx").get())
46-
add("ksp", libs.findLibrary("room.compiler").get())
46+
implementation(libs.findLibrary("room.runtime").get())
47+
implementation(libs.findLibrary("room.ktx").get())
48+
ksp(libs.findLibrary("room.compiler").get())
4749
}
4850
}
4951
}
50-
}
52+
}

build-logic/convention/src/main/kotlin/HiltConventionPlugin.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616

1717
import com.android.build.gradle.api.AndroidBasePlugin
18+
import com.google.samples.apps.nowinandroid.implementation
19+
import com.google.samples.apps.nowinandroid.ksp
1820
import com.google.samples.apps.nowinandroid.libs
1921
import org.gradle.api.Plugin
2022
import org.gradle.api.Project
@@ -25,21 +27,21 @@ class HiltConventionPlugin : Plugin<Project> {
2527
with(target) {
2628
pluginManager.apply("com.google.devtools.ksp")
2729
dependencies {
28-
add("ksp", libs.findLibrary("hilt.compiler").get())
30+
ksp(libs.findLibrary("hilt.compiler").get())
2931
}
3032

3133
// Add support for Jvm Module, base on org.jetbrains.kotlin.jvm
3234
pluginManager.withPlugin("org.jetbrains.kotlin.jvm") {
3335
dependencies {
34-
add("implementation", libs.findLibrary("hilt.core").get())
36+
implementation(libs.findLibrary("hilt.core").get())
3537
}
3638
}
3739

3840
/** Add support for Android modules, based on [AndroidBasePlugin] */
3941
pluginManager.withPlugin("com.android.base") {
4042
pluginManager.apply("dagger.hilt.android.plugin")
4143
dependencies {
42-
add("implementation", libs.findLibrary("hilt.android").get())
44+
implementation(libs.findLibrary("hilt.android").get())
4345
}
4446
}
4547
}

build-logic/convention/src/main/kotlin/JvmLibraryConventionPlugin.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import com.google.samples.apps.nowinandroid.configureKotlinJvm
1818
import com.google.samples.apps.nowinandroid.libs
19+
import com.google.samples.apps.nowinandroid.testImplementation
1920
import org.gradle.api.Plugin
2021
import org.gradle.api.Project
2122
import org.gradle.kotlin.dsl.dependencies
@@ -30,7 +31,7 @@ class JvmLibraryConventionPlugin : Plugin<Project> {
3031
}
3132
configureKotlinJvm()
3233
dependencies {
33-
add("testImplementation", libs.findLibrary("kotlin.test").get())
34+
testImplementation(libs.findLibrary("kotlin.test").get())
3435
}
3536
}
3637
}

build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ internal fun Project.configureAndroidCompose(
3737

3838
dependencies {
3939
val bom = libs.findLibrary("androidx-compose-bom").get()
40-
add("implementation", platform(bom))
41-
add("androidTestImplementation", platform(bom))
42-
add("implementation", libs.findLibrary("androidx-compose-ui-tooling-preview").get())
43-
add("debugImplementation", libs.findLibrary("androidx-compose-ui-tooling").get())
40+
implementation(platform(bom))
41+
androidTestImplementation(platform(bom))
42+
implementation(libs.findLibrary("androidx-compose-ui-tooling-preview").get())
43+
debugImplementation(libs.findLibrary("androidx-compose-ui-tooling").get())
4444
}
4545

4646
testOptions {

build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ internal fun Project.configureKotlinAndroid(
5454
configureKotlin<KotlinAndroidProjectExtension>()
5555

5656
dependencies {
57-
add("coreLibraryDesugaring", libs.findLibrary("android.desugarJdkLibs").get())
57+
coreLibraryDesugaring(libs.findLibrary("android.desugarJdkLibs").get())
5858
}
5959
}
6060

0 commit comments

Comments
 (0)