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.linkAction=Link Gradle project
|
||||
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
|
||||
get() = manager.updater
|
||||
|
||||
var enabled: Boolean = true
|
||||
set(value) {
|
||||
if (value != field) {
|
||||
field = value
|
||||
roots.list.toList().forEach {
|
||||
reloadBuildRoot(it.pathPrefix)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
////////////
|
||||
/// ScriptingSupport.Provider implementation:
|
||||
|
||||
@@ -275,7 +285,8 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(),
|
||||
}
|
||||
|
||||
private fun loadLinkedRoot(settings: GradleProjectSettings) =
|
||||
tryLoadFromFsCache(settings) ?: createOtherLinkedRoot(settings)
|
||||
if (!enabled) Legacy(settings)
|
||||
else tryLoadFromFsCache(settings) ?: createOtherLinkedRoot(settings)
|
||||
|
||||
private fun tryLoadFromFsCache(settings: GradleProjectSettings) =
|
||||
tryCreateImportedRoot(settings.externalProjectPath) {
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<extensions defaultExtensionNs="org.jetbrains.kotlin">
|
||||
<buildSystemTypeDetector implementation="org.jetbrains.kotlin.idea.configuration.GradleDetector"/>
|
||||
<scriptDiagnosticFixProvider implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptDiagnosticFixProvider"/>
|
||||
<experimentalFeature implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptConfigurationsImportingFeature"/>
|
||||
</extensions>
|
||||
|
||||
<extensions defaultExtensionNs="org.jetbrains.kotlin.scripting.idea">
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<extensions defaultExtensionNs="org.jetbrains.kotlin">
|
||||
<buildSystemTypeDetector implementation="org.jetbrains.kotlin.idea.configuration.GradleDetector"/>
|
||||
<scriptDiagnosticFixProvider implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptDiagnosticFixProvider"/>
|
||||
<experimentalFeature implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptConfigurationsImportingFeature"/>
|
||||
</extensions>
|
||||
|
||||
<extensions defaultExtensionNs="org.jetbrains.kotlin.scripting.idea">
|
||||
|
||||
Reference in New Issue
Block a user