From 7710942ec52067a430d7e2772be393a15e6d9f81 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 12 Apr 2019 21:06:46 +0300 Subject: [PATCH] Kapt: Call next resolver in populateModuleExtraModels() (KT-30995) --- .../codeInsight/gradle/GradleConfiguratorTest.kt | 9 +++++++++ .../configurator/testTasksAreImported/build.gradle | 13 +++++++++++++ .../testTasksAreImported/src/test/java/foo.kt | 3 +++ .../kapt/idea/KaptProjectResolverExtension.kt | 4 ++-- .../kapt/idea/KaptProjectResolverExtension.kt.191 | 4 ++-- .../kapt/idea/KaptProjectResolverExtension.kt.as32 | 4 ++-- .../kapt/idea/KaptProjectResolverExtension.kt.as33 | 4 ++-- .../kapt/idea/KaptProjectResolverExtension.kt.as34 | 4 ++-- 8 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 idea/testData/gradle/configurator/testTasksAreImported/build.gradle create mode 100644 idea/testData/gradle/configurator/testTasksAreImported/src/test/java/foo.kt diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleConfiguratorTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleConfiguratorTest.kt index c48619054be..24a11129c8b 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleConfiguratorTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleConfiguratorTest.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.idea.util.application.executeWriteCommand import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.test.testFramework.runInEdtAndWait import org.jetbrains.kotlin.test.testFramework.runWriteAction +import org.jetbrains.plugins.gradle.execution.test.runner.GradleTestRunConfigurationProducer import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions import org.junit.Assert import org.junit.Test @@ -327,6 +328,14 @@ class GradleConfiguratorTest : GradleImportingTestCase() { } } + @Test + fun testTestTasksAreImported() { + importProjectFromTestData() + + val testTasks = GradleTestRunConfigurationProducer.getTasksToRun(myTestFixture.module) + assertTrue("There should be at least one test task", testTasks.isNotEmpty()) + } + @Test fun testAddNonKotlinLibraryGSK() { val files = importProjectFromTestData() diff --git a/idea/testData/gradle/configurator/testTasksAreImported/build.gradle b/idea/testData/gradle/configurator/testTasksAreImported/build.gradle new file mode 100644 index 00000000000..023e687a9f1 --- /dev/null +++ b/idea/testData/gradle/configurator/testTasksAreImported/build.gradle @@ -0,0 +1,13 @@ +plugins { + id 'java' + id 'org.jetbrains.kotlin.jvm' version '1.3.30' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + testCompile group: 'junit', name: 'junit', version: '4.12' +} \ No newline at end of file diff --git a/idea/testData/gradle/configurator/testTasksAreImported/src/test/java/foo.kt b/idea/testData/gradle/configurator/testTasksAreImported/src/test/java/foo.kt new file mode 100644 index 00000000000..2846844a1e8 --- /dev/null +++ b/idea/testData/gradle/configurator/testTasksAreImported/src/test/java/foo.kt @@ -0,0 +1,3 @@ +class Test { + fun test() {} +} \ No newline at end of file diff --git a/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt b/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt index e4f5437d3a7..1287a980a94 100644 --- a/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt +++ b/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt @@ -76,9 +76,9 @@ class KaptProjectResolverExtension : AbstractProjectResolverExtension() { override fun getToolingExtensionsClasses() = setOf(KaptModelBuilderService::class.java, Unit::class.java) override fun populateModuleExtraModels(gradleModule: IdeaModule, ideModule: DataNode) { - val kaptModel = resolverCtx.getExtraProject(gradleModule, KaptGradleModel::class.java) ?: return + val kaptModel = resolverCtx.getExtraProject(gradleModule, KaptGradleModel::class.java) - if (kaptModel.isEnabled) { + if (kaptModel != null && kaptModel.isEnabled) { for (sourceSet in kaptModel.sourceSets) { populateAndroidModuleModelIfNeeded(ideModule, sourceSet) diff --git a/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.191 b/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.191 index 846f0760428..a2c1ecd67f5 100644 --- a/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.191 +++ b/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.191 @@ -75,9 +75,9 @@ class KaptProjectResolverExtension : AbstractProjectResolverExtension() { override fun getToolingExtensionsClasses() = setOf(KaptModelBuilderService::class.java, Unit::class.java) override fun populateModuleExtraModels(gradleModule: IdeaModule, ideModule: DataNode) { - val kaptModel = resolverCtx.getExtraProject(gradleModule, KaptGradleModel::class.java) ?: return + val kaptModel = resolverCtx.getExtraProject(gradleModule, KaptGradleModel::class.java) - if (kaptModel.isEnabled) { + if (kaptModel != null && kaptModel.isEnabled) { for (sourceSet in kaptModel.sourceSets) { val sourceSetDataNode = ideModule.findGradleSourceSet(sourceSet.sourceSetName) ?: continue diff --git a/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as32 b/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as32 index c977d075238..4fc02786e94 100644 --- a/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as32 +++ b/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as32 @@ -79,9 +79,9 @@ class KaptProjectResolverExtension : AbstractProjectResolverExtension() { override fun getToolingExtensionsClasses() = setOf(KaptModelBuilderService::class.java, Unit::class.java) override fun populateModuleExtraModels(gradleModule: IdeaModule, ideModule: DataNode) { - val kaptModel = resolverCtx.getExtraProject(gradleModule, KaptGradleModel::class.java) ?: return + val kaptModel = resolverCtx.getExtraProject(gradleModule, KaptGradleModel::class.java) - if (kaptModel.isEnabled) { + if (kaptModel != null && kaptModel.isEnabled) { for (sourceSet in kaptModel.sourceSets) { populateAndroidModuleModelIfNeeded(ideModule, sourceSet) diff --git a/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as33 b/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as33 index 846f0760428..a2c1ecd67f5 100644 --- a/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as33 +++ b/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as33 @@ -75,9 +75,9 @@ class KaptProjectResolverExtension : AbstractProjectResolverExtension() { override fun getToolingExtensionsClasses() = setOf(KaptModelBuilderService::class.java, Unit::class.java) override fun populateModuleExtraModels(gradleModule: IdeaModule, ideModule: DataNode) { - val kaptModel = resolverCtx.getExtraProject(gradleModule, KaptGradleModel::class.java) ?: return + val kaptModel = resolverCtx.getExtraProject(gradleModule, KaptGradleModel::class.java) - if (kaptModel.isEnabled) { + if (kaptModel != null && kaptModel.isEnabled) { for (sourceSet in kaptModel.sourceSets) { val sourceSetDataNode = ideModule.findGradleSourceSet(sourceSet.sourceSetName) ?: continue diff --git a/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as34 b/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as34 index 846f0760428..a2c1ecd67f5 100644 --- a/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as34 +++ b/plugins/kapt3/kapt3-idea/src/org/jetbrains/kotlin/kapt/idea/KaptProjectResolverExtension.kt.as34 @@ -75,9 +75,9 @@ class KaptProjectResolverExtension : AbstractProjectResolverExtension() { override fun getToolingExtensionsClasses() = setOf(KaptModelBuilderService::class.java, Unit::class.java) override fun populateModuleExtraModels(gradleModule: IdeaModule, ideModule: DataNode) { - val kaptModel = resolverCtx.getExtraProject(gradleModule, KaptGradleModel::class.java) ?: return + val kaptModel = resolverCtx.getExtraProject(gradleModule, KaptGradleModel::class.java) - if (kaptModel.isEnabled) { + if (kaptModel != null && kaptModel.isEnabled) { for (sourceSet in kaptModel.sourceSets) { val sourceSetDataNode = ideModule.findGradleSourceSet(sourceSet.sourceSetName) ?: continue