From 75797c33c3cfd3b3b27b434521972f53fd2f12a6 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Wed, 3 Aug 2016 19:16:40 -0800 Subject: [PATCH] Better synchronization for the incremental manager. --- .../com/beust/kobalt/internal/IncrementalManager.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/IncrementalManager.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/IncrementalManager.kt index d44a6752..09214fc0 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/IncrementalManager.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/IncrementalManager.kt @@ -72,17 +72,23 @@ class IncrementalManager @Inject constructor(val args: Args, @Assisted val fileN } fun inputChecksumFor(taskName: String) : String? = + synchronized(BUILD_INFO_FILE) { taskInfoFor(taskInfos(), taskName).inputChecksum + } fun saveOutputChecksum(taskName: String, outputChecksum: String) { - with(taskInfos()) { - taskInfoFor(this, taskName).outputChecksum = outputChecksum - save(this) + synchronized(BUILD_INFO_FILE) { + with(taskInfos()) { + taskInfoFor(this, taskName).outputChecksum = outputChecksum + save(this) + } } } fun outputChecksumFor(taskName: String) : String? = + synchronized(BUILD_INFO_FILE) { taskInfoFor(taskInfos(), taskName).outputChecksum + } /** * @param method is assumed to return an IncrementalTaskInfo.