package com.perforce.workshop.tjuricek.p4oauth
import org.gradle.api.tasks.TaskAction
import java.lang.reflect.Field
/**
*/
class StartTestServerTask extends TestServerTask {
@TaskAction
def startTestServer() {
if (running) {
setDidWork(false)
return;
}
if (!testServerDir.exists()) {
testServerDir.mkdirs()
}
File log = new File(testServerDir, "log");
String cmd = "java -jar ${testServerJar.absolutePath} " +
"${project.extensions.p4oauth.testServerPort} " +
"${project.buildDir}/keystore > " +
"${log.absolutePath}"
logger.info("Executing ${cmd}")
Process process = cmd.execute()
Field f = process.getClass().getDeclaredField("pid");
f.setAccessible(true)
int pid = f.getInt(process);
getPidFile().write("${pid}");
}
File getTestServerJar() {
return project.file("test_server/build/libs/test_server.jar")
}
}
#
Change
User
Description
Committed
#1
9138
tjuricek
Added a "test server" with startTestServer and stopTestServer gradle tasks.
The test server isn't 100% complete, but the gradle tasks should be. This is to be used to drive tests forward via a web browser.