fix JsonPropertiesUpToDateSpec checker

This commit is contained in:
Adam 2022-05-30 20:44:32 +02:00
parent 916ddb6cb2
commit 8b109f02ec
2 changed files with 12 additions and 4 deletions

View file

@ -5,7 +5,15 @@ import org.gradle.api.internal.specs.ExplainingSpec
object JsonPropertiesUpToDateSpec : ExplainingSpec<Task> { object JsonPropertiesUpToDateSpec : ExplainingSpec<Task> {
override fun isSatisfiedBy(element: Task?): Boolean = whyUnsatisfied(element) == null override fun isSatisfiedBy(element: Task?): Boolean {
val reason = whyUnsatisfied(element)
if (reason != null) {
println("JsonProperties not up to date:\n$reason")
}
return reason == null
}
// Returns a description explaining why the task is outdated, // Returns a description explaining why the task is outdated,
@ -30,7 +38,7 @@ object JsonPropertiesUpToDateSpec : ExplainingSpec<Task> {
} else { } else {
"'$it' - expected:$updatedVal, actual:$currentVal" "'$it' - expected:$updatedVal, actual:$currentVal"
} }
}.joinToString(prefix = "package.json is not up to date. ") }.joinToString(separator = "\n\t", prefix = "package.json is not up to date.\n\t")
} else { } else {
null null
} }

View file

@ -4,8 +4,8 @@ import com.github.gradle.node.NodePlugin
import dev.adamko.kafkatorio.jsonMapper import dev.adamko.kafkatorio.jsonMapper
import javax.inject.Inject import javax.inject.Inject
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.JsonPrimitive
import kotlinx.serialization.json.jsonObject import kotlinx.serialization.json.jsonObject
import org.gradle.api.DefaultTask import org.gradle.api.DefaultTask
import org.gradle.api.file.RegularFileProperty import org.gradle.api.file.RegularFileProperty
@ -69,7 +69,7 @@ abstract class UpdatePackageJson @Inject constructor(
): JsonObject { ): JsonObject {
val propertiesToCheck: Map<String, String> = propertiesToCheck.get() val propertiesToCheck: Map<String, String> = propertiesToCheck.get()
val newJsonProps = propertiesToCheck.mapValues { (_, newVal) -> val newJsonProps = propertiesToCheck.mapValues { (_, newVal) ->
jsonMapper.parseToJsonElement(newVal) JsonPrimitive(newVal)
} }
return JsonObject(currentPackageJson + newJsonProps) return JsonObject(currentPackageJson + newJsonProps)
} }