Commit Graph

475 Commits

Author SHA1 Message Date
Moritz Halbritter
7d68b58c8f Load auto-configurations from META-INF/spring-boot
Implements a new AutoConfigurationLoader, which loads
auto-configurations from a file in META-INF/spring-boot.

Adapts the AutoConfigurationImportSelector to use the new loader.

Adapts the ImportAutoConfigurationImportSelector to use the new loader.

Adapts the metadata plugin in the build to additionally load the
auto-configurations from the new file.

Updates the documentation for auto-configurations and test slices.

Closes gh-29872
2022-02-17 09:17:23 +01:00
Moritz Halbritter
8e99788fc8 Migrate auto-configurations to @AutoConfiguration
Closes gh-29871
2022-02-16 13:55:16 +01:00
Stephane Nicoll
f812b33cbd Merge branch '2.6.x' into 2.7.x
Closes gh-29613
2022-02-01 11:07:31 +01:00
Stephane Nicoll
136b5959c3 Merge branch '2.5.x' into 2.6.x
Closes gh-29612
2022-02-01 10:59:08 +01:00
Stephane Nicoll
7f17f819a6 Polish "Enforce use of BDDMockito"
See gh-29178
2022-02-01 10:03:18 +01:00
Yanming Zhou
b49418aaaf Enforce use of BDDMockito
1. Replace Mockito.verify*() with BDDMockito.then()
2. Replace Mockito.doReturn() with BDDMockito.willReturn()
3. Adjust checkstyle rule

See gh-29178
2022-02-01 09:37:15 +01:00
Stephane Nicoll
7bebfd06b8 Merge branch '2.6.x' into 2.7.x
Closes gh-29601
2022-01-31 16:24:40 +01:00
Stephane Nicoll
f1dc7e7b78 Merge branch '2.5.x' into 2.6.x
Closes gh-29600
2022-01-31 16:24:29 +01:00
Stephane Nicoll
0d78ff0657 Polish "Use a timeout when joining threads in HttpTunnelServerTests"
See gh-29522
2022-01-31 16:22:28 +01:00
Leo Li
940d969c7c Use a timeout when joining threads in HttpTunnelServerTests
See gh-29522
2022-01-31 16:01:04 +01:00
Phillip Webb
b25e92f3e2 Merge branch '2.6.x' into 2.7.x 2022-01-04 12:24:34 -08:00
Phillip Webb
f09bde2b60 Merge branch '2.6.x' into 2.7.x 2022-01-04 12:20:31 -08:00
Stephane Nicoll
b81c0047f8 Polish "Log the reason that led Devtools to restart the app"
See gh-28495
2022-01-03 14:48:39 +01:00
Artur Signell
0769b33e2e Log the reason that led Devtools to restart the app
See gh-28495
2022-01-03 14:25:12 +01:00
Brian Clozel
ce6747ccd6 Enable GraphiQL UI by default with Devtools
GraphiQL is useful when working on a GraphQL API - it allows
developers to craft queries and test newly developed feature. This
is not enabled by default, as this should not be exposed in production
without the developer's knowledge.

This commit flips this value when Spring Boot devtools is active for a
better developer experience.

See gh-29140
2021-12-21 08:33:31 +01:00
Scott Frederick
4eed637481 Merge branch '2.5.x'
Closes gh-28789
2021-11-23 12:45:46 -06:00
Scott Frederick
12244a8edd Remove use of Thymeleaf from smoke tests
Closes gh-28788
2021-11-23 12:13:05 -06:00
Andy Wilkinson
2a342ef416 Merge branch '2.5.x'
Closes gh-28662
2021-11-12 23:40:35 +00:00
Andy Wilkinson
5e4a502b2d Merge branch '2.4.x' into 2.5.x
Closes gh-28661
2021-11-12 20:31:25 +00:00
Andy Wilkinson
2cec3971d7 Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
2021-11-12 20:04:35 +00:00
Leo Li
73e9c355f1 Polish
See gh-28501
2021-11-02 09:05:44 +01:00
Andy Wilkinson
b9f0ec5df8 Merge branch '2.5.x'
Closes gh-28443
2021-10-22 15:48:43 +01:00
Andy Wilkinson
4d811f66ec Merge branch '2.4.x' into 2.5.x
Closes gh-28442
2021-10-22 15:48:28 +01:00
Andy Wilkinson
7607587b6c Stabilize liveReloadOnClassPathChanged()
Closes gh-28441
2021-10-22 15:47:51 +01:00
Andy Wilkinson
14fb9c437d Merge branch '2.5.x'
See gh-28377
2021-10-19 11:03:51 +01:00
Andy Wilkinson
bc2bf840b4 Fix conditions on DevToolsR2dbcAutoConfiguration
See gh-28345
2021-10-19 11:03:20 +01:00
Phillip Webb
04123e0a0e Merge branch '2.5.x'
Closes gh-28377
2021-10-18 21:47:07 -07:00
Phillip Webb
b93a629dbe Shutdown in-memory R2DBC databases before devtools restart
Add `DevToolsR2dbcAutoConfiguration` to automatically shutdown in-memory
R2DBC databases before restarting. Prior to this commit, restarts that
involved SQL initialization scripts could fail due to dirty database
content.

