When testing with Gradle 7.6, junit-platform-launcher won't be
on the test runtime classpath unless it's declared as a dependency.
When testing with Gradle 8.x the dependency is added implicitly but
starting with Gradle 8.3 relying on this will result in a warning.
When junit-platform-launcher is absent, a failure occurs when testing
with Gradle as the class loader structure is such that JUnit tries
to load any test execution listeners, finds the listener declared in
spring-boot-actuator-autoconfigure but cannot then load the
implemented TestExecutionListener interface.
This problem is addressed by augmenting the component metadata for
spring-boot-starter-test to add a dependency on
junit-platform-launcher. This addresses the problem with
spring-boot-actuator-autoconfigure while also addressing a warning
with Gradle 8.3+.
Closes gh-43340
Update `Log4J2LoggingSystem` so that the `StatusLogger` fallback
listener has its print stream reset on each initialization. This
allows output capture to work with the status listener.
Fixes gh-43578
Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
Update `DockerApi` so that calls are made using a fixed version. For
most calls this will be `v1.24`, however, for calls with a platform
we must use the `v1.41`.
When possible, we check that the Docker version in use meets the
required minimum, however, if we can't detect the running version
we now proceed and let the actual API call fail. This is due to the
fact that the `/_ping` endpoint may not always be available. For
example, it is restricted when building from a BitBucket CI pipeline.
Fixes gh-43452
Update jar mode launchers to catch all exceptions and return a non-zero
exit code. This refinement also allows us to consolidate the existing
error reporting logic to a central locations. Modes that wish to report
a simple error rather than a full stacktrace can throw the newly
introduced `JarModeErrorException`.
Fixes gh-43435
Update `ExportedImageTar` media type detection to support `tar+gzip`
as well as `tar.gzip`. Recent updates to Docker Desktop appear to have
changed the format.
Fixes gh-43126
Update `ExportedImageTar.IndexLayerArchiveFactory` to support nested
indexes. Nested indexes support a layer of interaction where the
`index.json` file points to a blob that contains the read index to use.
Prior to this commit, we only supported indexes provided directly by
the `index.json` file. This missing support results in "buildpack.toml:
no such file or directory" errors when referencing specific buildpacks
and using Docker Engine 27.3.1 or above.
See gh-43126