From 3606e512b00528cb8459af8255e733ef4c8b1881 Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Sun, 24 Apr 2022 18:54:30 +0200 Subject: [PATCH] try fixing process checker, again --- .../adamko/kafkatorio/task/ProcessRunningSpec.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/buildSrc/src/main/kotlin/dev/adamko/kafkatorio/task/ProcessRunningSpec.kt b/buildSrc/src/main/kotlin/dev/adamko/kafkatorio/task/ProcessRunningSpec.kt index 46406a8..57ddf15 100644 --- a/buildSrc/src/main/kotlin/dev/adamko/kafkatorio/task/ProcessRunningSpec.kt +++ b/buildSrc/src/main/kotlin/dev/adamko/kafkatorio/task/ProcessRunningSpec.kt @@ -1,9 +1,11 @@ package dev.adamko.kafkatorio.task import java.io.ByteArrayOutputStream +import javax.inject.Inject import org.gradle.api.Task import org.gradle.api.internal.specs.ExplainingSpec import org.gradle.api.tasks.Exec +import org.gradle.process.ExecOperations /** Checks if a process is running. Windows only. */ class ProcessRunningSpec( @@ -11,17 +13,21 @@ class ProcessRunningSpec( private val ignoreCase: Boolean = true, ) : ExplainingSpec { + @Inject + fun executor(): ExecOperations { + throw UnsupportedOperationException() + } + override fun isSatisfiedBy(element: Task?): Boolean = whyUnsatisfied(element) == null - override fun whyUnsatisfied(element: Task?): String? = with(element) { - - when (this) { + override fun whyUnsatisfied(element: Task?): String? { + return when (element) { null -> "task is null" !is Exec -> "task ${this::class.simpleName} is not ${Exec::class.simpleName}" else -> { return ByteArrayOutputStream().use { outputStream -> - project.exec { + executor().exec { commandLine("tasklist") // Windows only for now... standardOutput = outputStream }