The `DevToolsR2dbcAutoConfiguration` class is similar in design to
`DevToolsDataSourceAutoConfiguration`, but it applies to both pooled
and non-pooled connection factories. The `DataSource` variant does not
need to deal with non-pooled connections due to the fact that
`EmbeddedDataSourceConfiguration` calls `EmbeddedDatabase.shutdown`
as a `destroyMethod`. With R2DB we don't have an `EmbeddedDatabase`
equivalent so we can always trigger a shutdown for devtools.

Fixes gh-28345
2021-10-18 21:46:12 -07:00
Leo Li
1770f065a5 Polish
See gh-28239
2021-10-13 09:07:33 +02:00
Andy Wilkinson
48b1175559 Merge branch '2.5.x'
Closes gh-28263
2021-10-08 12:39:45 +01:00
Andy Wilkinson
d47260637b Merge branch '2.4.x' into 2.5.x
Closes gh-28262
2021-10-08 12:39:17 +01:00
Andy Wilkinson
c5d45585d9 Remove unnecessary overrides of finalize
Closes gh-28209
2021-10-08 12:39:00 +01:00
Phillip Webb
55a1ec72cc Update copyright year of changed files 2021-09-21 11:25:50 -07:00
dreis2211
cf0fcafd13 Polish
See gh-27940
2021-09-21 08:08:29 +02:00
Stephane Nicoll
c62a6819fe Polish "Add startup time metrics"
See gh-27878
2021-09-16 13:33:08 +02:00
bono007
2e67963bfe Add startup time metrics
See gh-27878
2021-09-16 13:19:20 +02:00
Andy Wilkinson
2dfdcf5e88 Merge branch '2.5.x'
Closes gh-27754
2021-08-18 13:52:23 +01:00
Andy Wilkinson
0d904b8868 Merge branch '2.4.x' into 2.5.x
Closes gh-27753
2021-08-18 13:51:49 +01:00
Andy Wilkinson
0b7994a679 Polish "Use 2012 for copyright beginning year"
See gh-27734
2021-08-18 13:48:29 +01:00
Andy Wilkinson
1bca2bbc85 Merge branch '2.5.x'
Closes gh-27511
2021-07-27 14:37:30 +01:00
Andy Wilkinson
30f63cc0cf Merge branch '2.4.x' into 2.5.x
Closes gh-27510
2021-07-27 14:37:16 +01:00
Andy Wilkinson
ade922baec Stabilize LiveReloadServerTests
Closes gh-27503
2021-07-27 14:36:31 +01:00
Andy Wilkinson
3ff20ed4d9 Merge branch '2.5.x'
Closes gh-27485
2021-07-24 09:44:35 +01:00
Andy Wilkinson
dead33a90a Merge branch '2.4.x' into 2.5.x
Closes gh-27484
2021-07-24 09:44:18 +01:00
Andy Wilkinson
cff1827e27 Stabilize socketChannelClosedTriggersTunnelClose
Closes gh-27483
2021-07-24 09:43:41 +01:00
Phillip Webb
7e9ac39f0d Update copyright year of changed files 2021-07-22 09:50:37 -07:00
Andy Wilkinson
c211c971f1 Polishing
Closes gh-27429
2021-07-21 11:07:15 +01:00
Andy Wilkinson
8e7a6ceb44 Polish "Make dev tools' home directory configurable"
See gh-17924
2021-07-19 17:56:34 +01:00
sfeldstein
b9dbfad473 Make dev tools' home directory configurable
This allows separate projects to keep their own settings where common
settings such as spring.* or server.* don't conflict.

See gh-17924
2021-07-19 17:56:34 +01:00
Stephane Nicoll
dc5acb0019 Remove deprecated code flagged for removal
Closes gh-27303
2021-07-14 11:50:01 +02:00
Phillip Webb
f32f4a2e3d Merge branch '2.4.x' into 2.5.x
Closes gh-27204
2021-07-08 11:36:25 -07:00
Phillip Webb
84110a22bc Don't change case of 'Sec-WebSocket-Key'
Polish commit 5ca687c9a6 had an accidental side-effect of changing
the 'Sec-WebSocket-Key' header value to lowercase. This breaks
connections since the value needs to be echoed unchanged in the
"Sec-WebSocket-Accept" header.

