Code review comment: we already do it on error. I will remove it.

Code under review:
public void main() throws Exception {

        projectDir = getProjectDir();
        beforeQuarkusDev();
        ExecutorService executor = null;
        final BuildResult[] buildResult = new BuildResult[1];
        try {
            executor = Executors.newSingleThreadExecutor();
            quarkusDev = executor.submit(new Runnable() {
                @Override
                public void run() {
                    try {
                        buildResult[0] = build();
                        System.out.println(buildResult[0]);
                    } catch (Exception e) {
                        throw new IllegalStateException("Failed to build the project", e);
                    }
                }
            });
            testDevMode();
        } catch (Exception | AssertionError e) {
            if (buildResult[0] != null) {
                System.err.println("BELOW IS THE CAPTURED LOGGING OF THE FAILED GRADLE TEST PROJECT BUILD");
                System.err.println(buildResult[0].getOutput());
            } else {
                File logOutput = new File(projectDir, "command-output.log");
                if (logOutput.exists()) {
                    System.err.println("BELOW IS THE CAPTURED LOGGING OF THE FAILED GRADLE TEST PROJECT BUILD");
                    try (BufferedReader reader = Files.newBufferedReader(logOutput.toPath())) {
                        String line = reader.readLine();
                        while (line != null) {
                            System.err.println(line);
                            line = reader.readLine();
                        }
                    }
                } else {
                    System.err.println("GRADLE TEST PROJECT BUILD OUTPUT IS NOT AVAILABLE");
                }
            }
            throw e;
        } finally {
            if (quarkusDev != null) {
                quarkusDev.cancel(true);
            }
            if (executor != null) {
                executor.shutdownNow();
            }

            
            DevModeTestUtils.killDescendingProcesses();

            DevModeTestUtils.awaitUntilServerDown();

            if (projectDir != null && projectDir.isDirectory()) {
                FileUtils.deleteQuietly(projectDir);
            }
        }
    }

Line commented on: System.out.println(buildResult[0]);

Revised code:
public void main() throws Exception {

        projectDir = getProjectDir();
        beforeQuarkusDev();
        ExecutorService executor = null;
        final BuildResult[] buildResult = new BuildResult[1];
        try {
            executor = Executors.newSingleThreadExecutor();
            quarkusDev = executor.submit(new Runnable() {
                @Override
                public void run() {
                    try {
                        buildResult[0] = build();
                    } catch (Exception e) {
                        throw new IllegalStateException("Failed to build the project", e);
                    }
                }
            });
            testDevMode();
        } catch (Exception | AssertionError e) {
            if (buildResult[0] != null) {
                System.err.println("BELOW IS THE CAPTURED LOGGING OF THE FAILED GRADLE TEST PROJECT BUILD");
                System.err.println(buildResult[0].getOutput());
            } else {
                File logOutput = new File(projectDir, "command-output.log");
                if (logOutput.exists()) {
                    System.err.println("BELOW IS THE CAPTURED LOGGING OF THE FAILED GRADLE TEST PROJECT BUILD");
                    try (BufferedReader reader = Files.newBufferedReader(logOutput.toPath())) {
                        String line = reader.readLine();
                        while (line != null) {
                            System.err.println(line);
                            line = reader.readLine();
                        }
                    }
                } else {
                    System.err.println("GRADLE TEST PROJECT BUILD OUTPUT IS NOT AVAILABLE");
                }
            }
            throw e;
        } finally {
            if (quarkusDev != null) {
                quarkusDev.cancel(true);
            }
            if (executor != null) {
                executor.shutdownNow();
            }

            
            DevModeTestUtils.killDescendingProcesses();

            DevModeTestUtils.awaitUntilServerDown();

            if (projectDir != null && projectDir.isDirectory()) {
                FileUtils.deleteQuietly(projectDir);
            }
        }
    }