Use getPlugins extension to get a plugin with an alias.

Change-Id: Iaf06e86fdb8f98d1537bbbdbb05d22c38f6551b4
pull/1517/head
Jaehwa Noh 1 year ago
parent 0cb3128bf2
commit 35b847ae39

@ -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<Project> {
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<ApplicationExtension>()
configureAndroidCompose(extension)

@ -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<Project> {
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<ApplicationExtension> {
configureKotlinAndroid(this)

@ -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<Project> {
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()

@ -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<Project> {
override fun apply(target: Project) {
with(target) {
pluginManager.apply(libs.findPlugin("jacoco").get().get().pluginId)
apply(plugin = libs.getPlugin("jacoco"))
val androidExtension = extensions.getByType<BaseAppModuleExtension>()
androidExtension.buildTypes.configureEach {

@ -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<Project> {
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<LibraryExtension> {
testOptions.animationsDisabled = true
configureGradleManagedDevices(this)
@ -43,7 +44,10 @@ class AndroidFeatureConventionPlugin : Plugin<Project> {
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(),
)
}
}
}

@ -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<Project> {
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<LibraryExtension>()
configureAndroidCompose(extension)

@ -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<Project> {
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<LibraryExtension> {
configureKotlinAndroid(this)
@ -46,7 +46,9 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
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<LibraryAndroidComponentsExtension> {
configurePrintApksTask(this)

@ -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<Project> {
override fun apply(target: Project) {
with(target) {
pluginManager.apply(libs.findPlugin("jacoco").get().get().pluginId)
apply(plugin = libs.getPlugin("jacoco"))
val androidExtension = extensions.getByType<LibraryExtension>()
androidExtension.buildTypes.configureEach {

@ -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<Project> {
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<KspExtension> {
arg("room.generateKotlin", "true")

@ -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<Project> {
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<TestExtension> {
configureKotlinAndroid(this)
@ -37,5 +37,4 @@ class AndroidTestConventionPlugin : Plugin<Project> {
}
}
}
}

@ -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<Project> {
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<Project> {
/** 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())
}

@ -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<Project> {
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()
}
}

Loading…
Cancel
Save