@@ -4,15 +4,10 @@ import com.android.build.gradle.AppExtension
44import com.android.build.gradle.BaseExtension
55import com.android.build.gradle.FeatureExtension
66import com.android.build.gradle.LibraryExtension
7- import com.android.build.gradle.TestExtension
87import com.android.build.gradle.api.ApplicationVariant
98import com.android.build.gradle.api.BaseVariant
109import com.android.build.gradle.api.LibraryVariant
11- import de.mannodermaus.gradle.plugins.junit5.Type.Application
12- import de.mannodermaus.gradle.plugins.junit5.Type.DynamicFeature
13- import de.mannodermaus.gradle.plugins.junit5.Type.Feature
14- import de.mannodermaus.gradle.plugins.junit5.Type.Library
15- import de.mannodermaus.gradle.plugins.junit5.Type.Test
10+ import de.mannodermaus.gradle.plugins.junit5.Type.*
1611import de.mannodermaus.gradle.plugins.junit5.internal.android
1712import de.mannodermaus.gradle.plugins.junit5.internal.hasPlugin
1813import org.gradle.api.DomainObjectSet
@@ -45,11 +40,6 @@ private sealed class Type<in T : BaseExtension>(val pluginId: String) {
4540 extension.applicationVariants
4641 }
4742
48- object Test : Type<TestExtension>(" com.android.test" ) {
49- override fun variants (extension : TestExtension ): DomainObjectSet <ApplicationVariant > =
50- extension.applicationVariants
51- }
52-
5343 object Library : Type<LibraryExtension>(" com.android.library" ) {
5444 override fun variants (extension : LibraryExtension ): DomainObjectSet <LibraryVariant > {
5545 return extension.libraryVariants
@@ -66,12 +56,12 @@ private sealed class Type<in T : BaseExtension>(val pluginId: String) {
6656
6757 object DynamicFeature : Type<AppExtension>(" com.android.dynamic-feature" ) {
6858 override fun variants (extension : AppExtension ): DomainObjectSet <ApplicationVariant > =
69- extension.applicationVariants
59+ extension.applicationVariants
7060 }
7161}
7262
7363private val allTypes: List <Type <* >> =
74- listOf (Application , Test , Library , Feature , DynamicFeature )
64+ listOf (Application , Library , Feature , DynamicFeature )
7565
7666@Suppress(" UNCHECKED_CAST" )
7767private fun findType (project : Project ): Type <BaseExtension > {
@@ -80,8 +70,8 @@ private fun findType(project: Project): Type<BaseExtension> {
8070 }
8171
8272 if (type == null ) {
83- @Suppress( " NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS " )
84- throw ProjectConfigurationException (" An Android plugin must be applied to this project" , IllegalArgumentException ())
73+ val supportedPluginNames = allTypes.map { it.pluginId }
74+ throw ProjectConfigurationException (" One of the following plugins must be applied to this project: $supportedPluginNames " , IllegalArgumentException ())
8575 } else {
8676 return type as Type <BaseExtension >
8777 }
0 commit comments