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
|
package dev.adamko.kafkatorio.task
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream
|
import java.io.ByteArrayOutputStream
|
||||||
|
import javax.inject.Inject
|
||||||
import org.gradle.api.Task
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.internal.specs.ExplainingSpec
|
import org.gradle.api.internal.specs.ExplainingSpec
|
||||||
import org.gradle.api.tasks.Exec
|
import org.gradle.api.tasks.Exec
|
||||||
|
import org.gradle.process.ExecOperations
|
||||||
|
|
||||||
/** Checks if a process is running. Windows only. */
|
/** Checks if a process is running. Windows only. */
|
||||||
class ProcessRunningSpec(
|
class ProcessRunningSpec(
|
||||||
|
|
@ -11,17 +13,21 @@ class ProcessRunningSpec(
|
||||||
private val ignoreCase: Boolean = true,
|
private val ignoreCase: Boolean = true,
|
||||||
) : ExplainingSpec<Task> {
|
) : ExplainingSpec<Task> {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
fun executor(): ExecOperations {
|
||||||
|
throw UnsupportedOperationException()
|
||||||
|
}
|
||||||
|
|
||||||
override fun isSatisfiedBy(element: Task?): Boolean = whyUnsatisfied(element) == null
|
override fun isSatisfiedBy(element: Task?): Boolean = whyUnsatisfied(element) == null
|
||||||
|
|
||||||
override fun whyUnsatisfied(element: Task?): String? = with(element) {
|
override fun whyUnsatisfied(element: Task?): String? {
|
||||||
|
return when (element) {
|
||||||
when (this) {
|
|
||||||
null -> "task is null"
|
null -> "task is null"
|
||||||
!is Exec -> "task ${this::class.simpleName} is not ${Exec::class.simpleName}"
|
!is Exec -> "task ${this::class.simpleName} is not ${Exec::class.simpleName}"
|
||||||
else -> {
|
else -> {
|
||||||
return ByteArrayOutputStream().use { outputStream ->
|
return ByteArrayOutputStream().use { outputStream ->
|
||||||
|
|
||||||
project.exec {
|
executor().exec {
|
||||||
commandLine("tasklist") // Windows only for now...
|
commandLine("tasklist") // Windows only for now...
|
||||||
standardOutput = outputStream
|
standardOutput = outputStream
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue