From 46ea5d29d80349a34d72f5af0e193e98832931d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Kr=C3=BCger?= <56278322+fabapp2@users.noreply.github.com> Date: Mon, 22 Apr 2024 17:33:49 +0200 Subject: [PATCH] Fix MavenInvoker Closable in try block --- .../pom.xml | 1 - .../rewrite/plugin/gradle/GradleInvoker.java | 30 +++++++------------ 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/spring-rewrite-commons-examples/plugin-invoker-boot-upgrade-examples/pom.xml b/spring-rewrite-commons-examples/plugin-invoker-boot-upgrade-examples/pom.xml index e2744a9..0e1acd5 100644 --- a/spring-rewrite-commons-examples/plugin-invoker-boot-upgrade-examples/pom.xml +++ b/spring-rewrite-commons-examples/plugin-invoker-boot-upgrade-examples/pom.xml @@ -8,7 +8,6 @@ 0.1.0-SNAPSHOT ../pom.xml - org.springframework.rewrite.example plugin-invoker-boot-upgrade-examples plugin-invoker-boot-upgrade-examples plugin-invoker-boot-upgrade-examples diff --git a/spring-rewrite-commons-plugin-invoker/spring-rewrite-commons-plugin-invoker-gradle/src/main/java/org/springframework/rewrite/plugin/gradle/GradleInvoker.java b/spring-rewrite-commons-plugin-invoker/spring-rewrite-commons-plugin-invoker-gradle/src/main/java/org/springframework/rewrite/plugin/gradle/GradleInvoker.java index ec09a6e..f72b1db 100644 --- a/spring-rewrite-commons-plugin-invoker/spring-rewrite-commons-plugin-invoker-gradle/src/main/java/org/springframework/rewrite/plugin/gradle/GradleInvoker.java +++ b/spring-rewrite-commons-plugin-invoker/spring-rewrite-commons-plugin-invoker-gradle/src/main/java/org/springframework/rewrite/plugin/gradle/GradleInvoker.java @@ -30,34 +30,24 @@ import java.nio.file.Path; */ public class GradleInvoker { - private static BuildLauncher getBuildLauncher(Path baseDir, OutputStream os, String[] tasks) { - ProjectConnection connection = getProjectConnection(baseDir); - BuildLauncher buildLauncher = connection.newBuild().setStandardOutput(os).forTasks(tasks); - return buildLauncher; - } - public static GradleInvocationResult runTasks(Path baseDir, String[] args, String... tasks) { ByteArrayOutputStream os = new ByteArrayOutputStream(); ByteArrayOutputStream es = new ByteArrayOutputStream(); - BuildLauncher buildLauncher = getBuildLauncher(baseDir, os, tasks); - buildLauncher.addArguments(args); - buildLauncher.setStandardError(es); - buildLauncher.run(); - return new GradleInvocationResult(new String(os.toByteArray()), new String(es.toByteArray())); - } - - protected static ProjectConnection getProjectConnection(Path projectDir) { - ProjectConnection connection; - var connector = (DefaultGradleConnector) GradleConnector.newConnector(); - if (Files.exists(projectDir.resolve("gradle/wrapper/gradle-wrapper.properties"))) { + DefaultGradleConnector connector = (DefaultGradleConnector) GradleConnector.newConnector(); + if (Files.exists(baseDir.resolve("gradle/wrapper/gradle-wrapper.properties"))) { connector.useBuildDistribution(); } else { connector.useGradleVersion("8.4"); } - - connection = connector.forProjectDirectory(projectDir.toFile()).connect(); - return connection; + try (ProjectConnection connection = connector.forProjectDirectory(baseDir.toFile()).connect()) { + BuildLauncher buildLauncher = connection.newBuild().setStandardOutput(os).forTasks(tasks); + buildLauncher.addArguments(args); + buildLauncher.setStandardError(es); + buildLauncher.run(); + connection.close(); + return new GradleInvocationResult(new String(os.toByteArray()), new String(es.toByteArray())); + } } }