GradleBuildRoot: don't store references to virtual files
This commit is contained in:
+2
-4
@@ -46,7 +46,7 @@ sealed class GradleBuildRoot {
|
||||
|
||||
abstract val projectRoots: Collection<String>
|
||||
|
||||
private val dir: VirtualFile?
|
||||
val dir: VirtualFile?
|
||||
get() = LocalFileSystem.getInstance().findFileByPath(pathPrefix)
|
||||
|
||||
private lateinit var lastModifiedFiles: LastModifiedFiles
|
||||
@@ -107,15 +107,13 @@ sealed class GradleBuildRoot {
|
||||
*/
|
||||
class Imported(
|
||||
override val manager: GradleBuildRootsManager,
|
||||
val dir: VirtualFile,
|
||||
override val pathPrefix: String,
|
||||
val javaHome: File?,
|
||||
val data: GradleBuildRootData
|
||||
) : Linked() {
|
||||
val project: Project
|
||||
get() = manager.project
|
||||
|
||||
override val pathPrefix: String = dir.path
|
||||
|
||||
override val projectRoots: Collection<String>
|
||||
get() = data.projectRoots
|
||||
|
||||
|
||||
+2
-2
@@ -202,7 +202,7 @@ class GradleBuildRootsManager(val project: Project) : ScriptingSupport() {
|
||||
val mergedData = if (build.failed && root is GradleBuildRoot.Imported) merge(root.data, newData) else newData
|
||||
|
||||
val newSupport = tryCreateImportedRoot(build.workingDir) { mergedData } ?: return
|
||||
GradleBuildRootDataSerializer.write(newSupport.dir, mergedData)
|
||||
GradleBuildRootDataSerializer.write(newSupport.dir ?: return, mergedData)
|
||||
|
||||
add(newSupport)
|
||||
|
||||
@@ -335,7 +335,7 @@ class GradleBuildRootsManager(val project: Project) : ScriptingSupport() {
|
||||
.getExecutionSettings<GradleExecutionSettings>(project, externalProjectPath, GradleConstants.SYSTEM_ID)
|
||||
.javaHome?.let { File(it) }
|
||||
|
||||
return GradleBuildRoot.Imported(this, buildRoot, javaHome, data)
|
||||
return GradleBuildRoot.Imported(this, externalProjectPath, javaHome, data)
|
||||
}
|
||||
|
||||
private fun add(newRoot: GradleBuildRoot.Linked) {
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
<extensions defaultExtensionNs="org.jetbrains.kotlin.scripting.idea">
|
||||
<listener order="first" implementation="org.jetbrains.kotlin.idea.scripting.gradle.GradleScriptListener"/>
|
||||
<listener order="first" implementation="org.jetbrains.kotlin.idea.scripting.gradle.legacy.GradleLegacyScriptListener"/>
|
||||
|
||||
<loader order="first" implementation="org.jetbrains.kotlin.idea.scripting.gradle.legacy.GradleLegacyScriptConfigurationLoader"/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user