From 0c58a2a0c2322bfc03ba74bd6eedf5335d211b0d Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Tue, 11 Mar 2025 19:57:00 +0530 Subject: [PATCH] refactor: simplify variant handling --- .../claw/gradle/AndroidCommonPlugin.kt | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/AndroidCommonPlugin.kt b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/AndroidCommonPlugin.kt index cde54ff8..b36550ae 100644 --- a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/AndroidCommonPlugin.kt +++ b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/AndroidCommonPlugin.kt @@ -11,6 +11,7 @@ package dev.msfjarvis.claw.gradle import com.android.build.api.dsl.ApplicationExtension import com.android.build.api.dsl.LibraryExtension import com.android.build.api.variant.ApplicationAndroidComponentsExtension +import com.android.build.api.variant.HasAndroidTestBuilder import com.android.build.api.variant.HasUnitTestBuilder import com.android.build.api.variant.LibraryAndroidComponentsExtension import com.android.build.gradle.BaseExtension @@ -63,20 +64,19 @@ class AndroidCommonPlugin : Plugin { } // Disable unit test tasks on the release build type for Android Library projects extensions.findByType()?.run { - beforeVariants(selector().all()) { - if (it.name == "debug") return@beforeVariants - (it as HasUnitTestBuilder).enableUnitTest = false - it.androidTest.enable = false - } + beforeVariants(selector().withBuildType("release"), ::disableTestsForVariant) } // Disable unit test tasks on the release build type for Android Application projects. extensions.findByType()?.run { - beforeVariants(selector().all()) { - if (it.name == "debug") return@beforeVariants - (it as HasUnitTestBuilder).enableUnitTest = false - it.androidTest.enable = false - } + beforeVariants(selector().withBuildType("release"), ::disableTestsForVariant) } } + + private fun disableTestsForVariant(variant: T) where + T : HasUnitTestBuilder, + T : HasAndroidTestBuilder { + variant.enableAndroidTest = false + variant.enableUnitTest = false + } }