This commit refines 80470f0b26 so that the 'repackage' goal of the
Spring Boot maven plugin uses a classifier. Previously, a regular
package with the profile fails as the Native Build Tools is trying to
use the repackaged archive as a regular jar file.
This is temporary as we'd like to explore other solutions, including
suggesting an additional option in the NBT plugin itself that uses the
regular classpath, rather than the produced jar.
See gh-30830
Since version 2.15.0 `log4j-jul` contains a `Log4jBridgeHandler`,
that forwards JUL to Log4j 2.x and synchronizes the logger levels of
the two frameworks.
This commmit adds support for the `Log4jBridgeHandler` and sets it as
the bridge handler for the Log4j 2.x stack, replacing the existing
JUL to SLF4J bridge that was used previously.
See gh-30003
- Adds a ObservationRegistry bean
- Add support for ObservationRegistryCustomizers
- Enables timer creation for observations if micrometer-core is on
the classpath
- Registers ObservationPredicate, GlobalTagsProvider and
ObservationHandler on the MeterRegistry
- Applies grouping to the ObservationHandlers: MeterObservationHandler
are added to a FirstMatchingCompositeObservationHandler
- If micrometer-tracing is on the classpath, the
TracingObservationHandler are added to a
FirstMatchingCompositeObservationHandler
Closes gh-29666
Micrometer duplicated the binders in a separate module named
micrometer-binders, and marked the binders in the core module as
deprecated. This commit changes the imports to use the new binders in
the micrometer-binders module. Additionally, the auto-configurations
honor user-supplied beans which use the old binders in the
micrometer-core module.
See gh-30014
As Spring Framework removed support for RxJava 1.x and 2.x, we should do
the same and only provide dependency management for RxJava 3.x.
Closes gh-28212
Restore the 'javax.xml.bind:jaxb-api' exclusion from `xmlunit-core`
which is actually required when using Maven on Java 9+.
The `CheckClasspathForUnnecessaryExclusions` cannot deal with profile
specific dependencies so an exception has been hard coded.
See gh-28332
Previously we used org.glassfish:jakarta.el as our default EL
implementation. Since adopting it we have learned that it can be
significantly slower than Apache Tomcat's EL implementation in some
scenarios. This commit switches to using
org.apache.tomcat.embed:tomcat-embed-el by default instead of the
Glassfish implementation.
Closes gh-24744
Following the fix for gh-21989, spring-boot-starter-parent no longer
contains an <issueManagement> element. As a result the additional
content was no longer being added to the pom. This commit updates
the additions so that they are now added after the <scm> element
that is still present.
See gh-21989
Previously, Spring Boot's modules published Gradle Module Metadata
(GMM) the declared a platform dependency on spring-boot-dependencies.
This provided versions for each module's own dependencies but also had
they unwanted side-effect of pulling in spring-boot-dependencies
constraints which would influence the version of other dependencies
declared in the same configuration. This was undesirable as users
should be able to opt in to this level of dependency management, either
by using the dependency management plugin or by using Gradle's built-in
support via a platform dependency on spring-boot-dependencies.
This commit reworks how Spring Boot's build uses
spring-boot-dependencies and spring-boot-parent to provide its own
dependency management. Configurations that aren't seen by consumers are
configured to extend a dependencyManagement configuration that has an
enforced platform dependency on spring-boot-parent. This enforces
spring-boot-parent's version constraints on Spring Boot's build without
making them visible to consumers. To ensure that the versions that
Spring Boot has been built against are visible to consumers, the
Maven publication that produces pom files and GMM for the published
modules is configured to use the resolved versions from the module's
runtime classpath.
Fixes gh-21911