diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/DefaultScriptingSupport.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/DefaultScriptingSupport.kt index 79eda187b17..18126a41b9d 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/DefaultScriptingSupport.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/DefaultScriptingSupport.kt @@ -396,7 +396,7 @@ abstract class DefaultScriptingSupportBase(val manager: CompositeScriptConfigura getAppliedConfiguration(file.originalFile.virtualFile) != null fun isConfigurationLoadingInProgress(file: KtFile): Boolean { - return !hasCachedConfiguration(file) && !ScriptConfigurationManager.isManualConfigurationLoading(file.originalFile.virtualFile) + return !hasCachedConfiguration(file) } fun getOrLoadConfiguration( diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/listener/ScriptChangesNotifier.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/listener/ScriptChangesNotifier.kt index ee96808e39d..14275e55917 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/listener/ScriptChangesNotifier.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/listener/ScriptChangesNotifier.kt @@ -91,8 +91,6 @@ internal class ScriptChangesNotifier( private fun getListener(project: Project, file: VirtualFile): ScriptChangeListener? { if (project.isDisposed || areListenersDisabled()) return null - if (ScriptConfigurationManager.isManualConfigurationLoading(file)) return null - return listeners.firstOrNull { it.isApplicable(file) } } diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/loader/DefaultScriptConfigurationLoader.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/loader/DefaultScriptConfigurationLoader.kt index 7ec2195574f..f9c9a98157b 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/loader/DefaultScriptConfigurationLoader.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/loader/DefaultScriptConfigurationLoader.kt @@ -40,8 +40,6 @@ open class DefaultScriptConfigurationLoader(val project: Project) : ScriptConfig ): Boolean { val virtualFile = ktFile.originalFile.virtualFile - if (ScriptConfigurationManager.isManualConfigurationLoading(virtualFile)) return false - val result = getConfigurationThroughScriptingApi(ktFile, virtualFile, scriptDefinition) if (KotlinScriptingSettings.getInstance(project).autoReloadConfigurations(scriptDefinition)) { diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/legacy/GradleLegacyScriptConfigurationLoader.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/legacy/GradleLegacyScriptConfigurationLoader.kt index f3429e70cb0..4dabbc8c3cb 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/legacy/GradleLegacyScriptConfigurationLoader.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/legacy/GradleLegacyScriptConfigurationLoader.kt @@ -18,40 +18,10 @@ import org.jetbrains.kotlin.idea.core.util.EDT import org.jetbrains.kotlin.idea.scripting.gradle.getGradleScriptInputsStamp import org.jetbrains.kotlin.idea.scripting.gradle.isGradleKotlinScript import org.jetbrains.kotlin.idea.scripting.gradle.roots.GradleBuildRootsManager -import org.jetbrains.kotlin.idea.scripting.gradle.useScriptConfigurationFromImportOnly import org.jetbrains.kotlin.idea.util.application.runWriteAction import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition -/** - * Loader that performs loading for .gralde.kts scripts configuration through the [DefaultScriptingSupport] - * - * TODO(gradle6): remove - */ -class GradleLegacyScriptConfigurationLoaderForOutOfProjectScripts(project: Project) : DefaultScriptConfigurationLoader(project) { - override fun loadDependencies( - isFirstLoad: Boolean, - ktFile: KtFile, - scriptDefinition: ScriptDefinition, - context: ScriptConfigurationLoadingContext - ): Boolean { - val vFile = ktFile.originalFile.virtualFile - - // Gradle read files from FS - GlobalScope.launch(EDT(project)) { - runWriteAction { - FileDocumentManager.getInstance().saveAllDocuments() - } - } - - val result = getConfigurationThroughScriptingApi(ktFile, vFile, scriptDefinition) - - context.saveNewConfiguration(vFile, result) - - return true - } -} - /** * Loader that performs loading for .gralde.kts scripts configuration through the [DefaultScriptingSupport] * @@ -60,10 +30,6 @@ class GradleLegacyScriptConfigurationLoaderForOutOfProjectScripts(project: Proje class GradleLegacyScriptConfigurationLoader(project: Project) : DefaultScriptConfigurationLoader(project) { private val buildRootsManager = GradleBuildRootsManager.getInstance(project) - override fun shouldRunInBackground(scriptDefinition: ScriptDefinition): Boolean { - return if (useScriptConfigurationFromImportOnly()) false else super.shouldRunInBackground(scriptDefinition) - } - override fun loadDependencies( isFirstLoad: Boolean, ktFile: KtFile, @@ -74,19 +40,12 @@ class GradleLegacyScriptConfigurationLoader(project: Project) : DefaultScriptCon if (!isGradleKotlinScript(vFile)) return false - if (useScriptConfigurationFromImportOnly()) { - // do nothing, project import notification will be already showed - // and configuration for gradle build scripts will be saved at the end of import - return true - } - if (!buildRootsManager.isAffectedGradleProjectFile(vFile.path)) { - ScriptConfigurationManager.markFileWithManualConfigurationLoading(vFile) + // not known gradle file and not configured as standalone script + // skip return true } - ScriptConfigurationManager.clearManualConfigurationLoadingIfNeeded(vFile) - // Gradle read files from FS GlobalScope.launch(EDT(project)) { runWriteAction { diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/utils.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/utils.kt index 8d853d05d98..50475b053c5 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/utils.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/utils.kt @@ -76,10 +76,6 @@ fun kotlinDslScriptsModelImportSupported(currentGradleVersion: String): Boolean return GradleVersion.version(currentGradleVersion) >= GradleVersion.version(minimal_gradle_version_supported) } -fun useScriptConfigurationFromImportOnly(): Boolean { - return Registry.`is`("kotlin.gradle.scripts.useIdeaProjectImport", false) -} - fun getGradleProjectSettings(project: Project): Collection = (ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID) as GradleSettings).linkedProjectsSettings diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptOutOfProjectTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptOutOfProjectTest.kt deleted file mode 100644 index ec2578486b7..00000000000 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptOutOfProjectTest.kt +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.idea.scripting.gradle - -import org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager -import org.jetbrains.kotlin.idea.script.AbstractScriptConfigurationLoadingTest -import org.jetbrains.kotlin.idea.scripting.gradle.legacy.GradleLegacyScriptConfigurationLoaderForOutOfProjectScripts -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner -import org.jetbrains.plugins.gradle.util.GradleConstants -import org.junit.runner.RunWith -import java.io.File - -@RunWith(JUnit3WithIdeaConfigurationRunner::class) -class GradleScriptOutOfProjectTest : AbstractScriptConfigurationLoadingTest() { - - override fun setUpTestProject() { - val rootDir = "idea/testData/script/definition/loading/gradle/" - - val buildGradleKts = File(rootDir).walkTopDown().find { it.name == GradleConstants.KOTLIN_DSL_SCRIPT_NAME } - ?: error("Couldn't find main script") - - configureScriptFile(rootDir, buildGradleKts) - - testAffectedGradleProjectFiles = true - } - - override fun tearDown() { - super.tearDown() - - testAffectedGradleProjectFiles = false - } - - private val loaderForOutOfProjectScripts by lazy { - GradleLegacyScriptConfigurationLoaderForOutOfProjectScripts( - project - ) - } - - fun testManualLoadingForUpToDate() { - assertConfigurationShouldBeLoadedManually() - - scriptConfigurationManager.default.forceReloadConfiguration(myFile as KtFile, loaderForOutOfProjectScripts) - - assertConfigurationWasLoaded() - } - - fun testManualLoadingForOutOfDate() { - assertConfigurationShouldBeLoadedManually() - - makeChangesInsideSections() - - assertNoBackgroundTasks() - assertNoLoading() - - scriptConfigurationManager.default.forceReloadConfiguration(myFile as KtFile, loaderForOutOfProjectScripts) - - assertConfigurationWasLoaded() - } - - fun testFileAttributesForManualLoading() { - assertConfigurationShouldBeLoadedManually() - - scriptConfigurationManager.default.forceReloadConfiguration(myFile as KtFile, loaderForOutOfProjectScripts) - - assertConfigurationWasLoaded() - - ScriptConfigurationManager.clearCaches(project) - - assertNotNull(getConfiguration()) - } - - fun testNoNotificationAfterForReload() { - assertConfigurationShouldBeLoadedManually() - - scriptConfigurationManager.default.forceReloadConfiguration(myFile as KtFile, loaderForOutOfProjectScripts) - assertConfigurationWasLoaded() - - makeChangesInsideSections() - - scriptConfigurationManager.default.forceReloadConfiguration(myFile as KtFile, loaderForOutOfProjectScripts) - assertConfigurationWasLoaded() - - } - - private fun makeChangesInsideSections() { - changeContents(myFile.text.replace(GradleScriptListenerTest.insidePlaceholder, "application"), myFile) - } - - private fun assertConfigurationShouldBeLoadedManually() { - assertNull(getConfiguration()) - assertNoLoading() - } - - private fun assertConfigurationWasLoaded() { - assertAndDoAllBackgroundTasks() - assertSingleLoading() - assertNoSuggestedConfiguration() - assertNotNull(getConfiguration()) - } - - private fun getConfiguration() = - scriptConfigurationManager.getConfiguration(myFile as KtFile) -} \ No newline at end of file diff --git a/idea/resources/META-INF/extensions/ide.xml b/idea/resources/META-INF/extensions/ide.xml index c53bf8fb848..fa3f84c9e54 100644 --- a/idea/resources/META-INF/extensions/ide.xml +++ b/idea/resources/META-INF/extensions/ide.xml @@ -116,11 +116,6 @@ description="Add all transitive dependencies on MPP modules when Android project is imported" defaultValue="true" restartRequired="false"/> - -