package com.perforce.workshop.tjuricek.gradle import org.gradle.api.tasks.TaskAction /** * Issues a "p4 admin stop" on the local instance. */ public class StopPerforceTask extends PerforceTask { @TaskAction void stopPerforce() { if (isRunning()) { stop() } } boolean isRunning() { def cmd = "${getP4File().absolutePath} -p ${project.perforce.hostname}:${project.perforce.port} info" def process = cmd.execute() process.waitFor() return process.exitValue() == 0 } void stop() { def cmd = "${getP4File().absolutePath} -p ${project.perforce.hostname}:${project.perforce.port} admin stop" def process = cmd.execute() process.waitFor() } }