Fixes gh-27147
2021-07-08 11:29:29 -07:00
Phillip Webb
a76e5c043e Update copyright year of changed files 2021-06-23 21:01:45 -07:00
Phillip Webb
b75c79cc7c Merge branch '2.4.x' into 2.5.x
Closes gh-26919
2021-06-15 17:30:31 -07:00
Phillip Webb
5ca687c9a6 Polish 'Make livereload websocket headers case insensitive'
See gh-26813

Closes gh-26813
2021-06-15 17:29:45 -07:00
Francis Lavoie
8755512719 Make livereload websocket headers case insensitive
Update livereload `Connection` handling code so that websocket headers
are no longer case sensitive.

See gh-26813
2021-06-15 16:50:34 -07:00
Andy Wilkinson
44187bc6bf Merge branch '2.4.x' into 2.5.x
See gh-26901
2021-06-15 20:01:01 +01:00
Andy Wilkinson
7ba575d392 Prevent RestarterTests.testRestart from triggering unwanted restarts
See gh-26900
2021-06-15 19:59:37 +01:00
Andy Wilkinson
017ba504d7 Merge branch '2.4.x' into 2.5.x
Closes gh-26901
2021-06-14 19:16:10 +01:00
Andy Wilkinson
32effdba0a Try to stabilize RestarterTests.testRestart
Closes gh-26900
2021-06-14 19:15:09 +01:00
Andy Wilkinson
5de5390ef9 Merge branch '2.4.x' into 2.5.x
Closes gh-26889
2021-06-14 11:05:53 +01:00
Andy Wilkinson
c89430e174 Try to stabilize httpConnectionsAreClosedAfterLongPollTimeout
Closes gh-26888
2021-06-14 11:04:23 +01:00
Andy Wilkinson
3858c6299d Merge branch '2.4.x' into 2.5.x
Closes gh-26886
2021-06-14 10:52:53 +01:00
Andy Wilkinson
7a14a53250 Try to stabilize TunnelClientTests.addListener()
Closes gh-26885
2021-06-14 10:52:12 +01:00
Andy Wilkinson
0ab7144bf1 Merge branch '2.4.x' into 2.5.x
Closes gh-26870
2021-06-11 15:55:31 +01:00
Andy Wilkinson
608c4509f8 Try to stabilise SocketTargetServerConnectionTests
Closes gh-26857
2021-06-11 15:55:01 +01:00
Andy Wilkinson
00b9e7f498 Merge branch '2.4.x' into 2.5.x
Closes gh-26868
2021-06-11 15:49:57 +01:00
Andy Wilkinson
186658cc12 Attempt to stabilize stopTriggersTunnelClose
Closes gh-26856
2021-06-11 15:48:50 +01:00
Stephane Nicoll
d3c817b7ba Polish "Remove unnecessary throws declaration in tests"
See gh-26441
2021-05-17 09:36:53 +02:00
weixsun
8a2be288a3 Remove unnecessary throws declaration in tests
See gh-26441
2021-05-17 09:31:51 +02:00
Andy Wilkinson
a164658dab Merge branch '2.4.x'
Closes gh-26349
2021-05-04 09:46:23 +01:00
Andy Wilkinson
cb1af35dde Merge branch '2.3.x' into 2.4.x
Closes gh-26348
2021-05-04 09:46:01 +01:00
Andy Wilkinson
6440843358 Do not wait indefinitely in initialize test if refresh fails
Closes gh-26286
2021-05-04 09:44:56 +01:00
Andy Wilkinson
048463742d Merge branch '2.4.x'
See gh-25985
2021-04-09 15:06:13 +01:00
Andy Wilkinson
06168bb130 Polish FileSystemWatcherTests
See gh-25982
2021-04-09 15:05:29 +01:00
Andy Wilkinson
91473cc326 Merge branch '2.4.x'
Closes gh-25983
2021-04-09 14:40:56 +01:00
Andy Wilkinson
638aa87d13 Merge branch '2.3.x' into 2.4.x
Closes gh-25982
2021-04-09 14:40:34 +01:00
Andy Wilkinson
02e6b7c89c Make FileSystemWatcherTests more robust
Previously, several tests in FileSystemWatcherTests assumed that all
of the changes detected by the watcher would be grouped into a single
change set. This assumption breaks down when a test runs slowly (due
to CPU or IO contention, for example), and making changes to the file
system takes long then the watcher's polling interval. When this
happens, the changes will be split across two (or more).

