Commit Graph

1397 Commits

Author SHA1 Message Date
Andy Wilkinson 44099d3d21 Build with Gradle 9.1.0 2025-10-06 18:30:48 +01:00
Phillip Webb 8008076e04 Remove spring-boot-json-test module
Remove spring-boot-json-test module and spread code between
`spring-boot-test`, `spring-boot-test-autoconfigure` and JSON
technology modules.

See gh-46356
See gh-47322
2025-10-01 21:42:18 -07:00
Stéphane Nicoll cbdd7cf23b Fix links to source code in reference documentation
Closes gh-47348
2025-09-29 16:38:04 +02:00
Stéphane Nicoll ae86895953 Merge branch '3.5.x'
Closes gh-47344
2025-09-29 09:46:15 +02:00
Stéphane Nicoll 93c9413ac0 Merge branch '3.4.x' into 3.5.x
Closes gh-47343
2025-09-29 09:46:07 +02:00
Stéphane Nicoll c3aca4b126 Polish "Use non-deprecated syntax to configure sourceCompatibility"
See gh-47339
2025-09-29 09:42:16 +02:00
Andy Wilkinson 5348880b69 Modularize spring-boot-test-autoconfigure
This commit modularizes spring-boot-test-autoconfigure. It now
contains only the code that's central to test auto-configuration.
Feature-specific functionality has moved out into -test modules,
some existing and some newly created. For example, `@DataJpaTest` can
now be found in spring-boot-data-jpa-test.

Closes gh-47322
2025-09-25 13:11:35 +01:00
Andy Wilkinson 51b606e941 Polish 2025-09-24 12:47:09 +01:00
Phillip Webb 3a9ab15696 Reintroduce previous EnvironmentPostProcessor in deprecated form
Restore previous `EnvironmentPostProcessor` in deprecated form to help
lessen upgrade pain.

Closes gh-47272
2025-09-22 11:25:23 -07:00
Stéphane Nicoll cdd39bafd7 Introduce spring-boot-persistence
This commit adds a spring-boot-persistence module with data technology
independent features. This provides a better home for EntityScan and
PersistenceExceptionTranslationAutoConfiguration.

Closes gh-45328
2025-09-17 14:42:22 +02:00
Brian Clozel 6a55d7b49b Polishing contribition
Closes gh-46546
2025-09-10 20:53:40 +02:00
Dmitry Sulman c7621bb6be Introduce Kotlin Serialization auto-configuration
See gh-46546

Signed-off-by: Dmitry Sulman <dmitry.sulman@gmail.com>
2025-09-10 20:53:40 +02:00
Brian Clozel 4d0cce7791 Prevent IOException in CheckAutoConfigurationClasses
This commit ensures that before walking a source root, the Gradle plugin
checks that it exists. This situation can only happen when a Gradle
plugin adds new roots to SourceSets, but there are no sources in them.

Fixes gh-47142
2025-09-10 11:43:54 +02:00
Andy Wilkinson 123b8c6d3d Update Bomr to output upgrade links for the release notes
Closes gh-47032
2025-09-04 11:43:37 +01:00
Andy Wilkinson 78bc232af4 Merge branch '3.5.x'
Closes gh-47034
2025-09-04 09:04:00 +01:00
Andy Wilkinson 4697f2ea51 Merge branch '3.4.x' into 3.5.x
Closes gh-47033
2025-09-04 09:03:40 +01:00
Andy Wilkinson 985e108ccb Delete old output before documenting auto-configuration classes
Without this change, removing a file from the task's inputs would not
be reflected in its output as the stale output file for that input
would remain.

Closes gh-46970
2025-09-04 09:03:16 +01:00
Andy Wilkinson d353038c58 Update Jackson support to require Jackson 3
Closes gh-45535
2025-09-02 11:37:09 +01:00
Andy Wilkinson fe371aba17 Start building against Spring Framework 7.0.0-M9 snapshots
See gh-47008
2025-08-29 17:19:34 +01:00
Dmytro Nosan 2dc414900d Restore NullMarked ArchRule tests
See gh-46876

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-18 15:21:34 +02:00
Stéphane Nicoll cf0156dbdd Merge branch '3.5.x'
Closes gh-46875
2025-08-18 14:09:18 +02:00
Stéphane Nicoll fc0dc372d4 Merge branch '3.4.x' into 3.5.x
Closes gh-46874
2025-08-18 14:02:21 +02:00
Dmytro Nosan bb8e884999 Polish ArchitectureCheckTests
Prior to this commit, it wasn't possible to write a test to verify that
a specific ArchRule applied only to a specific SourceSet.

This PR rewrites `ArchitectureCheckTests` to support different sources
and also adds functionality to configure the plugin.

With these changes, all tests now verify not only the
`checkArchitectureMain` task but also `checkArchitectureTest`.

