diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index de5198bc047..c82ca142200 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -288,7 +288,7 @@ open class KotlinAndroidPlugin [Inject] (val scriptHandler: ScriptHandler, val t project afterEvaluate { project -> if (project != null) { - val testVariants = ext.getTestVariants()!! + val testVariants = AndroidGradleWrapper.getTestVariants(ext) processVariants(testVariants, project, ext) if (ext is AppExtension) { val appVariants = ext.getApplicationVariants()!! diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy index 6d061483fff..1644347f647 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy @@ -4,6 +4,8 @@ import com.android.build.gradle.BaseExtension import com.android.build.gradle.BasePlugin import com.android.build.gradle.api.ApkVariant import com.android.build.gradle.api.BaseVariant +import com.android.build.gradle.api.TestVariant +import org.gradle.api.internal.DefaultDomainObjectSet import org.gradle.api.tasks.util.PatternFilterable import org.jetbrains.annotations.NotNull @@ -51,6 +53,14 @@ class AndroidGradleWrapper { return variant.getProductFlavors().iterator().collect { it.getName() } } + @NotNull + static def DefaultDomainObjectSet getTestVariants(BaseExtension extension) { + if (extension.getMetaClass().getMetaMethod("getTestVariants")) { + return extension.getTestVariants() + } + return Collections.emptyList() + } + @NotNull static def List getRClassFolder(BaseVariant variant) { def list = new ArrayList()