Commit Graph

3752 Commits

Author SHA1 Message Date
Andy Wilkinson
0337830615 Start splitting up spring-boot 2025-06-13 20:06:17 -07:00
Phillip Webb
17df773913 Reduce number of test dependencies
Reduce the number of direct test dependencies and instead rely on
transitive test support dependencies.
2025-06-13 20:06:16 -07:00
Phillip Webb
b120ee1958 Add useful transitive dependencies to spring-boot-test-support
Add more `api` dependencies to `spring-boot-test-support` to reduce
the number of test dependencies needing in sub-modules.
2025-06-13 20:06:16 -07:00
Andy Wilkinson
75003b9d1e Merge branch 'main' into 4.0.x 2025-06-12 17:34:17 +01:00
Andy Wilkinson
330eeda9d1 Fix classpath of bootBuildImage integration tests 2025-06-12 17:32:57 +01:00
Andy Wilkinson
9db79b24c5 Upgrade to Maven Plugin Tools 3.15.1
Closes gh-45933
2025-06-12 14:13:42 +01:00
Andy Wilkinson
3b1f058b62 Upgrade to Maven Invoker 3.3.0
Closes gh-45932
2025-06-12 14:13:41 +01:00
Andy Wilkinson
7a4c437f64 Upgrade to Commons Compress 1.27.1
Closes gh-45926
2025-06-12 14:13:40 +01:00
Andy Wilkinson
2c234171ef Upgrade to Maven Plugin Tools 3.15.1
Closes gh-45905
2025-06-12 14:05:13 +01:00
Andy Wilkinson
4996c70f48 Upgrade to Maven Invoker 3.3.0
Closes gh-45904
2025-06-12 14:05:12 +01:00
Andy Wilkinson
c6748144fb Upgrade to Commons Compress 1.27.1
Closes gh-45898
2025-06-12 14:05:11 +01:00
Andy Wilkinson
12af6976b7 Merge branch 'main' into 4.0.x 2025-06-12 10:07:52 +01:00
Andy Wilkinson
5141620615 Merge branch '3.4.x'
Closes gh-45913
2025-06-12 10:07:30 +01:00
Andy Wilkinson
ec3eeb7185 Merge branch '3.3.x' into 3.4.x
Closes gh-45912
2025-06-12 10:06:22 +01:00
Andy Wilkinson
ca21600fae Use Framework's StreamUtils instead of Commons Compress's IOUtils
Closes gh-45911
2025-06-12 10:00:30 +01:00
Andy Wilkinson
971660fcc3 Merge branch 'main' into 4.0.x 2025-05-27 14:24:09 +01:00
Andy Wilkinson
25b72d66fc Test Gradle plugin against 9.0.0-milestone-9 2025-05-27 12:12:35 +01:00
Andy Wilkinson
af7abb68e6 Merge branch 'main' into 4.0.x 2025-05-27 10:58:23 +01:00
Andy Wilkinson
5f591b376f Merge branch '3.4.x'
Closes gh-45694
2025-05-27 10:56:51 +01:00
Andy Wilkinson
2efad20f7b Broaden Gradle compatibility testing
Closes gh-45692
2025-05-27 10:56:38 +01:00
Stéphane Nicoll
e0d10d7d8c Merge branch 'main' into 4.0.x 2025-05-26 16:18:32 +02:00
Stéphane Nicoll
d05148d4d6 Merge branch '3.4.x'
Closes gh-45683
2025-05-26 16:18:21 +02:00
Stéphane Nicoll
6a82134f94 Merge branch '3.3.x' into 3.4.x
Closes gh-45682
2025-05-26 16:18:12 +02:00
Tran Ngoc Nhan
7448f8c73a Document use of git-commit-id-maven-plugin consistently
See gh-45677

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2025-05-26 16:11:52 +02:00
Phillip Webb
106d30a1a6 Merge branch 'main' into 4.0.x 2025-05-20 17:21:08 -07:00
Phillip Webb
31c864b769 Merge branch '3.4.x' 2025-05-20 17:20:47 -07:00
Phillip Webb
9ae9146661 Merge branch '3.3.x' into 3.4.x 2025-05-20 17:20:34 -07:00
Phillip Webb
2b2228eba5 Update copyright year of changed files 2025-05-20 17:20:07 -07:00
Andy Wilkinson
4f1eddacab Merge branch 'main' into 4.0.x
Closes gh-45612
2025-05-20 11:38:57 +01:00
Andy Wilkinson
d1673ad664 Merge branch '3.4.x'
Closes gh-45611
2025-05-20 11:38:36 +01:00
Andy Wilkinson
aa9e75ed3c Merge branch '3.3.x' into 3.4.x
Closes gh-45610
2025-05-20 11:32:26 +01:00
Andy Wilkinson
5ed981df9c Migrate from gcr.io to docker.io for Paketo images
Closes gh-45609
2025-05-20 11:23:28 +01:00
Stéphane Nicoll
00e4ca2201 Merge branch 'main' into 4.0.x 2025-05-18 09:28:49 +02:00
Stéphane Nicoll
921b9fd6ac Merge branch '3.4.x'
Closes gh-45595
2025-05-18 09:28:38 +02:00
Stéphane Nicoll
fab15af876 Merge branch '3.3.x' into 3.4.x
Closes gh-45594
2025-05-18 09:26:57 +02:00
Johnny Lim
0a54804a0f Polish
See gh-45592