See gh-46822

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-18 14:01:58 +02:00
Moritz Halbritter c211b88594 Check for @NullMarked on packages
Projects which don't have JSpecify nullability annotations can opt out
by using

architectureCheck {
	nullMarked = false
}

in their build.gradle script.

See gh-46587
2025-08-13 13:27:48 +02:00
Stéphane Nicoll 8f44c89850 Merge branch '3.5.x'
Closes gh-46801
2025-08-12 11:27:56 +02:00
Stéphane Nicoll 78aac2fd33 Merge branch '3.4.x' into 3.5.x
Closes gh-46800
2025-08-12 11:22:23 +02:00
Johnny Lim edb38f9bf8 Polish
See gh-46785

Signed-off-by: Johnny Lim <izeye@naver.com>
2025-08-12 11:16:32 +02:00
Moritz Halbritter 335063b464 Fix line endings handling when adding suppression to help mojo 2025-08-11 15:50:50 +02:00
Moritz Halbritter d74cfbad6e Annotated the generated code by helpmojo with NullSafe suppressions
See gh-46587
2025-08-11 13:12:53 +02:00
Stéphane Nicoll aa4a4d5edc Merge branch '3.5.x'
Closes gh-46765
2025-08-11 08:52:04 +02:00
Stéphane Nicoll 2e8d2f7e73 Merge branch '3.4.x' into 3.5.x
Closes gh-46764
2025-08-11 08:48:55 +02:00
Dmytro Nosan b88ad99f1a Add ArchRule that checks that the type of exposed bean is not private
See gh-46753

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-11 08:43:21 +02:00
Moritz Halbritter e57be21b20 Introduce properties to configure NullAway and ErrorProne versions
See gh-46587
2025-08-07 10:48:44 +02:00
Moritz Halbritter a5279cdc89 Use checkstyleToolVersion from properties when applying conventions 2025-08-07 10:48:44 +02:00
Andy Wilkinson 0d037121b6 Merge branch '3.5.x' 2025-08-01 09:18:52 +01:00
Andy Wilkinson 4dc10b4744 Merge branch '3.4.x' into 3.5.x 2025-08-01 09:18:44 +01:00
Andy Wilkinson 449a901c90 Remove unnecessary attributes from dependency scope configuration
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Has been cancelled Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Has been cancelled Details
Run CodeQL Analysis / run-analysis (push) Has been cancelled Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Has been cancelled Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Has been cancelled Details
Build and Deploy Snapshot / Trigger Docs Build (push) Has been cancelled Details
Build and Deploy Snapshot / Verify (push) Has been cancelled Details
See gh-46600
2025-08-01 09:14:33 +01:00
Andy Wilkinson 395ffb2bc5 Merge branch '3.5.x'
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-46633
2025-07-31 10:39:18 +01:00
Andy Wilkinson 2cdf434105 Merge branch '3.4.x' into 3.5.x
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-46631
2025-07-31 10:13:09 +01:00
Andy Wilkinson c9c80763b7 Improve aggregation in the reference docs project
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-46600
2025-07-31 10:12:04 +01:00
Moritz Halbritter 86f25012d6 Apply nullability-plugin through ConventionsPlugin
See gh-46587
2025-07-29 10:42:10 +02:00
Moritz Halbritter c0f1f641ce Make auto-configurations final and remove public members
Closes gh-32883
2025-07-29 09:48:49 +02:00
Andy Wilkinson 84712fa6d1 Fix xref generation when starter has a digit in its name
See gh-46245
2025-07-24 13:19:54 +01:00
Andy Wilkinson e12bb7b5de Library upgrade policy should not reduce bom's policy
Library-specific upgrade policies were added to allow a dependency
to have a less strict upgrade policy, for example so that a new
minor upgrade could be applied in a maintenance release. As
currently implemented, a library-specific policy that's more
restrictive than the bom's policy may result in a possibl upgrade
being missed.

This commit updates the library-specific support to use the
maximum (most permissive) upgrade policy so that possible upgrades
are not hidden by a less permissive library-specific policy.

See gh-46369
2025-07-23 07:03:38 +01:00
Stéphane Nicoll 17ee49be2e Stop using repo.spring.io/milestone
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
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
2025-07-14 15:57:47 +02:00
Andy Wilkinson f98492a663 Merge branch '3.5.x'
Closes gh-46413
2025-07-14 09:36:32 +01:00
Andy Wilkinson 79cb5b8d45 Merge branch '3.4.x' into 3.5.x
Closes gh-46412
2025-07-14 09:36:18 +01:00
Andy Wilkinson cc0aa831da Add support for per-library upgrade policies
Closes gh-46369
2025-07-12 08:42:45 +01:00
Phillip Webb decc32dde3 Restructure project directories to better fit Gradle
Closes gh-46358
2025-07-10 17:54:08 -07:00
Phillip Webb 29f0a412c5 Merge branch '3.5.x'
Closes gh-46354
2025-07-08 13:19:13 -07:00