From 35b847ae390124ee86b2b203588f1e00ad5befc2 Mon Sep 17 00:00:00 2001 From: Jaehwa Noh Date: Sun, 11 Aug 2024 13:57:38 +0900 Subject: [PATCH] Use getPlugins extension to get a plugin with an alias. Change-Id: Iaf06e86fdb8f98d1537bbbdbb05d22c38f6551b4 --- .../AndroidApplicationComposeConventionPlugin.kt | 5 +++-- .../kotlin/AndroidApplicationConventionPlugin.kt | 12 ++++++------ .../AndroidApplicationFirebaseConventionPlugin.kt | 11 ++++++----- .../AndroidApplicationJacocoConventionPlugin.kt | 4 +++- .../main/kotlin/AndroidFeatureConventionPlugin.kt | 14 +++++++++----- .../AndroidLibraryComposeConventionPlugin.kt | 5 +++-- .../main/kotlin/AndroidLibraryConventionPlugin.kt | 14 ++++++++------ .../kotlin/AndroidLibraryJacocoConventionPlugin.kt | 4 +++- .../src/main/kotlin/AndroidRoomConventionPlugin.kt | 6 ++++-- .../src/main/kotlin/AndroidTestConventionPlugin.kt | 9 ++++----- .../src/main/kotlin/HiltConventionPlugin.kt | 6 ++++-- .../src/main/kotlin/JvmLibraryConventionPlugin.kt | 8 ++++---- 12 files changed, 57 insertions(+), 41 deletions(-) diff --git a/build-logic/convention/src/main/kotlin/AndroidApplicationComposeConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidApplicationComposeConventionPlugin.kt index ef709ea96..1cdc90393 100644 --- a/build-logic/convention/src/main/kotlin/AndroidApplicationComposeConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidApplicationComposeConventionPlugin.kt @@ -16,6 +16,7 @@ import com.android.build.api.dsl.ApplicationExtension import com.google.samples.apps.nowinandroid.configureAndroidCompose +import com.google.samples.apps.nowinandroid.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project @@ -25,8 +26,8 @@ import org.gradle.kotlin.dsl.getByType class AndroidApplicationComposeConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - apply(plugin = libs.findPlugin("android-application").get().get().pluginId) - apply(plugin = libs.findPlugin("compose").get().get().pluginId) + apply(plugin = libs.getPlugin("android.application")) + apply(plugin = libs.getPlugin("compose")) val extension = extensions.getByType() configureAndroidCompose(extension) diff --git a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt index d38f8593f..964809206 100644 --- a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt @@ -21,21 +21,21 @@ import com.google.samples.apps.nowinandroid.configureBadgingTasks 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.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.getByType class AndroidApplicationConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - with(pluginManager) { - apply(libs.findPlugin("android-application").get().get().pluginId) - apply(libs.findPlugin("kotlin-android").get().get().pluginId) - apply(libs.findPlugin("nowinandroid.android.lint").get().get().pluginId) - apply(libs.findPlugin("dependencyGuard").get().get().pluginId) - } + apply(plugin = libs.getPlugin("android.application")) + apply(plugin = libs.getPlugin("kotlin.android")) + apply(plugin = libs.getPlugin("nowinandroid.android.lint")) + apply(plugin = libs.getPlugin("dependencyGuard")) extensions.configure { configureKotlinAndroid(this) diff --git a/build-logic/convention/src/main/kotlin/AndroidApplicationFirebaseConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidApplicationFirebaseConventionPlugin.kt index a3da7de86..edbf0ba0f 100644 --- a/build-logic/convention/src/main/kotlin/AndroidApplicationFirebaseConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidApplicationFirebaseConventionPlugin.kt @@ -16,20 +16,21 @@ import com.android.build.api.dsl.ApplicationExtension import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension +import com.google.samples.apps.nowinandroid.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies class AndroidApplicationFirebaseConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - with(pluginManager) { - apply(libs.findPlugin("gms").get().get().pluginId) - apply(libs.findPlugin("firebase-perf").get().get().pluginId) - apply(libs.findPlugin("firebase-crashlytics").get().get().pluginId) - } + apply(plugin = libs.getPlugin("gms")) + apply(plugin = libs.getPlugin("firebase.perf")) + apply(plugin = libs.getPlugin("firebase.crashlytics")) + dependencies { val bom = libs.findLibrary("firebase-bom").get() diff --git a/build-logic/convention/src/main/kotlin/AndroidApplicationJacocoConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidApplicationJacocoConventionPlugin.kt index fec4ca183..7f0468f22 100644 --- a/build-logic/convention/src/main/kotlin/AndroidApplicationJacocoConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidApplicationJacocoConventionPlugin.kt @@ -17,15 +17,17 @@ import com.android.build.api.variant.ApplicationAndroidComponentsExtension import com.android.build.gradle.internal.dsl.BaseAppModuleExtension import com.google.samples.apps.nowinandroid.configureJacoco +import com.google.samples.apps.nowinandroid.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.getByType class AndroidApplicationJacocoConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - pluginManager.apply(libs.findPlugin("jacoco").get().get().pluginId) + apply(plugin = libs.getPlugin("jacoco")) val androidExtension = extensions.getByType() androidExtension.buildTypes.configureEach { diff --git a/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt index 9110e7fa3..bebb0e6cd 100644 --- a/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt @@ -16,19 +16,20 @@ import com.android.build.gradle.LibraryExtension import com.google.samples.apps.nowinandroid.configureGradleManagedDevices +import com.google.samples.apps.nowinandroid.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies class AndroidFeatureConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - pluginManager.apply { - apply("nowinandroid.android.library") - apply("nowinandroid.hilt") - } + apply(plugin = libs.getPlugin("nowinandroid.android.library")) + apply(plugin = libs.getPlugin("nowinandroid.hilt")) + extensions.configure { testOptions.animationsDisabled = true configureGradleManagedDevices(this) @@ -43,7 +44,10 @@ class AndroidFeatureConventionPlugin : Plugin { add("implementation", libs.findLibrary("androidx.lifecycle.viewModelCompose").get()) add("implementation", libs.findLibrary("androidx.tracing.ktx").get()) - add("androidTestImplementation", libs.findLibrary("androidx.lifecycle.runtimeTesting").get()) + add( + "androidTestImplementation", + libs.findLibrary("androidx.lifecycle.runtimeTesting").get(), + ) } } } diff --git a/build-logic/convention/src/main/kotlin/AndroidLibraryComposeConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidLibraryComposeConventionPlugin.kt index 0339d0c9d..118672a57 100644 --- a/build-logic/convention/src/main/kotlin/AndroidLibraryComposeConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidLibraryComposeConventionPlugin.kt @@ -16,6 +16,7 @@ import com.android.build.gradle.LibraryExtension import com.google.samples.apps.nowinandroid.configureAndroidCompose +import com.google.samples.apps.nowinandroid.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project @@ -25,8 +26,8 @@ import org.gradle.kotlin.dsl.getByType class AndroidLibraryComposeConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - apply(plugin = libs.findPlugin("android-library").get().get().pluginId) - apply(plugin = libs.findPlugin("compose").get().get().pluginId) + apply(plugin = libs.getPlugin("android.library")) + apply(plugin = libs.getPlugin("compose")) val extension = extensions.getByType() configureAndroidCompose(extension) diff --git a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt index 185d22c02..fbe96da55 100644 --- a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt @@ -21,9 +21,11 @@ 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.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies import org.gradle.kotlin.dsl.kotlin @@ -31,11 +33,9 @@ import org.gradle.kotlin.dsl.kotlin class AndroidLibraryConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - with(pluginManager) { - apply(libs.findPlugin("android-library").get().get().pluginId) - apply(libs.findPlugin("kotlin-android").get().get().pluginId) - apply(libs.findPlugin("nowinandroid.android.lint").get().get().pluginId) - } + apply(plugin = libs.getPlugin("android.library")) + apply(plugin = libs.getPlugin("kotlin.android")) + apply(plugin = libs.getPlugin("nowinandroid.android.lint")) extensions.configure { configureKotlinAndroid(this) @@ -46,7 +46,9 @@ class AndroidLibraryConventionPlugin : Plugin { configureGradleManagedDevices(this) // The resource prefix is derived from the module name, // so resources inside ":core:module1" must be prefixed with "core_module1_" - resourcePrefix = path.split("""\W""".toRegex()).drop(1).distinct().joinToString(separator = "_").lowercase() + "_" + resourcePrefix = + path.split("""\W""".toRegex()).drop(1).distinct().joinToString(separator = "_") + .lowercase() + "_" } extensions.configure { configurePrintApksTask(this) diff --git a/build-logic/convention/src/main/kotlin/AndroidLibraryJacocoConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidLibraryJacocoConventionPlugin.kt index 75a5fbf61..3fecebadb 100644 --- a/build-logic/convention/src/main/kotlin/AndroidLibraryJacocoConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidLibraryJacocoConventionPlugin.kt @@ -17,15 +17,17 @@ import com.android.build.api.dsl.LibraryExtension import com.android.build.api.variant.LibraryAndroidComponentsExtension import com.google.samples.apps.nowinandroid.configureJacoco +import com.google.samples.apps.nowinandroid.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.getByType class AndroidLibraryJacocoConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - pluginManager.apply(libs.findPlugin("jacoco").get().get().pluginId) + apply(plugin = libs.getPlugin("jacoco")) val androidExtension = extensions.getByType() androidExtension.buildTypes.configureEach { diff --git a/build-logic/convention/src/main/kotlin/AndroidRoomConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidRoomConventionPlugin.kt index 660eb8867..5dece9797 100644 --- a/build-logic/convention/src/main/kotlin/AndroidRoomConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidRoomConventionPlugin.kt @@ -16,9 +16,11 @@ import androidx.room.gradle.RoomExtension import com.google.devtools.ksp.gradle.KspExtension +import com.google.samples.apps.nowinandroid.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies @@ -26,8 +28,8 @@ class AndroidRoomConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - pluginManager.apply(libs.findPlugin("room").get().get().pluginId) - pluginManager.apply(libs.findPlugin("ksp").get().get().pluginId) + apply(plugin = libs.getPlugin("room")) + apply(plugin = libs.getPlugin("ksp")) extensions.configure { arg("room.generateKotlin", "true") diff --git a/build-logic/convention/src/main/kotlin/AndroidTestConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidTestConventionPlugin.kt index a5182e17c..893382dc1 100644 --- a/build-logic/convention/src/main/kotlin/AndroidTestConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidTestConventionPlugin.kt @@ -17,18 +17,18 @@ import com.android.build.gradle.TestExtension import com.google.samples.apps.nowinandroid.configureGradleManagedDevices import com.google.samples.apps.nowinandroid.configureKotlinAndroid +import com.google.samples.apps.nowinandroid.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.configure class AndroidTestConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - with(pluginManager) { - apply(libs.findPlugin("android-test").get().get().pluginId) - apply(libs.findPlugin("kotlin-android").get().get().pluginId) - } + apply(plugin = libs.getPlugin("android.test")) + apply(plugin = libs.getPlugin("kotlin.android")) extensions.configure { configureKotlinAndroid(this) @@ -37,5 +37,4 @@ class AndroidTestConventionPlugin : Plugin { } } } - } diff --git a/build-logic/convention/src/main/kotlin/HiltConventionPlugin.kt b/build-logic/convention/src/main/kotlin/HiltConventionPlugin.kt index a8228e5af..099610139 100644 --- a/build-logic/convention/src/main/kotlin/HiltConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/HiltConventionPlugin.kt @@ -15,15 +15,17 @@ */ import com.android.build.gradle.api.AndroidBasePlugin +import com.google.samples.apps.nowinandroid.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.dependencies class HiltConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - pluginManager.apply("com.google.devtools.ksp") + apply(plugin = libs.getPlugin("ksp")) dependencies { add("ksp", libs.findLibrary("hilt.compiler").get()) add("implementation", libs.findLibrary("hilt.core").get()) @@ -31,7 +33,7 @@ class HiltConventionPlugin : Plugin { /** Add support for Android modules, based on [AndroidBasePlugin] */ pluginManager.withPlugin("com.android.base") { - pluginManager.apply("dagger.hilt.android.plugin") + apply(plugin = libs.getPlugin("hilt.plugin")) dependencies { add("implementation", libs.findLibrary("hilt.android").get()) } diff --git a/build-logic/convention/src/main/kotlin/JvmLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/JvmLibraryConventionPlugin.kt index 8e304d25d..30d6c20b8 100644 --- a/build-logic/convention/src/main/kotlin/JvmLibraryConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/JvmLibraryConventionPlugin.kt @@ -15,17 +15,17 @@ */ import com.google.samples.apps.nowinandroid.configureKotlinJvm +import com.google.samples.apps.nowinandroid.getPlugin import com.google.samples.apps.nowinandroid.libs import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply class JvmLibraryConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - with(pluginManager) { - apply(libs.findPlugin("kotlin-jvm").get().get().pluginId) - apply(libs.findPlugin("nowinandroid.android.lint").get().get().pluginId) - } + apply(plugin = libs.getPlugin("kotlin.jvm")) + apply(plugin = libs.getPlugin("nowinandroid.android.lint")) configureKotlinJvm() } }