From d925b211fb7a488b6a1185dc0760913c2674d53a Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 16 Mar 2025 19:09:46 +0100 Subject: [PATCH] quick-e2e: Add GradleService to run Gradle tasks and update Main class to utilize it --- tools/quick-e2e/README.md | 1 + .../main/java/de/oliver/quicke2e/Main.java | 4 ++++ .../quicke2e/steps/gradle/GradleService.java | 23 +++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/gradle/GradleService.java diff --git a/tools/quick-e2e/README.md b/tools/quick-e2e/README.md index f0cb01f9..5d5bea08 100644 --- a/tools/quick-e2e/README.md +++ b/tools/quick-e2e/README.md @@ -4,6 +4,7 @@ - [ ] Add system to load configuration from file / command line arguments - [ ] Add services to install plugins +- [ ] Add service to set port - [ ] Add option to update an existing E2E environment - [ ] Add option to delete an existing E2E environment 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 4d9c281f..b554781b 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 @@ -3,6 +3,7 @@ package de.oliver.quicke2e; import de.oliver.quicke2e.config.Configuration; import de.oliver.quicke2e.config.Context; import de.oliver.quicke2e.steps.eula.EulaService; +import de.oliver.quicke2e.steps.gradle.GradleService; import de.oliver.quicke2e.steps.ops.OPsService; import de.oliver.quicke2e.steps.paper.PaperDownloadService; import de.oliver.quicke2e.steps.startScript.StartScriptService; @@ -37,6 +38,9 @@ public class Main { StartScriptService startScript = new StartScriptService(); startScript.writeStartScript(context); + GradleService gradle = new GradleService(); + gradle.runTask(":plugins:fancyholograms:shadowJar"); + StartServerService startServer = new StartServerService(); startServer.startServer(context); } diff --git a/tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/gradle/GradleService.java b/tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/gradle/GradleService.java new file mode 100644 index 00000000..9c6f6f53 --- /dev/null +++ b/tools/quick-e2e/src/main/java/de/oliver/quicke2e/steps/gradle/GradleService.java @@ -0,0 +1,23 @@ +package de.oliver.quicke2e.steps.gradle; + +public class GradleService { + + public void runTask(String task) { + String[] taskCommand = task.split(" "); + String[] command = new String[taskCommand.length + 1]; + command[0] = "./gradlew"; + System.arraycopy(taskCommand, 0, command, 1, taskCommand.length); + + ProcessBuilder processBuilder = new ProcessBuilder(command); + processBuilder.redirectErrorStream(true); + processBuilder.redirectOutput(ProcessBuilder.Redirect.INHERIT); + processBuilder.redirectError(ProcessBuilder.Redirect.INHERIT); + + try { + processBuilder.start(); + } catch (Exception e) { + e.printStackTrace(); + } + } + +}