From 6dc910973609071a790b046f7182bda0f69e3530 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 24 Jan 2020 11:52:36 +0300 Subject: [PATCH] [IDEA] Check assignable from task to KotlinTest class --- .../KotlinNonJvmGutterConfigurator.kt | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinNonJvmGutterConfigurator.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinNonJvmGutterConfigurator.kt index 52f5b06cc9f..aa1d163e2f9 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinNonJvmGutterConfigurator.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinNonJvmGutterConfigurator.kt @@ -24,29 +24,31 @@ class KotlinNonJvmGutterConfigurator : AbstractProjectResolverExtension() { // ignore, class not available } - gradle.afterProject { project -> - // Test task should have some parameters - // Create dummy task to consume outputs by Test task - project.tasks.create("nonJvmTestIdeSupportDummy") - - // IDEA now process filter parameters only for Test tasks - project.tasks.create('nonJvmTestIdeSupport', Test) { - testClassesDirs = project.tasks["nonJvmTestIdeSupportDummy"].outputs.files - classpath = project.tasks["nonJvmTestIdeSupportDummy"].outputs.files - } - - project.afterEvaluate { - project.tasks.each { Task task -> - if (kotlinTestClass != null) { - task.dependsOn('nonJvmTestIdeSupport') + if (kotlinTestClass != null) { + gradle.afterProject { project -> + // Test task should have some parameters + // Create dummy task to consume outputs by Test task + project.tasks.create("nonJvmTestIdeSupportDummy") + + // IDEA now process filter parameters only for Test tasks + project.tasks.create('nonJvmTestIdeSupport', Test) { + testClassesDirs = project.tasks["nonJvmTestIdeSupportDummy"].outputs.files + classpath = project.tasks["nonJvmTestIdeSupportDummy"].outputs.files + } + + project.afterEvaluate { + project.tasks.each { Task task -> + if (kotlinTestClass.isAssignableFrom(task.class)) { + task.dependsOn('nonJvmTestIdeSupport') + } } } } - } - - gradle.taskGraph.beforeTask { Task task -> - if (kotlinTestClass != null) { - task.filter.includePatterns = task.project.tasks['nonJvmTestIdeSupport'].filter.includePatterns + + gradle.taskGraph.beforeTask { Task task -> + if (kotlinTestClass.isAssignableFrom(task.class)) { + task.filter.includePatterns = task.project.tasks['nonJvmTestIdeSupport'].filter.includePatterns + } } } }