diff --git a/tools/quick-e2e/src/main/java/de/oliver/quicke2e/Main.java b/tools/quick-e2e/src/main/java/de/oliver/quicke2e/Main.java index 65291a01..1499c20f 100644 --- a/tools/quick-e2e/src/main/java/de/oliver/quicke2e/Main.java +++ b/tools/quick-e2e/src/main/java/de/oliver/quicke2e/Main.java @@ -5,6 +5,7 @@ import de.oliver.quicke2e.config.Context; import de.oliver.quicke2e.steps.eula.EulaService; import de.oliver.quicke2e.steps.paper.PaperDownloadService; import de.oliver.quicke2e.steps.startScript.StartScriptService; +import de.oliver.quicke2e.steps.startServer.StartServerService; public class Main { @@ -31,6 +32,9 @@ public class Main { StartScriptService startScript = new StartScriptService(); startScript.writeStartScript(context); + + StartServerService startServer = new StartServerService(); + startServer.startServer(context); } } diff --git a/tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/paper/PaperDownloadService.java b/tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/paper/PaperDownloadService.java index 58371727..e01beeb3 100644 --- a/tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/paper/PaperDownloadService.java +++ b/tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/paper/PaperDownloadService.java @@ -39,6 +39,11 @@ public class PaperDownloadService { Path filePath = Paths.get(String.format("%s/%s_%s_%s/%s-%s-%s.jar", destination, type, version, build, type, version, buildNumber)); context.setServerJarPath(filePath); + if (filePath.toFile().exists()) { + System.out.println("Server file already exists, skipping download"); + return; + } + HttpRequest req = HttpRequest.newBuilder() .GET() .uri(URI.create(String.format("%s/projects/%s/versions/%s/builds/%s/downloads/%s-%s-%s.jar", BASE_URL, type, version, buildNumber, type, version, buildNumber))) diff --git a/tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/startServer/StartServerService.java b/tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/startServer/StartServerService.java new file mode 100644 index 00000000..4611a803 --- /dev/null +++ b/tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/startServer/StartServerService.java @@ -0,0 +1,21 @@ +package de.oliver.quicke2e.steps.startServer; + +import de.oliver.quicke2e.config.Context; + +public class StartServerService { + + public void startServer(Context context) { + ProcessBuilder processBuilder = new ProcessBuilder("java", "-jar", context.serverFileName()); + processBuilder.directory(context.serverEnvPath().toFile()); + processBuilder.redirectErrorStream(true); + processBuilder.redirectOutput(ProcessBuilder.Redirect.INHERIT); + processBuilder.redirectError(ProcessBuilder.Redirect.INHERIT); + + try { + processBuilder.start(); + } catch (Exception e) { + e.printStackTrace(); + } + } + +}