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 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
Update the `maven-shade-plugin` configuration to include transformation
of the new `AutoConfiguration.imports` and
`ManagementContextConfiguration.imports` files.
Fixes gh-31316
This commit refines 80470f0b26 so that the 'repackage' goal of the
Spring Boot maven plugin uses a classifier. Previously, a regular
package with the profile fails as the Native Build Tools is trying to
use the repackaged archive as a regular jar file.
This is temporary as we'd like to explore other solutions, including
suggesting an additional option in the NBT plugin itself that uses the
regular classpath, rather than the produced jar.
See gh-30830
Following the fix for gh-21989, spring-boot-starter-parent no longer
contains an <issueManagement> element. As a result the additional
content was no longer being added to the pom. This commit updates
the additions so that they are now added after the <scm> element
that is still present.
See gh-21989
Replace Gradle single quote strings with the double quote form
whenever possible. The change helps to being consistency to the
dependencies section where mostly single quotes were used, but
occasionally double quotes were required due to `${}` references.