try fixing process checker, again
This commit is contained in:
parent
12a905e8da
commit
3606e512b0
1 changed files with 10 additions and 4 deletions
|
|
@ -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<Task> {
|
||||
|
||||
@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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue