This commit clarifies how we intend the spring-boot:repackage goal to
be used. As it operates on the source jar (or war) that must be
effectively up-to-date to produce an accurate result, the package phase
must have run.
Contrary to build-image that was designed to be used on the command-line
by forking a package lifecycle first, repackage does not do that. This
commit also clarifies that by providing a more focused error message.
Closes gh-22317
This commit moves the setup of vendor properties (e.g. Hibernate) from
the auto-configured LocalContainerEntityManagerFactoryBean to the
auto-configured EntityManagerFactoryBuilder. This way, custom use of
the latter retains additional auto-configuration logic such as the
naming strategy and DDL mode to use.
Closes gh-15318
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