Signed-off-by: Johnny Lim <izeye@naver.com>
2025-05-18 09:20:33 +02:00
Stéphane Nicoll
0915ecc6ec Upgrade to Jackson Bom 2.19.0
Closes gh-45542
2025-05-14 12:52:58 +02:00
Stéphane Nicoll
e1ff4fbaf9 Upgrade to Jackson Bom 2.19.0
Closes gh-45542
2025-05-14 12:38:43 +02:00
Andy Wilkinson
0b12cebff4 Fix warnings reported in Eclipse 2025-05-14 11:37:07 +01:00
Stéphane Nicoll
b3f35baed3 Add metadata support for types in arbitrary modules
Previously, if a ConfigurationProperties had a nested type or was
extending from a type located outside the compilation unit, no
metadata discovered on the source code was available (documentation and
explicit default value, if any). This typically happens when such a type
resides in another module.

This commit introduces `@ConfigurationPropertiesSource` as a way to
annotate such type and have metadata generated for them in their own
module.

Type-metadata is generated as one file per type and is reused
transparently whenever that type is used. As for module metadata, an
additional file can be crafted manually and will be merged when the
metadata for the type is generated.

The following is an example structure with two types where one has
an additional metadata:

META-iNF/
  spring/
    configuration-properties/
      additional/
        com.example.SourceOne.json
      com.example.SourceOne.json
      com.example.SourceTwo.json

Those files are used only by the annotation processor and are not meant
to be public API.

See gh-18366
2025-05-13 13:42:55 +02:00
Phillip Webb
36fb1e9b4b Replace Actuator @Nullable with @OptionalParameter
Closes gh-45389
2025-05-09 17:38:12 -07:00
Stéphane Nicoll
a0944b00d0 Migrate to updated native hints API and new reachability JSON
Replace hint API calls with updated version and fix tests that
relied on previous JSON files.

See gh-45487

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-05-09 17:38:12 -07:00
Stéphane Nicoll
6fceab2c90 Replace spring-jcl with vanilla commons-logging
See gh-45487

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-05-09 17:38:11 -07:00
Phillip Webb
69fb56a5e1 Fix test failures due to updated classpath
JSpecify is a new dependency and The Kafka upgrade now means
that Jackson YAML is on the classpath.

See gh-45487
See gh-45485
2025-05-09 17:38:11 -07:00
Stéphane Nicoll
7035c0fa0a Upgrade to Kotlin 2.1.0
This commit upgrades to Kotlin 2.1.0. Two related dependencies have been
updated as well: Kotlin Coroutines to 1.10, and Kotlin Serialization to
1.8.

As of Kotlin 2, it is no longer possible to have a Java type and a
Kotlin type with the same name. As our code samples follow that
unfortunate pattern, this commit makes sure that the Kotlin sample code
does not depend on any of the Java counterpart and configure the kotlin
compilation plugin to ignore Java sources.

The minimum version of Gradle is 7.6.4. It bundles a version of Kotlin
that cannot compile a Kotlin build script when spring-core, compiled
with Kotlin 2.1, is on the classpath. Using Gradle 8.12 to run the DSL
tests avoids the problem.

Closes gh-45486

Co-authored-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2025-05-09 17:38:10 -07:00
Phillip Webb
fd061220a7 Upgrade to ArchUnit 1.4
Closes gh-45474
2025-05-09 17:38:09 -07:00
Andy Wilkinson
6e2049eb92 Compile project with Java 24 and '-release' Java 17
Closes gh-45472
2025-05-09 17:38:08 -07:00
Andy Wilkinson
af220127d0 Prepare 4.0.x branch 2025-05-09 17:38:08 -07:00
Moritz Halbritter
f8b75073e8 Merge branch '3.4.x'
Closes gh-45449
2025-05-09 11:36:28 +02:00
Moritz Halbritter
84ed182f1c Merge branch '3.3.x' into 3.4.x
Closes gh-45448
2025-05-09 11:31:58 +02:00