diff --git a/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/build.gradle b/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/build.gradle index b2b683619b4..7581ab641b8 100644 --- a/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/build.gradle +++ b/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/build.gradle @@ -233,9 +233,9 @@ publishing.publications.withType(MavenPublication) { delegate.artifactId('spring-boot-maven-plugin') executions { execution { - delegate.id('aot-generate') + delegate.id('process-aot') goals { - delegate.goal('aot-generate') + delegate.goal('process-aot') } } } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/asciidoc/reacting.adoc b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/asciidoc/reacting.adoc index 87a023f5d0e..9042b538407 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/asciidoc/reacting.adoc +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/docs/asciidoc/reacting.adoc @@ -70,8 +70,8 @@ When Gradle's {application-plugin}[`application` plugin] is applied to a project When the {nbt-gradle-plugin}[GraalVM Native Image plugin] is applied to a project, the Spring Boot plugin: . Applies the `org.springframework.boot.aot` plugin that: -.. Registers a `GenerateAotSources` task named `generateAotSources` that will generate AOT-optimized source code for the application. -.. Configures the Java compilation and process resources tasks for the `aot` source set to depend upon `generateAotSources`. +.. Registers a `ProcessAot` task named `processAot` that will generate AOT-optimized source code for the application. +.. Configures the Java compilation and process resources tasks for the `aot` source set to depend upon `processAot`. . Adds the output of the `aot` source set to the classpath of the `nativeCompile` task. . Configures the GraalVM extension to disable Toolchain detection. diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootAotPlugin.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootAotPlugin.java index a00df7a9fb5..4282146080b 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootAotPlugin.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootAotPlugin.java @@ -34,7 +34,7 @@ import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.SourceSetContainer; import org.gradle.api.tasks.TaskProvider; -import org.springframework.boot.gradle.tasks.aot.GenerateAotSources; +import org.springframework.boot.gradle.tasks.aot.ProcessAot; /** * Gradle plugin for Spring Boot AOT. @@ -50,9 +50,9 @@ public class SpringBootAotPlugin implements Plugin { public static final String AOT_SOURCE_SET_NAME = "aot"; /** - * Name of the default {@link GenerateAotSources} task. + * Name of the default {@link ProcessAot} task. */ - public static final String GENERATE_AOT_SOURCES_TASK_NAME = "generateAotSources"; + public static final String PROCESS_AOT_TASK_NAME = "processAot"; @Override public void apply(Project project) { @@ -60,7 +60,7 @@ public class SpringBootAotPlugin implements Plugin { plugins.withType(JavaPlugin.class).all((javaPlugin) -> { plugins.withType(SpringBootPlugin.class).all((bootPlugin) -> { SourceSet aotSourceSet = configureAotSourceSet(project); - registerGenerateAotSourcesTask(project, aotSourceSet); + registerProcessAotTask(project, aotSourceSet); }); }); } @@ -97,11 +97,11 @@ public class SpringBootAotPlugin implements Plugin { attributes.attribute(Usage.USAGE_ATTRIBUTE, javaRuntime); } - private void registerGenerateAotSourcesTask(Project project, SourceSet aotSourceSet) { + private void registerProcessAotTask(Project project, SourceSet aotSourceSet) { TaskProvider resolveMainClassName = project.getTasks() .named(SpringBootPlugin.RESOLVE_MAIN_CLASS_NAME_TASK_NAME, ResolveMainClassName.class); - TaskProvider generateAotSources = project.getTasks() - .register(GENERATE_AOT_SOURCES_TASK_NAME, GenerateAotSources.class, (task) -> { + TaskProvider processAot = project.getTasks().register(PROCESS_AOT_TASK_NAME, ProcessAot.class, + (task) -> { Provider generatedClasses = project.getLayout().getBuildDirectory() .dir("generated/aotClasses"); aotSourceSet.getOutput().dir(generatedClasses); @@ -114,9 +114,9 @@ public class SpringBootAotPlugin implements Plugin { task.getArtifactId().set(project.provider(() -> project.getName())); }); project.getTasks().named(aotSourceSet.getCompileJavaTaskName()) - .configure((compileJava) -> compileJava.dependsOn(generateAotSources)); + .configure((compileJava) -> compileJava.dependsOn(processAot)); project.getTasks().named(aotSourceSet.getProcessResourcesTaskName()) - .configure((processResources) -> processResources.dependsOn(generateAotSources)); + .configure((processResources) -> processResources.dependsOn(processAot)); } } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/aot/GenerateAotSources.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/aot/ProcessAot.java similarity index 94% rename from spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/aot/GenerateAotSources.java rename to spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/aot/ProcessAot.java index 21352007ec0..7c16ddb4dd7 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/aot/GenerateAotSources.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/aot/ProcessAot.java @@ -28,13 +28,13 @@ import org.gradle.api.tasks.OutputDirectory; import org.gradle.api.tasks.TaskAction; /** - * Custom {@link JavaExec} task for generating sources ahead of time. + * Custom {@link JavaExec} task for processing code ahead-of-time. * * @author Andy Wilkinson * @since 3.0.0 */ @CacheableTask -public class GenerateAotSources extends JavaExec { +public class ProcessAot extends JavaExec { private final Property applicationClass; @@ -48,7 +48,7 @@ public class GenerateAotSources extends JavaExec { private final Property artifactId; - public GenerateAotSources() { + public ProcessAot() { this.applicationClass = getProject().getObjects().property(String.class); this.sourcesDir = getProject().getObjects().directoryProperty(); this.resourcesDir = getProject().getObjects().directoryProperty(); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests.java index 9a73e646ecb..9e01053c8fa 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests.java @@ -39,30 +39,30 @@ class SpringBootAotPluginIntegrationTests { GradleBuild gradleBuild; @TestTemplate - void noGenerateAotSourcesTaskWithoutAotPluginApplied() { - assertThat(this.gradleBuild.build("taskExists", "-PtaskName=generateAotSources").getOutput()) - .contains("generateAotSources exists = false"); + void noProcessAotTaskWithoutAotPluginApplied() { + assertThat(this.gradleBuild.build("taskExists", "-PtaskName=processAot").getOutput()) + .contains("processAot exists = false"); } @TestTemplate - void applyingAotPluginCreatesGenerateAotSourcesTask() { - assertThat(this.gradleBuild.build("taskExists", "-PtaskName=generateAotSources").getOutput()) - .contains("generateAotSources exists = true"); + void applyingAotPluginCreatesProcessAotTask() { + assertThat(this.gradleBuild.build("taskExists", "-PtaskName=processAot").getOutput()) + .contains("processAot exists = true"); } @TestTemplate - void generateAotSourcesHasLibraryResourcesOnItsClasspath() throws IOException { + void processAotHasLibraryResourcesOnItsClasspath() throws IOException { File settings = new File(this.gradleBuild.getProjectDir(), "settings.gradle"); Files.write(settings.toPath(), List.of("include 'library'")); File library = new File(this.gradleBuild.getProjectDir(), "library"); library.mkdirs(); Files.write(library.toPath().resolve("build.gradle"), List.of("plugins {", " id 'java-library'", "}")); - assertThat(this.gradleBuild.build("generateAotSourcesClasspath").getOutput()).contains("library.jar"); + assertThat(this.gradleBuild.build("processAotClasspath").getOutput()).contains("library.jar"); } @TestTemplate - void generateAotSourcesHasTransitiveRuntimeDependenciesOnItsClasspath() { - String output = this.gradleBuild.build("generateAotSourcesClasspath").getOutput(); + void processAotHasTransitiveRuntimeDependenciesOnItsClasspath() { + String output = this.gradleBuild.build("processAotClasspath").getOutput(); assertThat(output).contains("org.jboss.logging" + File.separatorChar + "jboss-logging"); } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-applyingAotPluginCreatesGenerateAotSourcesTask.gradle b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-applyingAotPluginCreatesProcessAotTask.gradle similarity index 100% rename from spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-applyingAotPluginCreatesGenerateAotSourcesTask.gradle rename to spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-applyingAotPluginCreatesProcessAotTask.gradle diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-noGenerateAotSourcesTaskWithoutAotPluginApplied.gradle b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-noProcessAotTaskWithoutAotPluginApplied.gradle similarity index 100% rename from spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-noGenerateAotSourcesTaskWithoutAotPluginApplied.gradle rename to spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-noProcessAotTaskWithoutAotPluginApplied.gradle diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-generateAotSourcesHasLibraryResourcesOnItsClasspath.gradle b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-processAotHasLibraryResourcesOnItsClasspath.gradle similarity index 58% rename from spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-generateAotSourcesHasLibraryResourcesOnItsClasspath.gradle rename to spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-processAotHasLibraryResourcesOnItsClasspath.gradle index 2674b051dd0..f4dc03f6366 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-generateAotSourcesHasLibraryResourcesOnItsClasspath.gradle +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-processAotHasLibraryResourcesOnItsClasspath.gradle @@ -8,8 +8,8 @@ dependencies { implementation project(":library") } -task('generateAotSourcesClasspath') { +task('processAotClasspath') { doFirst { - tasks.findByName('generateAotSources').classpath.files.each { println it } + tasks.findByName('processAot').classpath.files.each { println it } } } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-generateAotSourcesHasTransitiveRuntimeDependenciesOnItsClasspath.gradle b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-processAotHasTransitiveRuntimeDependenciesOnItsClasspath.gradle similarity index 65% rename from spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-generateAotSourcesHasTransitiveRuntimeDependenciesOnItsClasspath.gradle rename to spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-processAotHasTransitiveRuntimeDependenciesOnItsClasspath.gradle index c2bd2bb3407..a8385a5cfeb 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-generateAotSourcesHasTransitiveRuntimeDependenciesOnItsClasspath.gradle +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/SpringBootAotPluginIntegrationTests-processAotHasTransitiveRuntimeDependenciesOnItsClasspath.gradle @@ -12,8 +12,8 @@ dependencies { implementation "org.hibernate.orm:hibernate-core:6.1.1.Final" } -task('generateAotSourcesClasspath') { +task('processAotClasspath') { doFirst { - tasks.findByName('generateAotSources').classpath.files.each { println it } + tasks.findByName('processAot').classpath.files.each { println it } } } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/asciidoc/aot.adoc b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/asciidoc/aot.adoc index 0e426944793..88431f516fc 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/asciidoc/aot.adoc +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/asciidoc/aot.adoc @@ -6,7 +6,7 @@ Based on your `@SpringBootApplication`-annotated main class, the AOT engine gene Additional post-processing of the factory is possible using callbacks. For instance, these are used to generate the necessary reflection configuration that GraalVM needs to initialize the context in a native image. -To configure your application to use this feature, add an execution for the `aot-generate` goal, as shown in the following example: +To configure your application to use this feature, add an execution for the `process-aot` goal, as shown in the following example: [source,xml,indent=0,subs="verbatim,attributes",tabsize=4] ---- @@ -16,7 +16,7 @@ include::../maven/aot/pom.xml[tags=aot] As the `BeanFactory` is fully prepared at build-time, conditions are also evaluated. This has an important difference compared to what a regular Spring Boot application does at runtime. For instance, if you want to opt-in or opt-out for certain features, you need to configure the environment used at build time to do so. -The `aot-generate` goal shares a number of properties with the <> for that reason. +The `process-aot` goal shares a number of properties with the <> for that reason. -include::goals/aot-generate.adoc[leveloffset=+1] +include::goals/process-aot.adoc[leveloffset=+1] diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/maven/aot/pom.xml b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/maven/aot/pom.xml index 5799945c6ec..273e217f968 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/maven/aot/pom.xml +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/maven/aot/pom.xml @@ -10,9 +10,9 @@ spring-boot-maven-plugin - aot-generate + process-aot - aot-generate + process-aot diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot-class-proxy/pom.xml b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot-class-proxy/pom.xml index c64f22307fd..5351dfac5a7 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot-class-proxy/pom.xml +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot-class-proxy/pom.xml @@ -19,7 +19,7 @@ - aot-generate + process-aot diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot-jdk-proxy/pom.xml b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot-jdk-proxy/pom.xml index 22995294636..5c9e941b820 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot-jdk-proxy/pom.xml +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot-jdk-proxy/pom.xml @@ -19,7 +19,7 @@ - aot-generate + process-aot diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot/pom.xml b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot/pom.xml index f02fad22809..bac3b8f1579 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot/pom.xml +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/aot/pom.xml @@ -19,7 +19,7 @@ - aot-generate + process-aot diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AotGenerateMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessAotMojo.java similarity index 98% rename from spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AotGenerateMojo.java rename to spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessAotMojo.java index 732e98a66cd..f14ca3b0bf7 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AotGenerateMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessAotMojo.java @@ -57,10 +57,10 @@ import org.springframework.util.ObjectUtils; * @author Andy Wilkinson * @since 3.0.0 */ -@Mojo(name = "aot-generate", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, threadSafe = true, +@Mojo(name = "process-aot", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, requiresDependencyCollection = ResolutionScope.COMPILE_PLUS_RUNTIME) -public class AotGenerateMojo extends AbstractDependencyFilterMojo { +public class ProcessAotMojo extends AbstractDependencyFilterMojo { private static final String AOT_PROCESSOR_CLASS_NAME = "org.springframework.boot.AotProcessor";