GradleBuildRoot: fix loading lastModifiedFiles
This commit is contained in:
+27
-8
@@ -49,8 +49,15 @@ sealed class GradleBuildRoot {
|
|||||||
private val dir: VirtualFile?
|
private val dir: VirtualFile?
|
||||||
get() = LocalFileSystem.getInstance().findFileByPath(pathPrefix)
|
get() = LocalFileSystem.getInstance().findFileByPath(pathPrefix)
|
||||||
|
|
||||||
private val lastModifiedFiles =
|
private lateinit var lastModifiedFiles: LastModifiedFiles
|
||||||
dir?.let { LastModifiedFiles.read(it) } ?: LastModifiedFiles()
|
|
||||||
|
fun loadLastModifiedFiles() {
|
||||||
|
lastModifiedFiles = dir?.let { LastModifiedFiles.read(it) } ?: LastModifiedFiles()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun saveLastModifiedFiles() {
|
||||||
|
LastModifiedFiles.write(dir ?: return, lastModifiedFiles)
|
||||||
|
}
|
||||||
|
|
||||||
fun areRelatedFilesUpToDate(file: VirtualFile, lastModified: Long): Boolean =
|
fun areRelatedFilesUpToDate(file: VirtualFile, lastModified: Long): Boolean =
|
||||||
lastModifiedFiles.lastModifiedTimeStampExcept(file.path) < lastModified
|
lastModifiedFiles.lastModifiedTimeStampExcept(file.path) < lastModified
|
||||||
@@ -59,15 +66,15 @@ sealed class GradleBuildRoot {
|
|||||||
lastModifiedFiles.fileChanged(ts, filePath)
|
lastModifiedFiles.fileChanged(ts, filePath)
|
||||||
manager.scheduleLastModifiedFilesSave()
|
manager.scheduleLastModifiedFilesSave()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun saveLastModifiedFiles() {
|
|
||||||
LastModifiedFiles.write(dir ?: return, lastModifiedFiles)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class WithoutScriptModels(settings: GradleProjectSettings) : Linked() {
|
abstract class WithoutScriptModels(settings: GradleProjectSettings) : Linked() {
|
||||||
final override val pathPrefix = settings.externalProjectPath!!
|
final override val pathPrefix = settings.externalProjectPath!!
|
||||||
final override val projectRoots = settings.modules.takeIf { it.isNotEmpty() } ?: listOf(pathPrefix)
|
final override val projectRoots = settings.modules.takeIf { it.isNotEmpty() } ?: listOf(pathPrefix)
|
||||||
|
|
||||||
|
init {
|
||||||
|
loadLastModifiedFiles()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -76,7 +83,11 @@ sealed class GradleBuildRoot {
|
|||||||
class Legacy(
|
class Legacy(
|
||||||
override val manager: GradleBuildRootsManager,
|
override val manager: GradleBuildRootsManager,
|
||||||
settings: GradleProjectSettings
|
settings: GradleProjectSettings
|
||||||
) : WithoutScriptModels(settings)
|
) : WithoutScriptModels(settings) {
|
||||||
|
init {
|
||||||
|
loadLastModifiedFiles()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Linked but not yet imported Gradle build.
|
* Linked but not yet imported Gradle build.
|
||||||
@@ -84,7 +95,11 @@ sealed class GradleBuildRoot {
|
|||||||
class New(
|
class New(
|
||||||
override val manager: GradleBuildRootsManager,
|
override val manager: GradleBuildRootsManager,
|
||||||
settings: GradleProjectSettings
|
settings: GradleProjectSettings
|
||||||
) : WithoutScriptModels(settings)
|
) : WithoutScriptModels(settings) {
|
||||||
|
init {
|
||||||
|
loadLastModifiedFiles()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Imported Gradle build.
|
* Imported Gradle build.
|
||||||
@@ -104,6 +119,10 @@ sealed class GradleBuildRoot {
|
|||||||
override val projectRoots: Collection<String>
|
override val projectRoots: Collection<String>
|
||||||
get() = data.projectRoots
|
get() = data.projectRoots
|
||||||
|
|
||||||
|
init {
|
||||||
|
loadLastModifiedFiles()
|
||||||
|
}
|
||||||
|
|
||||||
fun collectConfigurations(builder: ScriptClassRootsCache.Builder) {
|
fun collectConfigurations(builder: ScriptClassRootsCache.Builder) {
|
||||||
if (javaHome != null) {
|
if (javaHome != null) {
|
||||||
builder.addSdk(javaHome)
|
builder.addSdk(javaHome)
|
||||||
|
|||||||
Reference in New Issue
Block a user