GradleScriptConfigurationsImportingFeature
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
gradle.script.configurations.importing.feature=Load gradle kotlin scripts configuration from project importing
|
||||||
notification.outsideAnything.text=Code insight unavailable (related Gradle project not linked)
|
notification.outsideAnything.text=Code insight unavailable (related Gradle project not linked)
|
||||||
notification.outsideAnything.linkAction=Link Gradle project
|
notification.outsideAnything.linkAction=Link Gradle project
|
||||||
notification.wasNotImportedAfterCreation.text=Code insight unavailable (Gradle project not imported)
|
notification.wasNotImportedAfterCreation.text=Code insight unavailable (Gradle project not imported)
|
||||||
|
|||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* 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 com.intellij.openapi.project.ProjectManager
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle
|
||||||
|
import org.jetbrains.kotlin.idea.configuration.ExperimentalFeature
|
||||||
|
import org.jetbrains.kotlin.idea.scripting.gradle.roots.GradleBuildRootsManager
|
||||||
|
|
||||||
|
object GradleScriptConfigurationsImportingFeature : ExperimentalFeature() {
|
||||||
|
override val title: String
|
||||||
|
get() = KotlinIdeaGradleBundle.message("gradle.script.configurations.importing.feature")
|
||||||
|
|
||||||
|
override fun shouldBeShown(): Boolean = true
|
||||||
|
|
||||||
|
override var isEnabled: Boolean = true
|
||||||
|
set(value) {
|
||||||
|
if (field != value) {
|
||||||
|
field = value
|
||||||
|
ProjectManager.getInstance().openProjects.forEach {
|
||||||
|
GradleBuildRootsManager.getInstance(it).enabled = field
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+12
-1
@@ -67,6 +67,16 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(),
|
|||||||
private val updater
|
private val updater
|
||||||
get() = manager.updater
|
get() = manager.updater
|
||||||
|
|
||||||
|
var enabled: Boolean = true
|
||||||
|
set(value) {
|
||||||
|
if (value != field) {
|
||||||
|
field = value
|
||||||
|
roots.list.toList().forEach {
|
||||||
|
reloadBuildRoot(it.pathPrefix)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
////////////
|
////////////
|
||||||
/// ScriptingSupport.Provider implementation:
|
/// ScriptingSupport.Provider implementation:
|
||||||
|
|
||||||
@@ -275,7 +285,8 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun loadLinkedRoot(settings: GradleProjectSettings) =
|
private fun loadLinkedRoot(settings: GradleProjectSettings) =
|
||||||
tryLoadFromFsCache(settings) ?: createOtherLinkedRoot(settings)
|
if (!enabled) Legacy(settings)
|
||||||
|
else tryLoadFromFsCache(settings) ?: createOtherLinkedRoot(settings)
|
||||||
|
|
||||||
private fun tryLoadFromFsCache(settings: GradleProjectSettings) =
|
private fun tryLoadFromFsCache(settings: GradleProjectSettings) =
|
||||||
tryCreateImportedRoot(settings.externalProjectPath) {
|
tryCreateImportedRoot(settings.externalProjectPath) {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
<extensions defaultExtensionNs="org.jetbrains.kotlin">
|
<extensions defaultExtensionNs="org.jetbrains.kotlin">
|
||||||
<buildSystemTypeDetector implementation="org.jetbrains.kotlin.idea.configuration.GradleDetector"/>
|
<buildSystemTypeDetector implementation="org.jetbrains.kotlin.idea.configuration.GradleDetector"/>
|
||||||
<scriptDiagnosticFixProvider implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptDiagnosticFixProvider"/>
|
<scriptDiagnosticFixProvider implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptDiagnosticFixProvider"/>
|
||||||
|
<experimentalFeature implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptConfigurationsImportingFeature"/>
|
||||||
</extensions>
|
</extensions>
|
||||||
|
|
||||||
<extensions defaultExtensionNs="org.jetbrains.kotlin.scripting.idea">
|
<extensions defaultExtensionNs="org.jetbrains.kotlin.scripting.idea">
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
<extensions defaultExtensionNs="org.jetbrains.kotlin">
|
<extensions defaultExtensionNs="org.jetbrains.kotlin">
|
||||||
<buildSystemTypeDetector implementation="org.jetbrains.kotlin.idea.configuration.GradleDetector"/>
|
<buildSystemTypeDetector implementation="org.jetbrains.kotlin.idea.configuration.GradleDetector"/>
|
||||||
<scriptDiagnosticFixProvider implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptDiagnosticFixProvider"/>
|
<scriptDiagnosticFixProvider implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptDiagnosticFixProvider"/>
|
||||||
|
<experimentalFeature implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptConfigurationsImportingFeature"/>
|
||||||
</extensions>
|
</extensions>
|
||||||
|
|
||||||
<extensions defaultExtensionNs="org.jetbrains.kotlin.scripting.idea">
|
<extensions defaultExtensionNs="org.jetbrains.kotlin.scripting.idea">
|
||||||
|
|||||||
Reference in New Issue
Block a user