diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/ImportAndCheckHighlighting.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/ImportAndCheckHighlighting.kt index 1a7c61887b4..b687dd75193 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/ImportAndCheckHighlighting.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/ImportAndCheckHighlighting.kt @@ -27,7 +27,7 @@ class ImportAndCheckHighlighting : MultiplePluginVersionGradleImportingTestCase( private fun importAndCheckHighlighting(testLineMarkers: Boolean = true, checkWarnings: Boolean = true) { val files = configureByFiles() - importProject() + importProject(skipIndexing = false) val project = myTestFixture.project checkFiles( files.filter { it.extension == "kt" || it.extension == "java" }, diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/ImportAndCheckNavigation.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/ImportAndCheckNavigation.kt index 1614084d97c..aff59ca338f 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/ImportAndCheckNavigation.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/ImportAndCheckNavigation.kt @@ -6,9 +6,7 @@ package org.jetbrains.kotlin.gradle import com.intellij.openapi.vfs.VirtualFile -import com.intellij.psi.PsiComment -import com.intellij.psi.PsiReference -import com.intellij.psi.PsiWhiteSpace +import com.intellij.psi.* import com.intellij.psi.util.PsiTreeUtil import com.intellij.testFramework.runInEdtAndGet import org.jetbrains.kotlin.idea.codeInsight.gradle.MasterPluginVersionGradleImportingTestCase @@ -25,7 +23,7 @@ class ImportAndCheckNavigation : MasterPluginVersionGradleImportingTestCase() { @Test @PluginTargetVersions(gradleVersion = "6.0+", pluginVersion = "1.4+", gradleVersionForLatestPlugin = mppImportTestMinVersionForMaster) fun testNavigationToCommonizedLibrary() { - val files = importProjectFromTestData() + val files = configureAndImportProject() files.forEach { vFile -> val referencesToTest = vFile.collectReferencesToTest() @@ -50,6 +48,12 @@ class ImportAndCheckNavigation : MasterPluginVersionGradleImportingTestCase() { override fun testDataDirName() = "importAndCheckNavigation" + private fun configureAndImportProject(): List { + val files = configureByFiles() + importProject(skipIndexing = false) + return files + } + private fun VirtualFile.collectReferencesToTest(): Map { if (extension != "kt") return emptyMap() diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/KaptImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/KaptImportingTest.kt index 6c00727a84d..8fc38ae0b0f 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/KaptImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/KaptImportingTest.kt @@ -20,7 +20,7 @@ class KaptImportingTest : MultiplePluginVersionGradleImportingTestCase() { val isCreateEmptyContentRootDirectories = currentExternalProjectSettings.isCreateEmptyContentRootDirectories currentExternalProjectSettings.isCreateEmptyContentRootDirectories = true try { - super.importProject() + super.importProject(true) } finally { currentExternalProjectSettings.isCreateEmptyContentRootDirectories = isCreateEmptyContentRootDirectories } diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt index e1b599ca285..0c4829039ee 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt @@ -368,7 +368,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin @PluginTargetVersions(gradleVersionForLatestPlugin = mppImportTestMinVersionForMaster) fun testTestTasks() { val files = configureByFiles() - importProject() + importProject(skipIndexing = true) checkProjectStructure(exhaustiveSourceSourceRootList = false) { module("project") diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/PackagePrefixImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/PackagePrefixImportingTest.kt index e68b3f5358f..e4e4bb1f4bc 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/PackagePrefixImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/PackagePrefixImportingTest.kt @@ -47,7 +47,7 @@ class PackagePrefixImportingTest : MultiplePluginVersionGradleImportingTestCase( val isCreateEmptyContentRootDirectories = currentExternalProjectSettings.isCreateEmptyContentRootDirectories currentExternalProjectSettings.isCreateEmptyContentRootDirectories = true try { - super.importProject() + super.importProject(true) } finally { currentExternalProjectSettings.isCreateEmptyContentRootDirectories = isCreateEmptyContentRootDirectories } diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java index 841c1a18a05..bef9bc03852 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java @@ -449,13 +449,28 @@ public abstract class ExternalSystemImportingTestCase extends ExternalSystemTest return getRootManager(moduleName).getContentEntries(); } - protected void importProject(@NonNls String config) throws IOException { + protected void importProject(@NonNls String config, Boolean skipIndexing) throws IOException { createProjectConfig(config); - importProject(); + importProject(skipIndexing); } - protected void importProject() { - doImportProject(); + protected void importProject(Boolean skipIndexing) { + String indexingPropertyName = "idea.skip.indices.initialization"; + String previousIndexingState = System.getProperty(indexingPropertyName); + try { + if (skipIndexing != null) { + System.setProperty(indexingPropertyName, skipIndexing.toString()); + } + doImportProject(); + } finally { + if (skipIndexing != null) { + if (previousIndexingState == null) { + System.clearProperty(indexingPropertyName); + } else { + System.setProperty(indexingPropertyName, previousIndexingState); + } + } + } } public boolean ensureIsNotGradleProxyObject( diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt index 782d63e146f..e8b9c11099b 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt @@ -889,7 +889,7 @@ class GradleFacetImportTest : GradleImportingTestCase() { val isCreateEmptyContentRootDirectories = currentExternalProjectSettings.isCreateEmptyContentRootDirectories try { currentExternalProjectSettings.isCreateEmptyContentRootDirectories = true - super.importProject() + super.importProject(true) } finally { currentExternalProjectSettings.isCreateEmptyContentRootDirectories = isCreateEmptyContentRootDirectories } diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt index bba25d064bf..9de10e2d445 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt @@ -219,12 +219,16 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() { override fun getExternalSystemConfigFileName(): String = "build.gradle" @Throws(IOException::class) - protected open fun importProjectUsingSingeModulePerGradleProject(config: String? = null) { + protected open fun importProjectUsingSingeModulePerGradleProject(config: String? = null, skipIndexing: Boolean? = null) { currentExternalProjectSettings.isResolveModulePerSourceSet = false - importProject(config) + importProject(config, skipIndexing) } - override fun importProject() { + open fun importProject() { + importProject(skipIndexing = null) + } + + override fun importProject(skipIndexing: Boolean?) { ExternalSystemApiUtil.subscribe( myProject, GradleConstants.SYSTEM_ID, @@ -236,14 +240,14 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() { } } }) - super.importProject() + super.importProject(skipIndexing) } @Throws(IOException::class) - override fun importProject(@NonNls @Language("Groovy") config: String?) { + override fun importProject(@NonNls @Language("Groovy") config: String?, skipIndexing: Boolean?) { var config = config config = injectRepo(config) - super.importProject(config) + super.importProject(config, skipIndexing) } override fun handleImportFailure(errorMessage: String, errorDetails: String?) { @@ -385,9 +389,9 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() { }.toList() } - protected fun importProjectFromTestData(): List { + protected fun importProjectFromTestData(skipIndexing: Boolean? = null): List { val files = configureByFiles() - importProject() + importProject(skipIndexing) return files } diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleKtsImportTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleKtsImportTest.kt index 035d7e80126..91b3b527316 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleKtsImportTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleKtsImportTest.kt @@ -42,6 +42,10 @@ class GradleKtsImportTest : GradleImportingTestCase() { return "gradleKtsImportTest" } + override fun importProject() { + importProject(true) + } + @Test @TargetVersions("6.0.1+") fun testEmpty() { diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt index 182753c8d96..91648ea9aa2 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt @@ -35,6 +35,10 @@ abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTes ) } + override fun importProject() { + super.importProject(skipIndexing = true) + } + @JvmField @Parameterized.Parameter(1) var gradleKotlinPluginVersionType: String = MINIMAL_SUPPORTED_VERSION