Commit Graph

25077 Commits

Author SHA1 Message Date
Sam Brannen
d883c8fbb3 Polishing 2022-09-10 19:24:34 +02:00
Sam Brannen
b429d6b5a6 Filter AOT end-to-end tests like in the actual build 2022-09-10 19:24:34 +02:00
Stephane Nicoll
70db83ac3a Merge branch '5.3.x' 2022-09-10 09:53:41 +02:00
Stephane Nicoll
081d70123e Start building against Reactor 2020.0.23 snapshots
See gh-29129
2022-09-10 09:44:11 +02:00
Stephane Nicoll
6927482b9c Start building against Reactor 2022.0.0-M6 snapshots
See gh-29128
2022-09-10 09:42:04 +02:00
Patrick Strawderman
cdb38e8482 Increase StreamUtils.BUFFER_SIZE to 8192
This aligns the buffer size used in StreamUtils with the buffer sizes
used throughout the JDK (see InputStream, BufferedInputStream, Files).

Closes gh-28965
2022-09-09 22:04:10 +02:00
Brian Clozel
c8ef2b2202 Upgrade Java versions in CI image 2022-09-09 20:45:27 +02:00
Brian Clozel
2b5ca63339 Fix serialization compiler warnings with Java 18
As of Java 18, the serial lint warning in javac has been expanded to
check for class fields that are not marked as `Serializable`.
See https://www.oracle.com/java/technologies/javase/18all-relnotes.html#JDK-8202056

In the Spring Framework codebase, this can happen with `Map`, `Set` or
`List` attributes which are often assigned with an unmodifiable
implementation variant. Such implementations are `Serializable` but
cannot be used as field types.

This commit ensures that the following changes are applied:
* fields are marked as transient if they can't be serialized
* classes are marked as `Serializable` if this was missing
* `@SuppressWarnings("serial")` is applied where relevant
2022-09-09 20:24:26 +02:00
Brian Clozel
82a4e374a1 Temporarily disable ORM tests on Java 18
This commit disables some ORM tests based on
`AbstractEntityManagerFactoryBeanTests` as those fail when the main
source set is built with Java 17 and tests are executed with Java 18.
2022-09-09 20:23:05 +02:00
Brian Clozel
21612eba19 Disable BlockHound tests on Java 18+
BlockHound is not currently compatible with Java 18.
2022-09-09 20:22:16 +02:00
Brian Clozel
1051fe7bee Improve InvocableHandlerMethod error handling
This commit improves the fix for gh-18491 for Java 18 as in this case
the exception message might not be null.
2022-09-09 20:20:29 +02:00
Brian Clozel
1dc3d5d2d6 Make HttpStatusCode extend Serializable
`HttpStatusCode` instance only hold an int value and are held by
`Serializable` classes, so this commit enforces this.

Without this change, Java 19+ will emit a compiler warning as
`Serializable` classes use `HttpStatusCode` as a field.
2022-09-09 19:56:00 +02:00
Brian Clozel
a09811e73a Upgrade to HSQLDB 2.7.0 2022-09-09 19:55:26 +02:00
Phillip Webb
665deb4d82 Add examples to Javadoc for Throwing*.of factory methods
Closes gh-28969
2022-09-09 09:33:50 -07:00
Sam Brannen
1228f1cb58 Polishing 2022-09-09 18:32:38 +02:00
Sam Brannen
ae864eb642 Introduce @Disabled end-to-end AOT tests for the spring-test module
This commit introduces endToEndTestsForEntireSpringTestModule() in
AotIntegrationTests to allow us to periodically check on our AOT
support.

Status quo:

- several test classes cannot be processed for AOT due to exceptions
  thrown during processing
- some generated classes fail to compile
- some tests fail

See gh-29122
2022-09-09 17:42:18 +02:00
Sam Brannen
94ff519072 Test JUnit 4, JUnit Jupiter, & TestNG in AotIntegrationTests
With this commit we also now assert the number of successfully
executed tests.
2022-09-09 17:15:54 +02:00
Sam Brannen
93049f98ee Support TestNG with @CompileWithTargetClassAccess 2022-09-09 17:04:52 +02:00
Sam Brannen
4e9fad7514 Revise TestAotProcessorTests to rely on Path APIs
Instead of String comparisons, assertions are now based on Path
comparisons.

See gh-29103
2022-09-09 16:57:01 +02:00
Sam Brannen
d21d7fd6d0 Polishing 2022-09-09 16:08:19 +02:00
Stephane Nicoll
6f5344ab5c Polish 2022-09-09 11:40:09 +02:00
Stephane Nicoll
2d4f308cc1 Provide more context when the code of a value cannot be generated
Closes gh-29118
2022-09-09 11:40:09 +02:00
Brian Clozel
c72c2ffc26 Polish
See gh-29114
2022-09-09 11:22:21 +02:00
Nheyll
058109315d Deprecate support for theme
As seen in gh-28868, the support for Themes is now deprecated as of
Spring Framework 6.0 and will be removed in a future release.

