* gh-44354:
Polish "Introduce TestSliceTestContextBootstrapper for test slices"
Introduce TestSliceTestContextBootstrapper for test slices
Closes gh-44354
This commit leverages Kotlin 2.2 which is expected to be the
new baseline for Spring Boot 4.0, so API and language
versions are upgraded to KOTLIN_2_2 as well.
It also enables the -Xannotation-default-target=param-property
compiler flag, mainly for test purpose, in order to avoid the
related warnings and to use what will likely be the default in
an upcoming Kotlin version short term. For more details see
https://youtrack.jetbrains.com/issue/KT-73255.
KotlinPlatformJvmPlugin was a class from an old KMP plugin,
deprecated for a long time and now removed. So its usage in
PluginClasspathGradleBuild has been removed as well.
Signed-off-by: Sébastien Deleuze <sdeleuze@users.noreply.github.com>
See gh-46238
Previously, only a single TaskDecorator bean, if unique, was applied
to the auto-configured TaskExecutor or Scheduler. With this change,
if multiple TaskDecorator beans are defined, they will be combined
into a `CompositeTaskDecorator` and applied accordingly.
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
See gh-45302
Previously, the DataSource initialization would back off without
spring-boot-jdbc but spring-boot-sql was a required dependency.
Without spring-boot-sql, a failure would occur due to the absence
of OnDatabaseInitializationCondition.
This commit updates the auto-configuration so that spring-boot-sql
is now an optional dependency and DataSource initialization
backs off in its absence.
Closes gh-46244
Previously, setting spring.quartz.job-store-type to jdbc assumed that
spring-boot-jdbc was on the classpath. If it was not, the context
would fail to refresh as DataSourceScriptDatabaseInitializer was not
available.
This commit updates the auto-configuration so that the DataSource
initialization will back off when spring-boot-jdbc is absent. This
allows an app to use Quartz without spring-boot-jdbc and
spring-boot-sql. This remains true even when using the JDBC job
store as long as something else has created the DataSource and
initialized its schema to contain the tables that Quartz requires.
Closes gh-46243
Prior to the restructuring, this ordering was in place, but not
directly. BatchAutoConfiguration was ordered after
HibernateJpaAutoConfiguration which, in turn, was ordered after
DataSourceAutoConfiguration. This works as all of the
auto-configuration was in the same module.
Following the restructuring, HibernateJpaAutoConfiguration may not be
on the classpath. When it's absent, it's ordering is also lost which
means that BatchAutoConfiguration won't be ordered after
DataSourceAutoConfiguation with spring-boot-hibernate isn't present.
This commit adds explicit after ordering to BatchAutoConfiguration.
This ensures consistent ordering, with or without the JPA
auto-config.
See gh-46071
Restructure modules packages so that all auto-configuration is
organized under single top-level autoconfigure package.
See gh-46071
Co-authored-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
Add a new `ObservationHandlerGroup` interface that allows grouping
logic to be implemented by the metrics and tracing modules. This
update removes the need for `ObservabilityAutoConfiguration`.
Closes gh-45746
automaticallyRegisteredBinders
Many other tests that check that MeterBinder beans are defined
metricsFilterRegisteredForAsyncDispatches
filterRegistrationHasExpectedDispatcherTypesAndOrder in
WebMvcObservationAutoConfigurationTests
restTemplateIsInstrumented
restTemplateCreatedWithBuilderIsInstrumented in
RestTemplateObservationAutoConfigurationTests
requestMappingIsInstrumented
Various tests in WebMvcObservationAutoConfigurationTests
See gh-46071