This commit relaxes the requirements for a non-null description to
handle a NoUniqueBeanDefinitionException. This can happen if the
exception has been thrown programmatically and no injection point
is available.
This allows the programmatic exception thrown when multiple cache
managers are found to be handled properly.
Closes gh-13348
This commit updates the configuration metadata and the reference guide
to mention that certain FreeMarker features are not available with
WebFlux.
This stems mostly from the fact that the WebFlux integration is not
based on a AbstractTemplateView.
Closes gh-11199
This commit updates the auto-configuration to allow custom FreeMarker
variables to be provided programmatically. As these variables are
usually objects, they cannot be specified via properties.
Closes gh-8965
This commit improves the configuration metadata annotation processor to
detect a default enum value. The algorithm is best-effort, similarly to
what it already does for well known prefixes (period, duration, etc).
Based on an expression and an identifier, the default value is inferred
if the expression matches the declaration of the property type.
See gh-7562
Adds the following new properties:
- spring.application.pid
- spring.application.version
Refactors the ResourceBanner and the structured logging support to use
the new properties.
Closes gh-41604
Prior to this commit, the configured GraphQL routes would reply with an
HTTP 404 status when a POST request is sent with an unsupported content
type, such as "text/plain". While such requests are not supported in the
first place, we should help developers and let them know that the
content type sent is the problem.
This commit configures new routes that reply with HTTP 415 "Unsupported
Media Type" for these cases.
Closes gh-41675
Previously, if a classifier was set and build-image was executed from
the command-line, the build will fail as the plugin was unable to find
the original jar. This is because it relies on the attached artifacts
of the project, and those are not set when package has run as part of
a forked lifecycle.
This commit makes sure that the backup file is found by convention
first, the same way it is done for the target file.
Closes gh-26721
An `imagePlatform` option for the Maven and Gradle image-building
goal/task can be used to specify the os/architecture of any
builder, run, and buildpack images that are pulled during image
building.
Closes gh-40944
This commit updates the Maven Plugin to tolerate projects that are using
the module path on the JVM and targeting native images with AOT.
Previously, the plugin compiled AOT sources directly to target/classes
and the presence of a module-info there is enough to trigger a
compilation on the module path.
With this change we now compile in a separate directory that contains
the generated AOT classes (typically CGLIB proxies). These are copied to
target/classes once compilation completes already.
The integration test also uses our parent, rather than relying on what
Maven provides. That's because older Maven versions provide a default
compiler plugin version that did not handle the module path correctly.
Closes gh-33383