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())); + } } }