From 45ce18e1c79af2b456039804b0ffbca8c0ecc2cf Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 2 Jun 2023 15:35:34 +0100 Subject: [PATCH] Polish "Test Gradle plugin against Gradle 8.2-rc-1" See gh-35708 --- .../gradle/plugin/ApplicationPluginAction.java | 14 ++++++++++++-- .../boot/gradle/plugin/JavaPluginAction.java | 6 ------ .../boot/gradle/plugin/SpringBootPlugin.java | 2 ++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/ApplicationPluginAction.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/ApplicationPluginAction.java index 6d6ce030682..0a082b259b4 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/ApplicationPluginAction.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/ApplicationPluginAction.java @@ -32,6 +32,7 @@ import org.gradle.api.file.CopySpec; import org.gradle.api.file.FileCollection; import org.gradle.api.plugins.ApplicationPlugin; import org.gradle.api.plugins.JavaApplication; +import org.gradle.api.tasks.TaskContainer; import org.gradle.api.tasks.TaskProvider; import org.gradle.jvm.application.scripts.TemplateBasedScriptGenerator; import org.gradle.jvm.application.tasks.CreateStartScripts; @@ -58,8 +59,17 @@ final class ApplicationPluginAction implements PluginApplicationAction { CopySpec binCopySpec = project.copySpec().into("bin").from(bootStartScripts); binCopySpec.setFileMode(0755); distribution.getContents().with(binCopySpec); - project.getTasks() - .named(SpringBootPlugin.BOOT_RUN_TASK_NAME, BootRun.class) + applyApplicationDefaultJvmArgsToRunTasks(project.getTasks(), javaApplication); + } + + private void applyApplicationDefaultJvmArgsToRunTasks(TaskContainer tasks, JavaApplication javaApplication) { + applyApplicationDefaultJvmArgsToRunTask(tasks, javaApplication, SpringBootPlugin.BOOT_RUN_TASK_NAME); + applyApplicationDefaultJvmArgsToRunTask(tasks, javaApplication, SpringBootPlugin.BOOT_TEST_RUN_TASK_NAME); + } + + private void applyApplicationDefaultJvmArgsToRunTask(TaskContainer tasks, JavaApplication javaApplication, + String taskName) { + tasks.named(taskName, BootRun.class) .configure((bootRun) -> bootRun.getConventionMapping() .map("jvmArgs", javaApplication::getApplicationDefaultJvmArgs)); } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java index 3c750cbedda..94565760524 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java @@ -218,12 +218,6 @@ final class JavaPluginAction implements PluginApplicationAction { run.setDescription("Runs this project as a Spring Boot application using the test runtime classpath."); run.setGroup(ApplicationPlugin.APPLICATION_GROUP); run.classpath(classpath); - run.getConventionMapping().map("jvmArgs", () -> { - if (project.hasProperty("applicationDefaultJvmArgs")) { - return project.property("applicationDefaultJvmArgs"); - } - return Collections.emptyList(); - }); run.getMainClass().convention(resolveMainClassName.flatMap(ResolveMainClassName::readMainClassName)); configureToolchainConvention(project, run); }); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java index 9b51bc516d3..3e78fb3cee2 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java @@ -72,6 +72,8 @@ public class SpringBootPlugin implements Plugin { static final String BOOT_RUN_TASK_NAME = "bootRun"; + static final String BOOT_TEST_RUN_TASK_NAME = "bootTestRun"; + /** * The name of the {@code developmentOnly} configuration. * @since 2.3.0