This commit attempts to make the tests more robust. The tests now
tolerate multiple changes sets by combining them and asserting that
across the n change sets, only the expected changes were detected.

Closes gh-25901
2021-04-09 14:35:41 +01:00
Andy Wilkinson
22b02a6c6f Merge branch '2.4.x'
Closes gh-25823
2021-03-29 14:39:17 +01:00
Andy Wilkinson
a025f3d252 Merge branch '2.3.x' into 2.4.x
Closes gh-25822
2021-03-29 14:38:38 +01:00
Andy Wilkinson
896f20e1d3 Improve diagnostics of ClassPathFileSystemWatcherTests
Closes gh-25821
2021-03-29 14:37:25 +01:00
Phillip Webb
11a94ee6f0 Merge branch '2.3.x' into 2.4.x 2021-03-23 12:52:07 -07:00
Andy Wilkinson
b5843cfd4d Merge branch '2.4.x' 2021-03-11 15:46:55 +00:00
Andy Wilkinson
24d729ee3b Close ClassLoader so jar it references can be deleted on Windows
Polishes 952ac7b8
2021-03-11 15:44:52 +00:00
Andy Wilkinson
29ba18afec Merge branch '2.4.x'
Closes gh-25584
Fixes gh-25367 in 2.5.x
2021-03-10 17:13:07 +00:00
Andy Wilkinson
952ac7b8d2 Don't use RestartClassLoader when proxying classes it did not load
Fixes gh-19010
Fixes gh-25367
2021-03-10 17:12:38 +00:00
Phillip Webb
a1dc107144 Update copyright year of changed files 2021-02-18 16:23:56 -08:00
Madhura Bhave
29ab9fd596 Merge branch '2.4.x'
Closes gh-25351
2021-02-17 15:28:34 -08:00
Madhura Bhave
b5e1787641 Make devtools securityFilterChain back-off in presence of WebSecurityConfigurerAdapter
Fixes gh-25147
2021-02-17 15:26:11 -08:00
Stephane Nicoll
ca9b583c7d Merge branch '2.4.x'
Closes gh-25271
2021-02-14 09:37:49 +01:00
Stephane Nicoll
61e9d04c68 Update copyright of changes files
See gh-25266
2021-02-14 09:35:36 +01:00
izeye
f48893def5 Polish 2021-02-14 09:34:30 +01:00
Stephane Nicoll
5017d59d56 Merge branch '2.4.x'
Closes gh-25184
2021-02-11 13:55:42 +01:00
Stephane Nicoll
75fc896321 Avoid Illegal reflective access warnings with devtools
This commit improves RestartClassLoader to use a method introduced in
SmartClassLoader to avoid triggering a warning on Java 11 and later.

See https://github.com/spring-projects/spring-framework/issues/26403

Closes gh-24857
2021-02-11 13:55:10 +01:00
Andy Wilkinson
db781a0d84 Merge branch '2.4.x'
See gh-25077
2021-02-02 15:14:18 +00:00
Andy Wilkinson
788a42d694 Merge branch '2.3.x' into 2.4.x
See gh-25076
2021-02-02 15:12:27 +00:00
Andy Wilkinson
67479b6380 Add junit-platform-launcher dependency by convention
Closes gh-25074
2021-02-02 13:03:21 +00:00
Andy Wilkinson
f2ebf10a4a Merge branch '2.4.x'
Closes gh-24800
2021-01-13 11:14:58 +00:00
Andy Wilkinson
a95a7e3d40 Allow restart to be enabled when CL not named AppClassLoader
Previously, the restart initializer that enables restart when
-Dspring.devtools.restart.enabled=true is set had no effect when the
ClassLoader's name did not contain AppClassLoader. This commit updates
RestartApplicationListener to use the correct RestartInitializer when
the system property has forcibly enabled restart.

When restart is enabled a SilentExitException is thrown and it should be
caught and handled by the SilentExitExceptionHandler. When the
application is invoked via one of the loader's LauncherClasses
reflection is used and this exception becomes wrapped in an
InvocationTargetEception. Previously, this wrapping prevented
SilentExitExceptionHandler from handling the exception. This commit
updates the handler to look for an InvocationTargetException with a
SilentExitException target in addition to continuing to look for a
SilentExitException directly.

Fixes gh-24797
2021-01-13 10:12:12 +00:00
Stephane Nicoll
e4618cfb8d Delete ErrorProperties.IncludeStacktrace
Closes gh-21286
2020-12-24 10:35:04 +01:00