Update ECS structured logging so that additional fields are written
using a nested structure. A new `Builder` interface has been added to
`StructuredLoggingJsonMembersCustomizer` which can be injected into
formatters and allows `nested` settings to be specified.
Fixes gh-46351
Replace the string based `JarFileUrlKey` and cache with a simple key
built directly from URL components. This should allow cache lookups
to remain fast whilst removing any `URLStreamHandler.getHostAddress`
calls.
Prior to this commit, we assumed that it was safe to use the URL
directly as a cache key as long as it had an empty or null `host`.
This assumption isn't correct when Palo Alto Network Cortex XDR agent
is present as it appears to intercept calls to `getHostAddress`
and, unlike the JDK code, always perform a DNS lookup.
Fixes gh-46401
Compilation of AOT-generated source code requires runtime
dependencies to be on the classpath. This is necessary as a class
from a runtime dependency may appear in the signature of a generated
method that defines a bean. To accomplish this, Boot's AOT plugin
sets the org.gradle.usage attribute of the compile classpath
configurations of the aot and aotTest source sets to java-runtime.
When the Kotlin plugin is applied after Boot's AOT plugin it breaks
this arrangement by setting org.gradle.usage to java-api. There
doesn't appear to be a way to prevent it from messing with the aot
and aotTest source sets despite them not using Kotlin. This commit
works around the problem by repairing the damage and setting the
attribute back to java-runtime again.
Fixes gh-46397