Commit Graph

4449 Commits

Author SHA1 Message Date
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
f1f54382ed Merge branch 'main' into 4.0.x 2025-05-12 17:58:06 -07:00
Phillip Webb
48ed394679 Remove settings suffix from http client properties
Remove `spring.http.client` deprecation and change
`spring.http.reactiveclient.settings` to `spring.http.reactiveclient`.

Closes gh-45507
2025-05-12 17:55:02 -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
Stéphane Nicoll
0510cfa684 Refine '?' use in Kotlin code 2025-05-09 17:38:10 -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
Stéphane Nicoll
3881a79383 Upgrade to Hibernate 7.0.0.Beta3 and Jakarta Persistence 3.2.0
Closes gh-45476
Closes gh-45477
2025-05-09 17:38:09 -07:00
Stéphane Nicoll
b52b4d1b9a Polish MyTaskExecutorConfiguration.kt sample code 2025-05-08 23:06:31 -07:00
Phillip Webb
da5012086d Merge branch '3.4.x' 2025-05-06 10:42:52 -07:00
Phillip Webb
c1dbb2720a Merge branch '3.3.x' into 3.4.x 2025-05-06 10:42:47 -07:00
Phillip Webb
543de7430b Fix typos
See gh-45349
2025-05-06 10:42:24 -07:00
Phillip Webb
4f757b5198 Merge branch '3.4.x'
Closes gh-45376
2025-05-06 10:26:26 -07:00
Phillip Webb
0d94665ed3 Merge branch '3.3.x' into 3.4.x
Closes gh-45375
2025-05-06 10:26:10 -07:00
Phillip Webb
7d59957a39 Improve setEnvironmentPrefix(...) reference documentation
Closes gh-45370
2025-05-06 10:25:43 -07:00
Phillip Webb
abe89eeb37 Merge branch '3.4.x'
Closes gh-45367
2025-05-05 22:10:24 -07:00
Phillip Webb
19ae4fbba7 Merge branch '3.3.x' into 3.4.x
Closes gh-45366
2025-05-05 22:10:17 -07:00
Phillip Webb
8814d8a7dc Polish 'Document methods of starting Testcontainer containers'
See gh-44187
2025-05-05 22:09:24 -07:00
Vanio Begic
4a98b1787f Document methods of starting Testcontainer containers
Update the reference documentation to provide more details about the
three supported methods of starting Testcontainer containers.

See gh-44187

Signed-off-by: Vanio Begic <vanio.begic123@gmail.com>
2025-05-05 22:08:06 -07:00
Phillip Webb
708cf8e0d4 Merge branch '3.4.x'
Closes gh-45363
2025-05-05 16:34:58 -07:00
Phillip Webb
e522a09fba Merge branch '3.3.x' into 3.4.x
Closes gh-45362
2025-05-05 16:34:40 -07:00
Phillip Webb
af4508bed7 Document when an property import is relative and when it is fixed
Closes gh-45349
2025-05-05 16:33:32 -07:00
Stéphane Nicoll
86a8c9ed4d Document use of org.cyclonedx.bom version to 2.3.0
Closes gh-45320
2025-05-02 15:53:16 +02:00
Phillip Webb
736ff7e3e2 Merge branch '3.4.x' 2025-04-28 12:20:19 -07:00
Phillip Webb
f172c2ca8f Merge branch '3.3.x' into 3.4.x 2025-04-28 12:20:08 -07:00
Phillip Webb
b2e691be02 Update copyright year of changed files 2025-04-28 12:20:02 -07:00
Phillip Webb
ba690d24d4 Merge branch '3.4.x' 2025-04-28 12:18:40 -07:00
Phillip Webb
708062ec1d Merge branch '3.3.x' into 3.4.x 2025-04-28 12:15:47 -07:00
Phillip Webb
428fa6d941 Fix copyright headers to consistently start with project inception year 2025-04-28 12:15:32 -07:00
Andy Wilkinson
0351e33b18 Merge branch '3.4.x' 2025-04-24 16:42:14 +01:00
Andy Wilkinson
611240c6ad Merge branch '3.3.x' into 3.4.x 2025-04-24 16:42:05 +01:00
Andy Wilkinson
52c0e0af08 Ensure resolved bom is available before using it for Javadoc links 2025-04-24 16:41:34 +01:00
Moritz Halbritter
0fb369e8b8 Use paketobuildpacks/builder-noble-java-tiny as the default image builder
Closes gh-42711
2025-04-24 15:21:22 +02:00
Stéphane Nicoll
424d9b6fad Merge branch '3.4.x' 2025-04-23 11:22:09 +02:00
Stéphane Nicoll
7800d24c17 Merge branch '3.3.x' into 3.4.x 2025-04-23 11:22:02 +02:00
Stéphane Nicoll
167c8caf63 Add an explicit note about having to enable cache metrics
See gh-23047
2025-04-23 11:21:40 +02:00
Phillip Webb
f2e7820fb7 Merge branch '3.4.x'
Closes gh-45259
2025-04-22 19:18:41 -07:00
Phillip Webb
7ca20b1ce9 Merge branch '3.3.x' into 3.4.x
Closes gh-45258
2025-04-22 19:18:35 -07:00
florgust
10d3df9884 Update reference docs to make @Component a javadoc link
See gh-45247

Signed-off-by: florgust <luan.flor05@gmail.com>
2025-04-22 19:17:32 -07:00
Stéphane Nicoll
238d83b318 Merge branch '3.4.x'
Closes gh-45242
2025-04-21 08:33:20 +02:00
Stéphane Nicoll
00d68399a7 Merge branch '3.3.x' into 3.4.x
Closes gh-45241
2025-04-21 08:32:14 +02:00
Claudio Nave
6a997d1026 Fix documentation links to buildpacks.io
See gh-45238

Signed-off-by: Claudio Nave <evaristegalois11@proton.me>
2025-04-21 08:30:35 +02:00
Stéphane Nicoll
f797fabc8b Polish contribution
See gh-45232
2025-04-18 14:54:14 +02:00
Dmytro Nosan
74222a64fc Document that a bootstrap executor for the context is auto-configured
Document that `applicationTaskExecutor` as a bootstrap executor for the
context if no `bootstrapExecutor` bean is defined.

See gh-45232

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-04-18 14:26:53 +02:00
Andy Wilkinson
c0125e2470 Merge branch '3.4.x'
Closes gh-45227
2025-04-17 14:13:35 +01:00
Andy Wilkinson
b7ac4f3fd6 Merge branch '3.3.x' into 3.4.x
Closes gh-45226
2025-04-17 14:12:19 +01:00
Andy Wilkinson
21a9f4bbc5 Polish "Avoid eager creation of aggregatedJavadoc task"
See gh-45223
2025-04-17 14:11:54 +01:00
Tran Ngoc Nhan
86f09fb952 Avoid eager creation of aggregatedJavadoc task
See gh-45223

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2025-04-17 14:11:54 +01:00
Stéphane Nicoll
92fe6b09e5 Merge branch '3.4.x'
Closes gh-45225
2025-04-17 14:28:34 +02:00
Stéphane Nicoll
497a1f7860 Merge branch '3.3.x' into 3.4.x
Closes gh-45224
2025-04-17 14:28:27 +02:00
Stéphane Nicoll
6eb20abc90 Polish "Document the semantic of using multiple profile expressions"
See gh-44866
2025-04-17 14:24:18 +02:00