A manifest entry `Spring-Boot-Native-Processed: true` is added to the
jar manifest by the Maven or Gradle plugin when the jar has been built
for use in a native image. With the Gradle plugin, this is done in
reaction to the GraalVM Native Image Plugin being applied to the
project. With the Maven plugin, this is done when the `native` profile
is applied to the build.
This commit updates the 'native' profile so that it provides plugin
management for the plugins involved in building a native image, rather
than forcing their executions.
This commit also update the Maven Plugin reference guide to describe
what the native profile does, and how it can be used in various
scenarios.
Closes gh-33184
This commit makes sure that the Native Cloud Native Buildpacks is
configured when the native Maven profile is enabled. Doing so lets
users generate a native image with a single command-line by default:
$ ./mvnw -Pnative spring-boot:build-image
Closes gh-32764
Update `spring-boot-starter-parent` to execute the native build tools
`add-reachability-metadata` goal when the 'native' profile is active.
Closes gh-32736
Update `spring-boot-start-parent` with a new `nativeTest` profile. When
active, this profile will trigger AOT processing of test code and call
the native build tools 'test' goal.
Closes gh-32383
This commit adds the Spring for GraphQL auto-configuration back
into Spring Boot 3.0, now that a 1.1.0 release is scheduled with the
required baseline. This release also needs GraphQL Java 19.0 as a
baseline.
Closes gh-31809
This commit configures the Native Build Tools plugin to use Maven's
`target/classes` rather than the default generated JAR of the project.
Previously, this would fail with the default repackage option as the
default JAR is the repackaged archive and it has a specific format that
NBT can't understand.
Closes gh-31848