As of this new major, all milestones should be shipped to central as
well. This commit removes the inclusion of the milestone repository as
this shouldn't be needed anymore.
Closes gh-46420
This commit harmonizes the check for the presence of an Encoding bean.
Also, as this bean may be provided by another auto-configuration, this
commit orders them explicitly.
This means the dependency to spring-boot-zipkin has to elevate from a
test-only dependency to (at least) an optional dependency to validate
the links between the two auto-configurations.
Closes gh-46295
108ca649 trimmed down the dependencies of spring-boot-starter-test
but it went too far. Marking spring-boot-webclient as non-transitive
meant that spring-boot-http-codec was no longer on the classpath.
However, it's a required dependency of the spring-boot-webclient
auto-configuration due to an auto-configuration after reference to
CodecsAutoConfiguration.class.
This commit adds spring-boot-http-codec as a direct non-transitive
dependency. This should be sufficient to allow
spring-boot-webclient's auto-configuration to function while still
minimizing the effects of adding spring-boot-starter-test to an app.
See gh-4629
The enum itself is not specifically tied to auto-configuration so
spring-boot is a better place for it. The related condition,
`@ConditionalOnThreading`, remains in spring-boot-autoconfigure. This
aligns things with the similar `CloudPlatform` and
`@ConditionalOnCloudPlatform`.
Closes gh-46406
efde264 corrected spring-boot-webclient by adding to it an api
dependency on spring-webflux. This had an unwanted side-effect on
the classpath of anything that depends on spring-boot-starter-test.
That classpath now contained all of the classes that are needed to
deduce that the web application type should be reactive. This
caused some smoke tests to fail as they'd incorrectly try to start
a reactive web server.
This commit updates spring-boot-starter-test so that its dependencies
on spring-boot-restclient and spring-boot-webclient are not
transitive. This prevents them from pulling in unwanted dependencies
such as spring-webflux by default, while making their classes and
auto-configuration available for classes that already depend on
spring-webflux and the like through some other route.
See gh-46292