Closes gh-29114
2022-09-09 11:22:21 +02:00
Sébastien Deleuze
5e1b5af0e0 Register hints for types exposed via PersistenceManagedTypes
Add binding hints for managed types and hints for
@EntityListeners, @IdClass and @Converter.

Closes gh-29096
2022-09-09 11:12:12 +02:00
rstoyanchev
d373435856 Support for WebFlux on Reactor Netty 2 with Netty 5
See gh-28847
2022-09-08 21:54:46 +01:00
Sébastien Deleuze
d6c49eec5a Polish WebUtilRuntimeHints
See gh-29112
2022-09-08 18:24:02 +02:00
Sébastien Deleuze
bfa803baa4 Add resource hints for HtmlCharacterEntityReferences.properties
Closes gh-29112
2022-09-08 18:00:58 +02:00
Sam Brannen
b1654266a5 Get rid of warnings in tests 2022-09-08 13:20:29 +02:00
Sam Brannen
261124f497 Remove flaky executesHugeScriptInReasonableTime() tests
These tests often fail on the CI server and do not provide any
meaningful information when they fail, since only a proper benchmark
would suffice. Furthermore, the test method was introduced 10 years
ago to address deficiencies in JDK 7 which no longer exist.

See gh-14415
2022-09-08 13:18:05 +02:00
Sam Brannen
f5bc182ba7 Rename AotTestMappings to TestAotMappings
This provides consistency with other classes in the aot package,
leaving only extended core interfaces starting with the `Aot` prefix.
2022-09-08 13:04:29 +02:00
Sam Brannen
d46a816745 Remove deprecated SynthesizedAnnotation interface
The SynthesizedAnnotation interface is no longer used in the core
Spring Framework and should not be used by external parties either.

Closes gh-29092
2022-09-08 12:12:51 +02:00
Sam Brannen
8a0e1969b0 Revert "Introduce isSynthesizable in MergedAnnotation"
This reverts commit 32346b8382.

Closes gh-29093
2022-09-08 12:12:51 +02:00
Sam Brannen
75dfd47826 Delete unused code in ReflectionHintsPredicatesTests 2022-09-08 12:12:51 +02:00
Sam Brannen
3f288eea17 Fix TestAotProcessorTests on MS Windows
Closes gh-29103
2022-09-08 11:50:25 +02:00
Stephane Nicoll
b88695a36e Merge branch '5.3.x' 2022-09-08 10:58:01 +02:00
Stephane Nicoll
d9c2ccb4b3 Upgrade Ubuntu version in CI image
Closes gh-29106
2022-09-08 10:57:36 +02:00
Sébastien Deleuze
e1c94d7e6b Remove obsolete RuntimeHintsUtils
Closes gh-29058
2022-09-08 09:25:09 +02:00
Stephane Nicoll
52a190f96f Merge branch '5.3.x' 2022-09-08 09:04:23 +02:00
Stephane Nicoll
c503f356c7 Merge pull request #29104 from boahc077
* pr/29104:
  Restrict permissions for GitHub action

Closes gh-29104
2022-09-08 09:04:15 +02:00
Ashish Kurmi
7f9933fdb7 Restrict permissions for GitHub action
See gh-29104
2022-09-08 09:03:47 +02:00
rstoyanchev
f669e957a9 Polishing 2022-09-07 17:38:31 +01:00
Brian Clozel
616161f054 Merge branch '5.3.x' 2022-09-07 16:58:56 +02:00
Sam Brannen
26d2f7d12b Delete unused import 2022-09-07 16:55:20 +02:00
rstoyanchev
fdfa7cbae6 Add docs for RSocket interface client
Closes gh-24456
2022-09-07 15:01:40 +01:00
rstoyanchev
8423b2cab7 Add support for RSocket interface client
See gh-24456
2022-09-07 15:01:40 +01:00
Sam Brannen
ae861a2b3e Document leading slash semantics for ClassPathResource.getPath()
See gh-29094
2022-09-07 15:28:35 +02:00
Sam Brannen
0395fb4f5f Polish tests 2022-09-07 15:12:15 +02:00
Brian Clozel
a425512025 Polish
See gh-29050
2022-09-07 15:02:10 +02:00
Kevin Yue
298c9a6f1b Redirect response wrapper should commit response
This commit ensures that when using `sendRedirect`, the response wrapper
behaves correctly with regards to the Servlet specification:

1. reset the response buffer to clear any partially written response
2. set the expected response HTTP headers
3. flush the buffer to commit the response

Closes gh-29050
2022-09-07 14:59:15 +02:00