gradle.kts: use toSystemIndependentName for paths coming from Gradle

This commit is contained in:
Sergey Rostov
2020-05-07 12:33:53 +03:00
parent 4e07e4c8fe
commit 80991f7c56
2 changed files with 7 additions and 8 deletions
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.idea.scripting.gradle.importing
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Key
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.util.io.FileUtil.toSystemIndependentName
import com.intellij.openapi.vfs.VfsUtil
import org.gradle.tooling.model.kotlin.dsl.EditorReportSeverity
import org.gradle.tooling.model.kotlin.dsl.KotlinDslScriptsModel
@@ -90,11 +90,10 @@ private fun KotlinDslScriptsModel.toListOfScriptModels(project: Project): List<K
// todo(KT-34440): take inputs snapshot before starting import
KotlinDslScriptModel(
file.absolutePath,
// TODO: NPE
getGradleScriptInputsStamp(project, virtualFile)!!,
model.classPath.map { it.absolutePath },
model.sourcePath.map { it.absolutePath },
toSystemIndependentName(file.absolutePath),
getGradleScriptInputsStamp(project, virtualFile)!!, // TODO: NPE
model.classPath.map { toSystemIndependentName(it.absolutePath) },
model.sourcePath.map { toSystemIndependentName(it.absolutePath) },
model.implicitImports,
messages
)
@@ -114,7 +113,7 @@ fun saveScriptModels(project: Project, build: KotlinDslGradleBuildSync) {
}
// todo: use real info about projects
build.projectRoots.addAll(build.models.map { FileUtil.toSystemIndependentName(File(it.file).parent) })
build.projectRoots.addAll(build.models.map { toSystemIndependentName(File(it.file).parent) })
GradleBuildRootsManager.getInstance(project).update(build)
}
@@ -19,7 +19,7 @@ import java.io.DataInputStream
import java.io.DataOutput
internal object GradleBuildRootDataSerializer {
private val attribute = FileAttribute("kotlin-dsl-script-models", 4, false)
private val attribute = FileAttribute("kotlin-dsl-script-models", 5, false)
fun read(buildRoot: VirtualFile): GradleBuildRootData? {
return attribute.readAttribute(buildRoot)?.use {