From a150014e74a08724217de83653e116f8526b1aef Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Sun, 14 Jun 2020 17:36:51 +0300 Subject: [PATCH] GradleBuildRootsManager: implement getScriptFirstSeenTs --- .../scripting/gradle/roots/GradleBuildRootsManager.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt index 9d9af82a870..bf480bf49d9 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt @@ -32,7 +32,10 @@ import org.jetbrains.plugins.gradle.config.GradleSettingsListenerAdapter import org.jetbrains.plugins.gradle.settings.* import org.jetbrains.plugins.gradle.util.GradleConstants import java.io.File +import java.nio.file.FileSystems +import java.nio.file.Files import java.nio.file.Paths +import java.nio.file.attribute.BasicFileAttributes import java.util.concurrent.atomic.AtomicBoolean /** @@ -107,7 +110,12 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(), override fun getScriptInfo(localPath: String): GradleScriptInfo? = manager.getLightScriptInfo(localPath) as? GradleScriptInfo - override fun getScriptFirstSeenTs(path: String): Long = 0 + override fun getScriptFirstSeenTs(path: String): Long { + val nioPath = FileSystems.getDefault().getPath(path) + return Files.readAttributes(nioPath, BasicFileAttributes::class.java) + ?.creationTime()?.toMillis() + ?: Long.MAX_VALUE + } fun fileChanged(filePath: String, ts: Long = System.currentTimeMillis()) { findAffectedFileRoot(filePath)?.fileChanged(filePath, ts)