When excluded from the AOT processing classpath, a reflection hint
for DevTools' RestartScopeInitializer that's registered in
spring.factories is not generated. When the native image is compiled
we have no control over its classpath so DevTools is included. This
causes a failure at runtime as RestartScopeInitializer cannot be
loaded due to the missing reflection hint.
Until we have control over the native image classpath, we need to
include DevTools on the AOT processing classpath and then rely on
DevTools disabling itself in a native image which it already does.
Fixes gh-35853
This commit also disables the creation of forward merge issues
when merging into main. Forward merge issues will be re-enabled
once 3.1.1 has been released.
Update `AbstractPackagerMojo` so that the docker-compose module
can be filtered from the packaged jar.
Co-authored-by: Phillip Webb <pwebb@vmware.com>
Co-authored-by: "Andy Wilkinson <wilkinsona@vmware.com>
An `applicationDirectory` option on the Maven
`spring-boot:build-image` goal and the Gradle `bootBuildImage` task
can be configured to set the location that will be used to upload
application contents to the builder image, and will contain the
application contents in the generated image.
Closes gh-34786
A `createdDate` option on the Maven `spring-boot:build-image` goal
and the Gradle `bootBuildImage` task can be used to set the `Created`
metadata field on a generated OCI image to a specified date or to
the current date.
Closes gh-28798
Update `JarWriter` so that entry times are set with the default TimeZone
offset removed. The Javadoc for `ZipEntry.setTime` states:
The file entry is "encoded in standard `MS-DOS date and time format`.
The default TimeZone is used to convert the epoch time to the MS-DOS
data and time.
Removing the offset from our UTC time before calling `entry.setTime()`
ensures that we get consistent bytes in the zip file when the output
stream reapplies the offset during write.
Fixes gh-34424