Commit Graph

3563 Commits

Author SHA1 Message Date
Scott Frederick d25a99692f Replace Spring Boot TestCompiler with Spring Framework's version
See gh-31266
2022-09-30 15:58:11 -05:00
Phillip Webb 8b2fd6a05a Fix formatting 2022-09-30 12:00:14 -07:00
Phillip Webb 63f6d872e0 Test addAotGeneratedInitializerIfNecessary logic
Closes gh-32555
2022-09-30 11:24:04 -07:00
Stephane Nicoll e2dd0ef9a4 Adapt AotProcessor to changes in Spring Framework
Closes gh-32560
2022-09-30 16:47:03 +02:00
Andy Wilkinson 51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2022-09-30 14:39:05 +01:00
Stephane Nicoll f0e40bb00d Avoid NoSuchMethodError by assigning ApplicationContextInitializer
See gh-32555
2022-09-30 10:54:35 +02:00
Phillip Webb 7a5b61fd19 Replace AotApplicationContextInitializer with Framework version 2022-09-29 16:37:26 -07:00
Brian Clozel a0735eb3fb Migrate remaining usage of httpclient API
This commit migrates our remaining usage of the httpclient 4.x to use
instead httpclient5, now that the 4.x support has been removed in
`RestTemplate`.

Closes gh-32461
2022-09-29 18:55:42 +02:00
Brian Clozel 3ac034e18a Fail when setReadTimeout on httpclient5 request factory
Prior to this commit, the `RestTemplateBuilder` would offer a generic
`setReadTimeout` method to configure the read timeout on the underlying
`ClientHttpRequestFactory`. This would be done in a reflective fashion,
considering that all implementations align with this behavior.

This option cannot be provided for HttpClient5 at the
`ClientHttpRequestFactory` level anymore, so this has been deprecated
in Spring Framework 6.0 and will log a warning. In order to align with
our existing behavior (throwing exceptions if the option cannot be set),
this commit ensures that exceptions are also thrown if the method is
marked as deprecated.

See gh-32461
2022-09-29 18:55:41 +02:00
Brian Clozel 58f3054624 Adapt RestTemplate factory auto-detection
This commit adapts the auto-detection of `ClientHttpRequestFactory` to
look for an httpclient5 class.

See gh-32461
2022-09-29 18:55:41 +02:00
Brian Clozel 5fb2a50ad0 Adapt build dependencies to httpclient5
As htttpclient 4.x is not supported anymore by `RestTemplate`, this
commit changes such dependencies to httpclient5 instead. In some cases,
the httpclient 4.x was transitively brought by a non-Spring dependency.

See gh-32461
2022-09-29 18:55:41 +02:00
Stephane Nicoll 3702c71fc1 Adapt to Spring AOT changes 2022-09-29 18:55:41 +02:00
Andy Wilkinson 17953eeb33 Merge branch '2.7.x'
Closes gh-32544
2022-09-29 11:41:15 +01:00
Andy Wilkinson 3ef633b096 Merge branch '2.6.x' into 2.7.x
Closes gh-32543
2022-09-29 11:39:42 +01:00
Andy Wilkinson 84a25c7dcf Configure Log4j2 classpath overrides consistently
Closes gh-32537
2022-09-29 11:25:21 +01:00
Andy Wilkinson 0bfa9cd704 Upgrade to Logback 1.4 and SLF4J 2.0
Closes gh-12649
2022-09-28 21:14:08 +01:00
Brian Clozel bf5bd4f91c Upgrade to SnakeYAML 1.33
Closes gh-32522
2022-09-27 14:51:04 +02:00
Stephane Nicoll f6f545dbf1 Merge branch '2.7.x'
Closes gh-32510
2022-09-27 08:28:40 +02:00
Stephane Nicoll 33680e5acc Merge branch '2.6.x' into 2.7.x
Closes gh-32509
2022-09-27 08:28:15 +02:00
Stephane Nicoll 0457536d72 Polish "Avoid using JUnit 4 assertions"
See gh-32504
2022-09-27 08:24:03 +02:00
dreis2211 cee353fba6 Avoid using JUnit 4 assertions
See gh-32504
2022-09-27 08:11:47 +02:00
Johnny Lim 7f36fb155d Polish JavaVersionTests.currentJavaVersionNineteen()
See gh-32489
2022-09-23 17:25:12 +02:00
Andy Wilkinson 26eff5ae7a Publish ApplicationPreparedEvent before AOT processing abandons run 2022-09-23 12:02:25 +01:00
Scott Frederick 08022ba86e Remove support for locating imports using spring.factories
With this commit, loading `@AutoConfiguration`,
`@ImportAutoConfiguration`, and `@ManagementContextConfiguration`
classes is supported with `.imports` files only. Support for loading
these classes with `spring.factories` is removed.

Closes gh-29699
2022-09-21 17:34:51 -05:00
Andy Wilkinson 6b8575b001 Fix constructor binding to Kotlin data class with default values
Closes gh-32416
2022-09-21 21:35:47 +01:00
Andy Wilkinson 52522b87f0 Merge branch '2.6.x' into 2.7.x
Closes gh-32393
2022-09-15 11:57:28 +01:00
Andy Wilkinson 77f428498f Compile against SnakeYAML 1.32 and test against older versions
Closes gh-32392
2022-09-15 11:55:44 +01:00
Phillip Webb 4d037c3003 Update SpringBootContextLoader to support AOT
Update `SpringBootContextLoader` so that it now implements the
`AotContextLoader` interface. The `ContextLoaderHook` will abandon
at `contextLoaded` if the test class is being AOT processed.

This commit also introduces a new `AotApplicationContextInitializer`
which allows us to plug-in an alternative AOT application context
listener when the `SpringApplication` is running in test mode.

Closes gh-31965
2022-09-14 22:37:47 -07:00
Phillip Webb d3957dfa3e Provide a public API for SpringApplication hooks
Create a new public SpringApplication Hook API based on the existing
`SpringApplicationRunListener` interface.

The previous package-private `SpringApplicationHooks` class has been
replaced with a public `SpringApplicationHook` interface which acts as
a factory that can create additional `SpringApplicationRunListener`
instances to hook in.

The boolean result from the previous `preRefresh` method has been
replaced with an `AbandonedRunException` which can be thrown from
the `SpringApplicationRunListener`.

Closes gh-32301
2022-09-14 22:34:50 -07:00
Phillip Webb 88913b11ce Allow additional listeners registration in early events
Update `EventPublishingRunListener` so that event listeners may add
additional listeners to the `SpringApplication` during early events.

Prior to this commit, the listeners were collected only once which
meant that if a listener for an `ApplicationStartingEvent` called
`application.addListener(...)`, it would be ignored.

Closes gh-32300
2022-09-14 22:34:39 -07:00
Phillip Webb 6955ed9dcf Make EventPublishingRunListener package private
Closes gh-32299
2022-09-14 13:50:27 -07:00
Stephane Nicoll 6fb70d143d Map R2DBC Pool 'minIdle' property
Closes gh-32332
2022-09-14 13:56:44 +02:00
Stephane Nicoll d4a88041dc Upgrade to R2DBC Bom Borca-SR2
Closes gh-32328
2022-09-14 11:01:19 +02:00
Andy Wilkinson 421943f3cf Add reflection hints for retrieving Undertow's ports
Closes gh-32303
2022-09-13 12:13:06 +01:00
Johnny Lim 4cbabc40b3 Polish MimeMappings changes
See gh-32298
2022-09-12 17:59:06 +02:00
Stephane Nicoll 26cec61f32 Adapt to API change in Spring Framework
See https://github.com/spring-projects/spring-framework/issues/29135
2022-09-12 15:39:03 +02:00
Andy Wilkinson aafceb3868 Merge branch '2.7.x'
Closes gh-32285
2022-09-09 16:47:06 +01:00
Andy Wilkinson f17df7bf30 Merge branch '2.6.x' into 2.7.x
Closes gh-32284
2022-09-09 16:46:43 +01:00
Andy Wilkinson 23c2f73b3f Update tests to allow them to run on Java 19
Closes gh-32280
2022-09-09 16:46:14 +01:00
Phillip Webb 46be4a3f30 Merge branch '2.7.x' 2022-09-08 19:38:18 -07:00
Phillip Webb e88a682220 Merge branch '2.6.x' into 2.7.x 2022-09-08 19:37:52 -07:00
Phillip Webb 85697ac482 Update copyright year of changed files 2022-09-08 19:36:59 -07:00
Phillip Webb 127d320636 Refactor code to work around Eclipse compiler bug
Refactor code to work around the Eclipse compiler bug reported at
https://github.com/eclipse-jdt/eclipse.jdt.core/issues/378

Closes gh-32264
2022-09-08 19:10:30 -07:00
Andy Wilkinson e112657e1a Merge branch '2.7.x'
Closes gh-32261
2022-09-08 15:30:01 +01:00
Andy Wilkinson 020e6dd3f1 Merge branch '2.6.x' into 2.7.x
Closes gh-32260
2022-09-08 15:28:08 +01:00
Andy Wilkinson 280ce6390a Add NINETEEN to JavaVersion enum
Closes gh-32226
2022-09-08 15:25:34 +01:00
Johnny Lim 2273191c03 Polish
See gh-32215
2022-09-07 08:48:08 +02:00
Stephane Nicoll cfdceba687 Merge branch '2.7.x'
Closes gh-32245
2022-09-07 08:45:29 +02:00
Stephane Nicoll 9ef067d589 Merge branch '2.6.x' into 2.7.x
Closes gh-32244
2022-09-07 08:45:19 +02:00
valentine-dev 89e19ddab9 Support lower-case input in PeriodStyle
See gh-32235
2022-09-07 08:40:16 +02:00
Stephane Nicoll e5d0e34268 Adapt to recent changes in Spring Framework
See https://github.com/spring-projects/spring-framework/issues/29082
See https://github.com/spring-projects/spring-framework/issues/28877
2022-09-05 18:23:05 +02:00
Andy Wilkinson 2dd2ca8f08 Merge branch '2.7.x'
Closes gh-32232
2022-09-05 15:42:43 +01:00
Andy Wilkinson 2003cfdd43 Merge branch '2.6.x' into 2.7.x
Closes gh-32231
2022-09-05 15:42:28 +01:00
Andy Wilkinson bc23e70024 Polish "Support lower-case input in DurationStyle"
See gh-32223
2022-09-05 14:53:50 +01:00
valentine-dev c579c9378b Support lower-case input in DurationStyle
See gh-32223
2022-09-05 14:53:29 +01:00
Brian Clozel 0789dd0eb1 Upgrade to SnakeYaml 1.31
Closes gh-32221
2022-09-05 14:30:36 +02:00
Brian Clozel cca5ee8a89 Merge branch '2.6.x' into 2.7.x
Closes gh-32229
2022-09-05 14:24:06 +02:00
Brian Clozel 724f9ebf71 Support SnakeYaml 1.31
This commit keeps the managed dependency for SnakeYaml at 1.29 but
enables forward compatibility for SnakeYaml 1.31.

Closes gh-32228
2022-09-05 14:22:24 +02:00
Andy Wilkinson d6e9a03136 Adapt to synthesized annotation changes in Framework 2022-09-02 17:01:51 +01:00
Phillip Webb 44f1949c5e Polish hint API calls 2022-09-01 19:43:43 -07:00
Sébastien Deleuze 138c55ee11 Refine ConfigurationPropertiesReflectionHintsProcessor
This commit refines ConfigurationPropertiesReflectionHintsProcessor
Java bean properties handling in order to register reflection hints
only for getters and setters, not for all methods.

It avoids including unconditionally method like SpringApplication#load
which in turn avoids shipping BeanDefinitionLoader and related transitively
used classes in the native image.

The gain is significant: it allows to remove up to 700 classes
(when no XML parser is used elsewhere) and to reduce the memory footprint
by 2M of RSS.

Closes gh-32186
2022-09-01 17:34:22 +02:00
Andy Wilkinson 49d3bf1d7f Remove AnsiColors following removal of image banner support
Closes gh-32209
2022-09-01 14:40:24 +01:00
Phillip Webb 973e23dc5e Adapt to upstream Spring Framework changes 2022-08-25 12:12:42 -07:00
Phillip Webb 41c1d9f5c9 Polish 2022-08-25 12:12:38 -07:00
Scott Frederick ada2450483 Reinstate testing for NoSuchMethodFailureAnalyzer parsing on OpenJ9
Closes gh-28785
2022-08-24 15:27:23 -05:00
Stephane Nicoll bb7829791a Adapt to recent changes in RuntimeHints API
See gh-https://github.com/spring-projects/spring-framework/issues/29011
2022-08-24 19:58:29 +02:00
Moritz Halbritter 1db2ad08fa Add classpath checks for runtime hints
This suppresses native-image warnings.
2022-08-24 08:42:33 +02:00
Phillip Webb 6e1b28e6a2 Relocate MimeMapping Tomcat comparison test
See gh-32101
2022-08-23 18:05:39 -07:00
Phillip Webb dd98b88732 Fix 'Align MimeMappings with Tomcat's defaults'
Update COMMON_MAPPINGS to align with the properties file and change
the test so that it consistently works.

See gh-32101
2022-08-23 16:38:31 -07:00
Phillip Webb 86f38e15f0 Polish 'Align MimeMappings with Tomcat's defaults'
Refine `MimeMappings` so that common default mappings are included
by default and the complete set is only loaded when needed.

The `TomcatServletWebServerFactory` has been updated so that if
`TomcatEmbeddedContext` is in use the mime mapping are used
directly rather than being copied to another Map.

The `AbstractServletWebServerFactory` class has also been changed
to use a lazy copy of the mappings. This should mean that the
complete set of properties is only loaded if the user mutates
the mappings.

See gh-32101
2022-08-23 11:37:16 -07:00
Guirong Hu 7728ae4e00 Align MimeMappings with Tomcat's defaults
Update `MimeMappings` to align with the default values used in
Tomcat. The mime mapping are now loaded from a properties file
and a test has been added to ensure that they remain in sync
with Tomcat's defaults.

See gh-32101
2022-08-23 10:15:41 -07:00
Stephane Nicoll e3ddb54cb8 Adapt JPA auto-configuration to PersistenceManagedTypes
This commit exposes a PersistenceManagedTypes bean with the entities
to consider in a typical auto-configuration scenario. This allows the
result of the scanning to be optimized AOT, if necessary.

Closes gh-32119
2022-08-19 16:17:44 +02:00
Stephane Nicoll c41609d01d Polish 2022-08-18 09:44:55 +02:00
Marten Deinum 3b410719e6 Remove use of reflection in MustacheViewResolver
Prior to this commit the MustacheViewResolver used reflection
to instantiate a MustacheView class, which fails when using AOT.
Creating the view without reflection (analogous to the
FreemarkerViewResolver) will fix this without the need for additional
constructor hints.

See gh-32030
2022-08-17 08:00:43 +02:00
Stephane Nicoll 888ccfea2d Adapt to changes in Spring Framework 2022-08-16 16:02:00 +02:00
Phillip Webb bb75f04ce6 Merge branch '2.7.x'
Closes gh-32032
2022-08-09 10:24:18 +01:00
Phillip Webb 9e1a69efc9 Merge branch '2.6.x' into 2.7.x
Closes gh-32031
2022-08-09 10:23:25 +01:00
Phillip Webb 2f85ea3a30 Protect against deeply nested maps
Update BasicJsonParser to fix the deeply nested map protection logic.

Fixes gh-32029
2022-08-09 10:21:13 +01:00
Andy Wilkinson ba93e6c0ed Restore support for Jersey
Closes gh-28637
2022-08-08 15:45:20 +01:00
Stephane Nicoll 1af5994d8f Adapt to API change in Spring Framework
See https://github.com/spring-projects/spring-framework/issues/28927
2022-08-05 10:39:36 +02:00
Phillip Webb dd87cf47a4 Revert SpringBootContextLoader and ErrorPageFilterIntegrationTests changes"
Spring Framework has change the signature so we no longer need the updates.
2022-08-03 15:43:57 +01:00
Andy Wilkinson 2f0dfc341c Merge branch '2.7.x'
Closes gh-31972
2022-08-03 15:20:34 +01:00
Andy Wilkinson 700460c322 Merge branch '2.6.x' into 2.7.x
Closes gh-31971
2022-08-03 14:58:07 +01:00
Andy Wilkinson fa73b73898 Fail build on missing configuration property descriptions
Closes gh-31916
2022-08-03 14:45:42 +01:00
Phillip Webb 080ce92ac8 Adapt ErrorPageFilterIntegrationTests to upstream Framework changes 2022-08-03 13:09:19 +01:00
Phillip Webb db21bafd68 Merge branch '2.7.x'
Closes gh-31968
2022-08-03 12:35:02 +01:00
Phillip Webb cfde1878dd Merge branch '2.6.x' into 2.7.x
Closes gh-31967
2022-08-03 12:34:52 +01:00
Phillip Webb d540eefce0 Set running to false when stop method is called
Update `WebServerStartStopLifecycle` to change the `running` state when
the `stop()` method is called.

Fixes gh-31966
2022-08-03 12:34:37 +01:00
Phillip Webb 040ab4da5b Merge branch '2.7.x'
Closes gh-31964
2022-08-03 11:35:33 +01:00
Phillip Webb c652d3d95b Merge branch '2.6.x' into 2.7.x
Closes gh-31963
2022-08-03 11:34:24 +01:00
Phillip Webb 45ad1557c3 Perform LoggingSystem cleanup after web server shutdown
Update `LoggingApplicationListener` so that logging system cleanup is
performed by a `SmartLifecycle` phased after web server shutdown.

Prior to this commit, cleanup occurred on the `ContextClosedEvent` which
was published before Lifecycle beans were stopped. This meant that any
exceptions output during web server shutdown were not logged.

Fixes gh-9457
2022-08-03 11:34:05 +01:00
Stephane Nicoll c05d0c51b7 Restore constructor binding support with AOT
This commit restores the generation of the BindMethod attribute that
is required at runtime to figure out how to bind a particular
configuration properties target.

It also improves the test to use TestCompiler and assert that the
generated contribution restores the proper behavior for both java
bean and value object binding.

Closes gh-31956
2022-08-02 15:08:48 +02:00
Brian Clozel a8c558a671 Fix build after Spring Framework deprecation
See spring-projects/spring-framework#28905
2022-08-02 15:03:13 +02:00
Brian Clozel 09c753d445 Remove duplicate reflection hints for Logback
Prior to this commit, the Spring Boot team contributed reflection hints
for the default Logback converters for native image compilation. Now
that some of those hints were contributed to the GraalVM reachability
metadata repository, we can safely remove the duplicates.

Closes gh-31959
2022-08-02 14:39:42 +02:00
Andy Wilkinson 0857cae943 Merge branch '2.7.x'
Closes gh-31952
2022-08-01 21:10:36 +01:00
Andy Wilkinson 0dde4278db Merge branch '2.6.x' into 2.7.x
Closes gh-31951
2022-08-01 21:09:37 +01:00
Marc Wrobel 3e0665e791 Fix links in documentations
- Fix broken links
- Use HTTPS where possible,
- Remove spring-security-oauth2-docs as it is no longer used
- Remove https://github.com/ThierrySquirrel/rocketmq-spring-boot-starter.
  This starter is 404 and https://github.com/rocketmq/rocketmq-spring-boot-starter
  hasn't been updated for 4 years.
- Clean up nohttp allowlist.lines.

See gh-31887
2022-08-01 21:07:36 +01:00
Moritz Halbritter ed1f6ad543 Add native-image support for RestTemplateBuilder
Closes gh-31888
2022-08-01 15:18:25 +02:00
Johnny Lim c9c435cdae Polish DataSourceBuilder.derivedFrom()
Fix duplication accidentally introduced in commit
fa43e1f378.

See gh-31928
2022-08-01 08:48:40 +01:00
Stephane Nicoll 0e9f8a5994 Merge branch '2.7.x'
Closes gh-31922
2022-07-29 14:47:20 +02:00
Stephane Nicoll 4806881716 Merge branch '2.6.x' into 2.7.x
Closes gh-31921
2022-07-29 14:35:15 +02:00
Stephane Nicoll 3a5b40645a Restore support for C3P0
Closes gh-31920
2022-07-29 14:07:59 +02:00
Phillip Webb 22144987e9 Update copyright year of changed files 2022-07-29 12:10:03 +01:00
Phillip Webb e08c16dfd6 Polish 2022-07-29 12:10:02 +01:00
Phillip Webb c8735c1540 Remove spring.profiles metadata
See gh-22523
2022-07-28 10:46:46 +01:00
Phillip Webb 49a8e81dc3 Merge branch '2.7.x'
Closes gh-31902
2022-07-28 10:44:57 +01:00
Phillip Webb 5c52882f76 Merge branch '2.6.x' into 2.7.x
Closes gh-31901
2022-07-28 10:44:42 +01:00
Phillip Webb 9a2ad6d42d Remove references to ConfigFileApplicationListener
Update documentation and meta-data to remove referenced to the now
deprecated `ConfigFileApplicationListener` class.

Closes gh-31895
2022-07-28 10:43:48 +01:00
Phillip Webb 7b2bacb272 Merge branch '2.7.x'
Closes gh-31900
2022-07-28 10:37:15 +01:00
Phillip Webb 220c588996 Merge branch '2.6.x' into 2.7.x
Closes gh-31899
2022-07-28 10:37:00 +01:00
Phillip Webb 98627e3d71 Fix spring.beaninfo.ignore SourceType
Fixes gh-31898
2022-07-28 10:36:19 +01:00
Phillip Webb 57e967576e Adapt to upstream Spring Framework AOT changes 2022-07-27 21:44:18 +01:00
Stephane Nicoll 193c1d7acf Adapt to changes in DefaultGenerationContext
See https://github.com/spring-projects/spring-framework/issues/28877
2022-07-26 18:06:46 +02:00
Phillip Webb d6cce1f441 Merge branch '2.7.x' 2022-07-26 16:14:34 +01:00
Phillip Webb fcf12686b7 Merge branch '2.6.x' into 2.7.x 2022-07-26 16:14:18 +01:00
Phillip Webb 9329acdad8 Reduce size of 'repeated-open-array.txt' file
Attempt to fix CI memory issues.
2022-07-26 16:13:44 +01:00
Phillip Webb e08aa84892 Merge branch '2.7.x' 2022-07-26 15:53:33 +01:00
Phillip Webb 96fa4cd63c Merge branch '2.6.x' into 2.7.x 2022-07-26 15:53:17 +01:00
Phillip Webb da91cde304 Protect against deeply nested JSON maps
See gh-31868
2022-07-26 15:52:57 +01:00
Phillip Webb a7ea5dfeda Merge branch '2.7.x'
Closes gh-31874
2022-07-26 15:52:33 +01:00
Phillip Webb 06805f06af Merge branch '2.6.x' into 2.7.x
Closes gh-31873
2022-07-26 15:52:12 +01:00
Phillip Webb 4132414206 Protect against deeply malformed JSON map keys
Fixes gh-31869
2022-07-26 15:47:50 +01:00
Phillip Webb 0b1441f119 Merge branch '2.7.x'
Closes gh-31872
2022-07-26 15:38:25 +01:00
Phillip Webb 466724f77a Merge branch '2.6.x' into 2.7.x
Closes gh-31871
2022-07-26 15:37:41 +01:00
Phillip Webb 6966ebd2a3 Protect against deeply nested JSON lists
Update `BasicJsonParser` to protect against deeply nested JSON lists
in the same way as Jackson.

Fixes gh-31868
2022-07-26 15:25:38 +01:00
Phillip Webb 7377d85096 Merge branch '2.7.x'
Closes gh-31866
2022-07-26 12:18:14 +01:00
Phillip Webb a4ef6a7c5c Merge branch '2.6.x' into 2.7.x
Closes gh-31865
2022-07-26 12:13:16 +01:00
Phillip Webb f8412847dc Update copyright year for "Fix typos in code and documentation"
See gh-31734
2022-07-26 12:08:30 +01:00
Marc Wrobel dbfc6bded4 Fix typos in code and documentation
See gh-31734
2022-07-26 12:08:07 +01:00
Stephane Nicoll a0dd6ef3b1 Revert "Merge pull request #31828 from quaff"
This reverts commit 68fc87bc7f.

See gh-31828
2022-07-25 16:16:51 +02:00
Andy Wilkinson b9b25644af Polish "Take MethodType into account to deduce main application class"
See gh-31828
2022-07-22 19:39:14 +01:00
Yanming Zhou 10a2471979 Take MethodType into account to deduce main application class
See gh-31828
2022-07-22 19:36:30 +01:00
Andy Wilkinson 85c41d6698 Merge branch '2.7.x'
Closes gh-31847
2022-07-22 14:48:29 +01:00
Andy Wilkinson ac3f552dde Merge branch '2.6.x' into 2.7.x
Closes gh-31846
2022-07-22 14:47:45 +01:00
dreis2211 de5834d203 Polish
See gh-31845
2022-07-22 14:46:01 +01:00
Moritz Halbritter 35c49afd97 Generate hints for nested generics in configuration properties
See gh-31708
2022-07-21 16:32:40 +02:00
Olga Maciaszek-Sharma 57dc274284 Switch to Spring Framework SNAPSHOTs
Switch to Spring Framework SNAPSHOTs and adapt to updated APIs.

See gh-31834
2022-07-21 13:42:48 +01:00
Moritz Halbritter a4e84c26f0 Revert "Fix nested type discovery in ConfigurationPropertiesReflectionHintsProcessor"
This reverts commit 785588826e.
2022-07-20 18:04:13 +02:00
Moritz Halbritter 785588826e Fix nested type discovery in ConfigurationPropertiesReflectionHintsProcessor
The old implementation picked up nested types only if they have been
annotated with NestedConfigurationProperty, which not all nested
properties are. Now the processor takes into account all referenced
types. It ignores only types in the java package and interfaces.

This commit also moves some of the tests from
ConfigurationPropertiesBeanFactoryInitializationAotProcessorTests to
ConfigurationPropertiesReflectionHintsProcessorTests for easier
discoverability

Closes gh-31708
2022-07-20 16:39:28 +02:00
Andy Wilkinson 38fedcff34 Polish "Use StackWalker to deduce main application class"
See gh-31701
2022-07-20 14:57:43 +01:00
GGGGGHT ea3fe95881 Use StackWalker to deduce main application class
See gh-31701
2022-07-20 12:37:11 +01:00
Andy Wilkinson c3f3a2a707 Merge branch '2.6.x' into 2.7.x
Closes gh-31810
2022-07-20 11:54:01 +01:00
Andy Wilkinson efdd844c7a Log a warning if determining the app's PID takes too long
Closes gh-31572
2022-07-20 11:53:12 +01:00
Moritz Halbritter e35140d54f Add tests for SpringApplicationRuntimeHints 2022-07-19 16:29:25 +02:00
Moritz Halbritter 750e0aa293 Rename ConfigurationPropertiesReflectionHintsRegistrar 2022-07-19 16:22:08 +02:00
Moritz Halbritter 26741d8044 Register SpringApplication on ReflectionHints for binding
Closes gh-31534
2022-07-19 16:07:10 +02:00
Moritz Halbritter 55bb921a37 Extract TypeProcessor into separate class 2022-07-19 16:06:02 +02:00
Stephane Nicoll 51cba6ec72 Polish "Add AOT support for actuator"
See gh-31671
2022-07-19 13:02:49 +02:00
Moritz Halbritter 584b7d1343 Add AOT support for actuator
Mainly adds reflection hints for the actuator infrastructure.
Also adds the OperationReflectiveProcessor, which registers the
@ReadMethod, @DeleteMethod and @WriteMethod annotated methods for
reflection and adds reflection hints for method return types.

See gh-31671
2022-07-19 13:02:48 +02:00
Phillip Webb 00ec17b418 Fix checkstyle violation
See gh-31323
2022-07-19 11:51:44 +01:00
Chris Bono 8c70acc3c3 Add PropertyMapper.to(...) API designed for immutable instances
Add a new `to` method on `PropertyMapper` designed to work with
immutable instances. The new method takes an existing instance and
a mapping `BiFunction`.

See gh-31323

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2022-07-19 11:28:17 +01:00
Stephane Nicoll 69050a96d2 Merge branch '2.7.x'
Closes gh-31781
2022-07-18 11:49:31 +02:00
Stephane Nicoll 52d4dd9347 Merge branch '2.6.x' into 2.7.x
Closes gh-31780
2022-07-18 11:49:22 +02:00
Stephane Nicoll 4eb5037828 Update copyright year of changed files
See gh-31571
2022-07-18 11:48:35 +02:00
TheoCaldas 869ed4f71a Delimit output value in failure analysis
See gh-31571
2022-07-18 11:36:39 +02:00
Stephane Nicoll f52d00d9fa Merge branch '2.7.x'
Closes gh-31779
2022-07-18 11:30:45 +02:00
Stephane Nicoll 92a7af4038 Merge branch '2.6.x' into 2.7.x
Closes gh-31777
2022-07-18 11:30:36 +02:00
Johnny Lim f591c75ad7 Disable incompatible tests on macOS AArch64
This commit also updates related test support classes.

See gh-31539
2022-07-18 11:25:52 +02:00
Andy Wilkinson ccbd62fd82 Merge branch '2.7.x'
Closes gh-31733
2022-07-14 15:48:51 +01:00
Andy Wilkinson b6b4b3b5b6 Merge branch '2.6.x' into 2.7.x
Closes gh-31732
2022-07-14 15:39:15 +01:00
Andy Wilkinson 9443713c53 Disable Log4j2's shutdown hook with 2.18 and later
Closes gh-31719
2022-07-14 15:38:19 +01:00
Andy Wilkinson 3405a54f9e Exclude Jetty toolchain dependencies in favor of official API artifacts
Closes gh-31720
2022-07-14 13:55:26 +01:00
Andy Wilkinson 88ee31c422 Upgrade to R2DBC 1.0
With the 1.0 release of the SPI, R2DBC's bom is no longer published.
This commit updates Spring Boot's dependency management to no longer
use the bom. Tests have also been updated to adapt to slight changes
in R2DBC's configuration options and their default values.

Closes gh-31702
2022-07-13 12:09:56 +01:00
Stephane Nicoll 67b5f42769 Name RuntimeHintsRegistrar implementations consistently
Closes gh-31695
2022-07-12 19:50:26 +02:00
Oliver Drotbohm b10c57551c Upgrade to Hibernate 6.1.1.Final
This commit makes the following potentially breaking changes:

- Dependency management for modules that do not exist in Hibernate
  6.1 has been removed.
- Hibernate's modules are now in the org.hibernate.orm group. Users
  not using the starter or using modules that are not in the starter
  will have to update their build configuration accordingly.
- spring.jpa.hibernate.use-new-id-generator-mappings has been removed
  as Hibernate no longer supports switching back to the old ID
  generator mappings.

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>

Closes gh-31674
2022-07-12 09:36:34 +01:00
Moritz Halbritter beb40eaaf6 Reduce visibility for ConfigDataLocationRuntimeHintsRegistrar 2022-07-12 09:22:19 +02:00
Andy Wilkinson fa43e1f378 Add support for deriving a DataSourceBuilder from a wrapped DataSource
Closes gh-31605
2022-07-08 17:24:37 +01:00
Moritz Halbritter 1e33b1a9da Polish "Add reflection hints for Jackson's basic serializers" 2022-07-08 09:29:34 +02:00
Moritz Halbritter 2dc0936db6 Add reflection hints for Jackson's basic serializers
Closes gh-31537
2022-07-07 16:09:25 +02:00
Moritz Halbritter 9e3c557992 Merge branch '2.7.x' 2022-07-07 15:21:12 +02:00
Moritz Halbritter d4b1c219ab Move test imports from main to test resources
They shouldn't have been in main resources in the first place, this was
an accident.
2022-07-07 15:15:34 +02:00
Moritz Halbritter 8ce3a1e51b Add resource hints for JavaLoggingSystem
See gh-31531
2022-07-07 14:31:17 +02:00
Moritz Halbritter dc5eee8f48 Polish JavaLoggingSystem 2022-07-07 14:20:13 +02:00
Moritz Halbritter 4921954200 Remove --allow-incomplete-classpath from native-image arguments
This parameter is now the default in GraalVM 22.1

Closes gh-31568
2022-07-07 14:01:18 +02:00
Andy Wilkinson eca9343675 Merge branch '2.7.x' 2022-06-26 08:19:34 +01:00
Andy Wilkinson 2f01739e0d Polish since date on new SslStoreProvider API
See gh-31253
2022-06-26 08:18:21 +01:00
Andy Wilkinson 543d9c6e66 Merge branch '2.7.x' 2022-06-25 13:47:45 +01:00
Andy Wilkinson 71526bf44f Polish
See gh-31253
2022-06-25 13:47:25 +01:00
Andy Wilkinson a28ca4594b Merge branch '2.7.x'
Closes gh-31529
2022-06-24 18:01:31 +01:00
Andy Wilkinson 7abc7df7b8 Allow PEM certificates to be used without a key store password
Closes gh-31253
2022-06-24 18:01:20 +01:00
dreis2211 458f989cf3 Use switch expressions where appropriate
See gh-31527
2022-06-24 16:19:28 +01:00
Andy Wilkinson 631b1e0d76 Merge branch '2.7.x'
Closes gh-31526
2022-06-24 13:10:10 +01:00
Andy Wilkinson 1e08f545d0 Merge branch '2.6.x' into 2.7.x
Closes gh-31525
2022-06-24 13:05:06 +01:00
Andy Wilkinson f49b16c645 Upgrade to Spring Java Format 0.0.34
Closes gh-31524
2022-06-24 12:57:52 +01:00
Stephane Nicoll fe39598e81 Adapt to latest API change in Spring Framework
See https://github.com/spring-projects/spring-framework/issues/28585
2022-06-23 16:30:34 +02:00
Andy Wilkinson a55560669b Remove YamlJsonParser
Closes gh-31498
2022-06-22 20:20:28 +01:00
Andy Wilkinson b07d5b0bb1 Merge branch '2.7.x'
Closes gh-31500
2022-06-22 19:50:01 +01:00
Andy Wilkinson 268f13dbd7 Merge branch '2.6.x' into 2.7.x
Closes gh-31499
2022-06-22 19:49:38 +01:00
Andy Wilkinson 522ea0a90e Handle malformed JSON more consistently
Closes gh-31301
2022-06-22 18:31:16 +01:00
Andy Wilkinson 965fbf4494 Polish "Use java.util.HexFormat where appropriate"
See gh-31477
2022-06-21 17:03:26 +01:00
dreis2211 f2101684b7 Use pattern matching for instanceof where appropriate
Closes gh-28181
2022-06-20 18:35:32 +01:00
dreis2211 5db04da275 Use pattern matching for instanceof where appropriate
See gh-31475
2022-06-20 17:55:36 +01:00
dreis2211 3fcb6765b1 Fix checkstyle violation
See gh-31449
2022-06-18 11:06:33 +01:00
Johnny Lim 5d7d0d8047 Use 3.0.0 for Javadoc since tags
See gh-31448
2022-06-17 16:48:58 +02:00
Stephane Nicoll a957efbdc5 Add missing org.yaml.snakeyaml.Yaml reflection hint
Closes gh-31441
2022-06-17 15:50:24 +02:00
Phillip Webb 657fa3e64e Merge branch '2.7.x'
Closes gh-31409
2022-06-16 15:36:29 -07:00
Phillip Webb 7c91ebb1b0 Merge branch '2.6.x' into 2.7.x
Closes gh-31408
2022-06-16 15:36:00 -07:00
Phillip Webb ae6311ddda Prevent Logback from accidentally being used in Log4J2LoggingSystemTests
Update `Log4J2LoggingSystemTests` to exclude Logback and include
'log4j-slf4j-impl'. The `ModifiedClassPathClassLoader` has also been
updated so that it no longer automatically excludes `log4j` artifacts,
instead we now use `@ClassPathExclusions` on the relevant tests.

Fixes gh-19365
2022-06-16 15:35:32 -07:00
Andy Wilkinson 4f3180540c Use Framework's MockSpringFactoriesLoader
Closes gh-31406
2022-06-16 15:40:03 +01:00
Stephane Nicoll d5695c1931 Add resource hints for configuration properties
This commits introduces a RuntimeHintsRegistrar for configuration
properties. By default, it provides the necessary hint to load
application properties and yaml files in default locations.

Closes gh-31311
2022-06-15 10:15:27 +02:00
Stephane Nicoll b536b209ab Refine assertions on exception messages 2022-06-14 18:20:27 +02:00
Stephane Nicoll b0f5fb51fc Adapt to deprecation of NestedServletException 2022-06-14 17:45:31 +02:00
Andy Wilkinson b1ea82c1e2 Merge branch '2.7.x'
Closes gh-31380
2022-06-14 11:17:30 +01:00
Andy Wilkinson 6de4ade0cf Merge branch '2.6.x' into 2.7.x
Closes gh-31379
2022-06-14 11:16:57 +01:00
Andy Wilkinson 5d7cab09b8 Revert BindConverter changes that are now handled by Framework
See gh-28592 and spring-projects/spring-framework#28609

Closes gh-31343
2022-06-14 10:37:35 +01:00
Stephane Nicoll 063e56dbff Polish 2022-06-13 09:44:02 +02:00
Phillip Webb 380776a9b2 Merge branch '2.7.x' 2022-06-10 16:13:50 -07:00
Phillip Webb 7bf82b5349 Merge branch '2.6.x' into 2.7.x 2022-06-10 16:13:35 -07:00
Phillip Webb 63fdd729f5 Refine conversion service type check
Update fix to account for primitive types.

See gh-28592
2022-06-10 16:12:38 -07:00
Phillip Webb 8937924508 Merge branch '2.7.x'
Closes gh-31342
2022-06-10 14:30:28 -07:00
Phillip Webb beb1c15219 Merge branch '2.6.x' into 2.7.x
Closes gh-31341
2022-06-10 14:30:02 -07:00
Phillip Webb 31b0264d94 Ensure conversion service actually converts to the correct type
Update `BindConverter` with a guard to ensure that the resulting object
is the correct type.

Fixes gh-28592
2022-06-10 14:29:25 -07:00
Phillip Webb cb745b4259 Merge branch '2.7.x'
Closes gh-31340
2022-06-10 12:43:38 -07:00
Anthony Vanelverdinghe ed1e7382ab Fix typo in ImportCandidates javadoc
See gh-31277
2022-06-10 12:42:43 -07:00
Phillip Webb c56783064d Support management contexts with AOT
Refactor child management configuration and add AOT generation support.
A new `ChildManagementContextInitializer` class now performs the child
context initialization and also handles AOT processing concerns.

Closes gh-31163
2022-06-08 19:24:46 -07:00
Phillip Webb a729f71cba Polish LogbackRuntimeHintsRegistrar 2022-06-08 19:24:45 -07:00
Stephane Nicoll e30391ca7a Use Application as target for generated code
Closes gh-31274
2022-06-08 14:51:17 +02:00
Stephane Nicoll 8413002bcb Polish
See gh-31247
2022-06-07 20:02:06 +02:00
Andy Wilkinson 869bb91c80 Polish 2022-06-07 17:52:11 +01:00
Stephane Nicoll ac16432fad Add AOT support for immutable ConfigurationProperties bean definitions
This commit introduces a dedicated AotProcessors for immutable
configuration properties beans as their bean definition use an
instance supplier that needs special handling. If such a bean definition
is detected, dedicated code is generated that replicates the behavior
of the instance supplier.

Closes gh-31247
2022-06-07 14:26:35 +02:00
Brian Clozel 3f0c14187a Register runtime hints for @ConfigurationProperties
Prior to this commit, the `@ConfigurationProperties` annotation would
not be registered for reflection hints: this means it could be missing
at runtime in a native image and would not be registered for JDK
proxying - this can fail the synthesized annotation resolution.

This commit ensures that hints are registered for this annotation if
configuration properties are declared in the bean factory.

Fixes gh-31227
2022-06-07 09:50:56 +02:00
Stephane Nicoll c996e4335a Fix singleton handling of ConfigurationProperties hints
Closes gh-31248
2022-06-04 12:29:45 +02:00
Stephane Nicoll 2a405c94a8 Add missing test
Closes gh-31249
2022-06-03 17:41:29 +02:00
Stephane Nicoll fb439b6824 Permit AOT-generated code to run on the JVM as well
This commit updates the codebase so that AOT-generated code can run on
the JVM in an opt-in fashion alongside the existing support of native
images.

When optimizations have been generated, setting the "spring.aot.enabled"
spring property (JVM or spring.properties) allows to opt-in for that
behavior on the JVM.

Closes gh-31244
2022-06-03 10:10:56 +02:00
Phillip Webb 13fba65638 Polish 2022-06-01 09:53:21 -07:00
Phillip Webb 6d80723598 Relocate AotProcessingHook
Relocate `AotProcessingHook` to be an static class of `AotProcessor`.
2022-05-31 15:51:12 -07:00
Andy Wilkinson 4385926df1 Ensure that the main application class can be deduced
Closes gh-31222
2022-05-31 12:06:56 +01:00
Andy Wilkinson 5f54289e97 Allow WebApplicationType to be deduced in a native image
Closes gh-31217
2022-05-31 11:39:42 +01:00
Stephane Nicoll 44a8e91b9e Prevent main method to continue once the AOT context has been optimized
This commit makes sure that processing of the main method upon
completion of SpringApplication#run. Previously, any instructions in
the user's main method were invoked, which is not suitable to build-time
processing.

Closes gh-31219
2022-05-31 12:34:37 +02:00
Andy Wilkinson d044eaf69d Merge branch '2.7.x'
Closes gh-31221
2022-05-31 11:21:52 +01:00
Andy Wilkinson 7f291f8da0 Merge branch '2.6.x' into 2.7.x
Closes gh-31220
2022-05-31 11:14:08 +01:00
Andy Wilkinson 348662b15e Remove unused deduceFromApplicationContext and supporting code
Closes gh-31218
2022-05-31 10:57:22 +01:00
Andy Wilkinson f433d250e1 Merge branch '2.7.x'
Closes gh-31189
2022-05-27 11:14:40 +01:00
Andy Wilkinson d2397bd34e Merge branch '2.6.x' into 2.7.x
Closes gh-31188
2022-05-27 11:14:29 +01:00
Andy Wilkinson 83e8c039b3 Add application/wasm to MIME mappings
Closes gh-30885
2022-05-27 11:14:04 +01:00
Andy Wilkinson df99ad17bd Merge branch '2.7.x'
Closes gh-31184
2022-05-27 10:09:28 +01:00
Andy Wilkinson 194e9f0f79 Merge branch '2.6.x' into 2.7.x
Closes gh-31183
2022-05-27 10:02:08 +01:00
Andy Wilkinson 56c3a5f0ab Polish "Assert that sources does not contain null elements"
See gh-30878
2022-05-27 10:01:06 +01:00
Guirong Hu ebf276c005 Assert that sources does not contain null elements
See gh-30878
2022-05-27 10:00:32 +01:00
Andy Wilkinson 4bb5ba2bd0 Merge branch '2.7.x' 2022-05-26 18:26:52 +01:00
Andy Wilkinson 935d1264e0 Merge branch '2.6.x' into 2.7.x 2022-05-26 18:13:08 +01:00
Andy Wilkinson 3d203d0215 Polish 2022-05-26 17:30:39 +01:00
Andy Wilkinson 5dfa5adb75 Merge branch '2.7.x'
Closes gh-31178
2022-05-26 15:54:58 +01:00
Andy Wilkinson 455ee0ce22 Merge branch '2.6.x' into 2.7.x
Closes gh-31177
2022-05-26 15:53:38 +01:00
Andy Wilkinson ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
2022-05-26 15:47:35 +01:00
Andy Wilkinson b3a4982f31 Merge branch '2.6.x' into 2.7.x
Closes gh-31174
2022-05-26 14:01:23 +01:00
Andy Wilkinson cbf42dea14 Update deprecation messages to change removal version from 2.8 to 3.0
Closes gh-30903
2022-05-26 13:59:03 +01:00
Phillip Webb f8a41d34aa Merge branch '2.7.x' 2022-05-17 22:22:08 -07:00
Phillip Webb 23eceb0d8a Merge branch '2.6.x' into 2.7.x 2022-05-17 22:21:41 -07:00
Phillip Webb ea41e89c6c Merge branch '2.5.x' into 2.6.x 2022-05-17 22:21:10 -07:00
Phillip Webb 7d2f1bafc0 Update copyright year of changed files 2022-05-17 22:20:05 -07:00
Phillip Webb ea881aadc6 Merge branch '2.7.x' 2022-05-17 22:19:08 -07:00
Phillip Webb 13670e556b Merge branch '2.6.x' into 2.7.x
Closes gh-31095
2022-05-17 22:18:53 -07:00
Phillip Webb 0beccde6ee Merge branch '2.5.x' into 2.6.x
Closes gh-31094
2022-05-17 22:18:38 -07:00
Phillip Webb 7da42d7139 Allow tests to pass when a NAME environment variable exists
Update `ConfigurationPropertiesTests` so that it will pass even if a
local `NAME` environment variable is declared.

Closes gh-31076
2022-05-17 22:16:24 -07:00
Phillip Webb e83ed4fe5e Merge branch '2.7.x' 2022-05-17 22:16:02 -07:00
Phillip Webb fbde59d635 Merge branch '2.6.x' into 2.7.x
Closes gh-31093
2022-05-17 22:14:40 -07:00
Phillip Webb 6bce0c5044 Merge branch '2.5.x' into 2.6.x
Closes gh-31092
2022-05-17 22:14:21 -07:00
Phillip Webb 44c979beb0 Reorder default property sources after @PropertySource processing
Update `SpringApplication` so that the `DefaultPropertiesPropertySource`
is moved to the end after `@PropertySource` annotations have been
processed. This restores functionality that used to be handled by
the `ConfigFileApplicationListener` and was inadvertently dropped
when the `ConfigDataEnvironmentPostProcessor` was developed.

Fixes gh-31068
2022-05-17 22:13:49 -07:00
Phillip Webb 06f8041e4d Merge branch '2.7.x' 2022-05-17 21:50:42 -07:00
Phillip Webb d5d5997be7 Merge branch '2.6.x' into 2.7.x 2022-05-17 21:49:20 -07:00
Phillip Webb 99f5c781a5 Merge branch '2.5.x' into 2.6.x 2022-05-17 21:48:50 -07:00
Phillip Webb 350d27fe50 Polish code to use method references when possible 2022-05-17 21:16:42 -07:00
Andy Wilkinson bcc27c5d22 Deleting existing output before running AOT processing
Closes gh-30981
2022-05-17 15:33:45 +01:00
izeye 74a8fffe9f Polish LogbackRuntimeHintsRegistrarTests
See gh-31074
2022-05-17 13:28:26 +02:00
Andy Wilkinson 6c4fedb4a4 Revert "Logback 1.3 and SLF4J 2.0"
This reverts commit f39a080a0e that was
pushed prematurely.
2022-05-13 16:23:48 +01:00
Andy Wilkinson f39a080a0e Logback 1.3 and SLF4J 2.0 2022-05-13 14:48:20 +01:00
Andy Wilkinson 4cb9d95b49 Use ProcessHandler to get the process ID
Closes gh-28178
2022-05-13 14:35:41 +01:00
Andy Wilkinson 48c948973d Polish 2022-05-12 12:12:22 +01:00
Andy Wilkinson d0e55643b1 Polish
Closes gh-30993
2022-05-12 12:11:51 +01:00
Andy Wilkinson 1fd9c4d82c Polish
Closes gh-30992
2022-05-12 12:10:52 +01:00
izeye 624c41c80e Polish
See gh-30862
2022-05-12 12:07:12 +01:00
Andy Wilkinson c2a3652709 Merge branch '2.7.x' 2022-05-12 11:53:46 +01:00
Andy Wilkinson 7e88daf288 Update messages for APIs deprecated in 2.7
In all likelihood there will not be a 2.9 release so this commit
updates the message for deprecations made in 2.7 to indicate that
removal will not occur until 3.0.

See gh-30903
2022-05-12 11:12:09 +01:00
Andy Wilkinson f6225fe98b Register reflection hints for Logback
Closes gh-30975
2022-05-11 12:34:47 +01:00
Andy Wilkinson 9a239c10b5 Align tests with changes to SpringApplicationHooks 2022-05-11 11:08:26 +01:00
Andy Wilkinson 2744649892 Update started log message as app may not be running on a JVM
Closes gh-30974
2022-05-11 11:08:25 +01:00
Phillip Webb c7590277a9 Polish 2022-05-10 19:03:57 -07:00
Phillip Webb 693941c2c2 Polish SpringFactories ArgumentResolver code
Update `ArgumentResolver` setup to use one statement per line
and throw an exception if `Log` parameter types are present.
2022-05-10 17:43:52 -07:00
Andy Wilkinson cffdee72ca Polish 2022-05-10 16:13:16 +01:00
Andy Wilkinson 566ed68403 Contribute reflection hints for configuration property binding
Closes gh-30916

Co-authored-by: Stephane Nicoll <snicoll@vmware.com>
2022-05-10 15:31:15 +01:00
Andy Wilkinson dbf0bcca63 Avoid reflection when Tomcat's configuring Context's ClassLoader
Closes gh-30904
2022-05-10 15:22:37 +01:00
Andy Wilkinson 87e78691c4 Use AOT-generated initialization when running in a native image
Closes gh-30915
2022-05-10 15:22:16 +01:00
Andy Wilkinson c91b787078 Uses non-AnnotationConfig contexts when using AOT-generated init
Closes gh-30914
2022-05-10 15:19:29 +01:00
Andy Wilkinson 770cb840c3 Use more flexible SpringFactoriesLoader
Closes gh-30235

Co-authored-by: Madhura Bhave <bhavem@vmware.com>
Co-authored-by: Stephane Nicoll <snicoll@vmware.com>
2022-05-09 14:13:04 +01:00
Andy Wilkinson 3980c5af48 Polish "Use Log4jBridgeHandler to route JUL-based logging into Log4j 2"
See gh-30003
2022-05-06 15:05:16 +01:00
Piotr P. Karwasz 728e27d193 Use Log4jBridgeHandler to route JUL-based logging into Log4j 2
Since version 2.15.0 `log4j-jul` contains a `Log4jBridgeHandler`,
that forwards JUL to Log4j 2.x and synchronizes the logger levels of
the two frameworks.

This commmit adds support for the `Log4jBridgeHandler` and sets it as
the bridge handler for the Log4j 2.x stack, replacing the existing
JUL to SLF4J bridge that was used previously.

See gh-30003
2022-05-06 15:05:08 +01:00
Phillip Webb 8cf63a28b8 Update AOT work to latest Framework code 2022-05-05 15:19:33 -07:00
Madhura Bhave 7a0e5a032d Delete unused test configuration files
These files were used by the legacy ConfigFileApplicationListener tests
and are no longer needed
2022-05-05 11:57:37 -07:00
Madhura Bhave 8d6b442dc4 Remove support for spring.profiles
Closes gh-22523
2022-05-05 11:57:37 -07:00
Scott Frederick 2369ce4195 Remove dependency management for AppEngine SDK
Closes gh-30638
2022-05-04 16:31:00 -05:00
Scott Frederick 7dd8dfc197 Handle zero-offset timezone in logging test
See gh-28654
2022-05-03 17:48:09 -05:00
Scott Frederick 7f395941c7 Add timezone offset to default logging date format patterns
Closes gh-28654
2022-05-03 17:09:27 -05:00
Andy Wilkinson 541ab69aff Merge branch '2.7.x' 2022-05-03 15:18:20 +01:00
Andy Wilkinson 4cd850cfc0 Merge branch '2.6.x' into 2.7.x
Closes gh-30851
2022-05-03 15:17:13 +01:00
Andy Wilkinson fa327a783d Merge branch '2.5.x' into 2.6.x
Closes gh-30850
2022-05-03 15:14:00 +01:00
Andy Wilkinson 4fd2e0c916 Polish "Fix typos"
See gh-30773
2022-05-03 14:09:53 +01:00
Andy Wilkinson f6d24dc1a8 Fix typos
See gh-30773
2022-05-03 14:09:37 +01:00
Andy Wilkinson 096420cc4c Generate native image config data in recommended location
Closes gh-30827
2022-04-28 13:38:28 +01:00
Andy Wilkinson 97589d0465 Introduce Hook-based AOT processing
Closes gh-30555

Co-authored-by: Stephane Nicoll <snicoll@vmware.com>
2022-04-27 11:26:01 +01:00
Andy Wilkinson 9cd17f8a14 Introduce hooking of SpringApplication
Closes gh-30538
2022-04-27 10:53:54 +01:00
Andy Wilkinson 3987deccde Merge branch '2.7.x' 2022-04-25 14:11:40 +01:00
Andy Wilkinson 3c5cea47d0 Merge branch '2.6.x' into 2.7.x
Closes gh-30789
2022-04-25 14:11:21 +01:00
Andy Wilkinson 3f23c08268 Merge branch '2.5.x' into 2.6.x
Closes gh-30788
2022-04-25 14:11:08 +01:00
Andy Wilkinson ce788657ce Improve diagnostics for map binding failures
Closes gh-30281
2022-04-25 13:50:09 +01:00
Andy Wilkinson 4e193dc574 Merge branch '2.7.x' 2022-04-25 12:36:44 +01:00
Andy Wilkinson d0c9d5aabc Merge branch '2.6.x' into 2.7.x
Closes gh-30787
2022-04-25 12:36:30 +01:00
Andy Wilkinson 5c3be7c61e Merge branch '2.5.x' into 2.6.x
Closes gh-30786
2022-04-25 12:36:14 +01:00
Andy Wilkinson ffe0ec6d4d Use SearchStrategy in MethodValidationExcludeFilter byAnnotation
Closes gh-30631
2022-04-25 12:35:41 +01:00
Phillip Webb cd4ee99756 Merge branch '2.7.x' 2022-04-20 16:30:15 -07:00
Phillip Webb 504c4a33db Merge branch '2.6.x' into 2.7.x
Closes gh-30763
2022-04-20 16:29:58 -07:00
Phillip Webb c5d650a807 Merge branch '2.5.x' into 2.6.x
Closes gh-30762
2022-04-20 16:29:24 -07:00
Phillip Webb 77edb27a07 Fix package tangle caused by ApplicationContextFactory
Fix package tangle by changing `ApplicationContextFactory.DEFAULT` to
use `spring.factories` to discover implementations rather than needing
direct access to our own `ApplicationContext` classes.

Closes gh-30272
2022-04-20 16:28:46 -07:00
Phillip Webb 7a6ca8ce25 Merge branch '2.7.x' 2022-04-20 15:30:01 -07:00
Phillip Webb dd5696b59b Update copyright year of changed files 2022-04-20 15:26:30 -07:00
Stephane Nicoll a4cccc98c6 Merge branch '2.7.x' 2022-04-19 09:37:08 +02:00
Stephane Nicoll 61915aa4d5 Update copyright year of changed files
See gh-30695
2022-04-19 09:36:38 +02:00
izeye ed412af138 Polish
See gh-30695
2022-04-19 09:34:28 +02:00
Stephane Nicoll 6e846384df Merge branch '2.7.x' 2022-04-19 09:11:31 +02:00
Stephane Nicoll d7b23edf8b Merge branch '2.6.x' into 2.7.x
Closes gh-30739
2022-04-19 09:11:23 +02:00
Stephane Nicoll 91625207b2 Merge branch '2.5.x' into 2.6.x
Closes gh-30738
2022-04-19 09:11:01 +02:00
Stephane Nicoll 1fa4701d6d Polish "Validate overrides against CharsetMapperDefault.properties"
See gh-30692
2022-04-19 09:03:54 +02:00
Guirong Hu 407ae3b04f Validate overrides against CharsetMapperDefault.properties
See gh-30692
2022-04-19 09:03:40 +02:00
Stephane Nicoll 6cbb4a4f33 Merge branch '2.7.x' 2022-04-16 09:07:59 +02:00
Stephane Nicoll 73b98d0cb8 Polish 2022-04-16 09:07:46 +02:00
Stephane Nicoll c654638654 Polish "Add link to @Order annotation"
See gh-30572
2022-04-14 10:39:22 +02:00
prd c72f3d79af Add link to @Order annotation
See gh-30572
2022-04-14 10:36:33 +02:00
Scott Frederick f5f7fc8e9a Merge branch '2.7.x' 2022-04-13 16:29:00 -05:00
Scott Frederick d387b3fa81 Support configuration of web SSL using PEM-encoded certificates
This commit adds the ability to configure SSL in embedded web containers
using PEM-encoded certificate and private key files, as an alternative
to configuring SSL with Java KeyStore files.

Closes gh-29273
2022-04-13 16:28:04 -05:00
Andy Wilkinson c37857c6c6 Merge branch '2.7.x' 2022-04-13 14:20:27 +01:00
Andy Wilkinson 631b876165 Deprecate DatabaseDriver.GAE
Closes gh-29984
2022-04-13 14:19:09 +01:00
Brian Clozel 77b7f2f1ce Switch to Spring Framework SNAPSHOTs
See gh-30624
2022-04-12 17:02:03 +02:00
Andy Wilkinson b871a1e457 Merge branch '2.7.x' 2022-04-12 08:51:47 +01:00
Andy Wilkinson 48f8021d88 Migrate @Local*Port annotations to spring-boot-test
Closes gh-29589
2022-04-12 08:48:43 +01:00
Scott Frederick 0dd9493dc1 Merge branch '2.7.x' 2022-04-07 17:12:14 -05:00
Scott Frederick 90aee8ef2f Polish FailureAnalyzers deprecation message
Fixes gh-30578
2022-04-07 17:10:45 -05:00
Scott Frederick d67dcf16cd Migrate FailureAnalyzers to constructor injection
All `FailureAnalyzer` implementations should use constructor
injection for `BeanFactory` and `Environment` instead of implementing
`BeanFactoryAware` or `EnvironmentAware` interfaces.

Fixes gh-30585
2022-04-07 16:58:59 -05:00
Andy Wilkinson 41213a8c4e Merge branch '2.7.x' 2022-04-07 20:33:30 +01:00
Andy Wilkinson 5a26e936de Merge branch '2.6.x' into 2.7.x
Closes gh-30582
2022-04-07 20:31:46 +01:00
Andy Wilkinson a2c08f9f99 Merge branch '2.5.x' into 2.6.x
Closes gh-30581
2022-04-07 20:31:22 +01:00
Andy Wilkinson 35154a96f3 Polish "Fix NPE in configprops endpoint"
See gh-30068
2022-04-07 19:44:06 +01:00
qxo a1fe05f40b Fix NPE in configprops endpoint
This works around spring-projects/spring-framework#28298. The bug
means that when a @Configuration class is annotated with
@ConfigurationProperties any bean defined by a static @Bean method
is considered to be annotated with @ConfigurationProperties.

See gh-30068
2022-04-07 19:40:29 +01:00
Andy Wilkinson fac2430dff Merge branch 'gh-30358' 2022-04-07 19:17:27 +01:00
Andy Wilkinson dbc59052ba Polish "Add failure analyzer for missing web factory bean"
See gh-30358
2022-04-07 18:55:04 +01:00
Guirong Hu dfafccaba5 Add failure analyzer for missing web factory bean
See gh-30358
2022-04-07 18:50:50 +01:00
Andy Wilkinson 95c8d7f79d Merge branch '2.7.x' 2022-04-07 18:50:13 +01:00
Andy Wilkinson febea4711e Make Reactive and ServletWebServerFactory extend marker interface
Closes gh-30579
2022-04-07 18:20:38 +01:00
Andy Wilkinson e6b485b317 Merge branch '2.7.x' 2022-04-07 16:31:58 +01:00
Andy Wilkinson 8727361221 Polish "Order ExitCodeGenerators and return first non-zero exit code"
See gh-30457
2022-04-07 16:31:19 +01:00
dugenkui 6718b10fa9 Order ExitCodeGenerators and return first non-zero exit code
See gh-30457
2022-04-07 16:30:09 +01:00
Moritz Halbritter 4307edbb1b Merge branch '2.7.x' 2022-04-06 10:28:35 +02:00
Moritz Halbritter 98bbbc910b Merge branch '2.6.x' into 2.7.x
Closes gh-30554
2022-04-06 10:28:24 +02:00
Moritz Halbritter c54b825a82 Merge branch '2.5.x' into 2.6.x
Closes gh-30553
2022-04-06 10:28:11 +02:00
dugenkui03 035a16278e Make ApplicationAvailabilityBean threadsafe
See gh-30489
2022-04-06 10:26:21 +02:00
Moritz Halbritter 43c647e898 Merge branch '2.7.x' 2022-04-05 14:17:14 +02:00
Moritz Halbritter f8c54655f6 Merge branch '2.6.x' into 2.7.x
Closes gh-30542
2022-04-05 14:17:00 +02:00
Moritz Halbritter 53b2c85df0 Merge branch '2.5.x' into 2.6.x
Closes gh-30541
2022-04-05 14:16:38 +02:00
Chris Hut 65d8c76ac3 Add Tomcat locale mapping for Japanese to preserve UTF-8 charset
See gh-30535
2022-04-05 14:15:40 +02:00
Scott Frederick 92936c6ed3 Merge branch '2.7.x' 2022-04-04 15:27:11 -05:00
Scott Frederick 103c2bdd7d Use Tomcat SSLHostConfig API for SSL configuration
Closes gh-30531
2022-04-04 15:22:43 -05:00
Moritz Halbritter 6fa696f13d Merge branch '2.7.x' 2022-04-04 14:23:24 +02:00
Moritz Halbritter bd1424b004 Merge branch '2.6.x' into 2.7.x
Closes gh-30528
2022-04-04 14:22:49 +02:00
Moritz Halbritter bf3c2d713d Merge branch '2.5.x' into 2.6.x
Closes gh-30526
2022-04-04 14:18:45 +02:00
izeye 09d6215b65 Polish documentation
See gh-30498
2022-04-04 14:09:28 +02:00
Andy Wilkinson fbb060e0fe Polish
See 5d8c1d9bd7.
2022-03-29 15:22:01 +01:00
Andy Wilkinson 5d8c1d9bd7 Merge branch '2.7.x' 2022-03-29 14:30:42 +01:00
Andy Wilkinson 2f3ae02385 Merge branch '2.6.x' into 2.7.x
Closes gh-30466
2022-03-29 14:24:42 +01:00
Andy Wilkinson 8f985474a6 Merge branch '2.5.x' into 2.6.x
Closes gh-30465
2022-03-29 14:24:25 +01:00
Andy Wilkinson d574563616 Document @ConstructorBinding and @DefaultValue with records
Closes gh-30460
2022-03-29 14:14:28 +01:00
Stephane Nicoll 6865f1f3d9 Merge branch '2.7.x' 2022-03-28 09:47:13 +02:00
Stephane Nicoll 5466444826 Merge branch '2.6.x' into 2.7.x
Closes gh-30450
2022-03-28 09:46:42 +02:00
Stephane Nicoll 5dc4ff5366 Update copyright year of changed file
See gh-30446
2022-03-28 09:46:21 +02:00
Vikey Chen f9d1c400a7 Remove redundant Javadoc
See gh-30446
2022-03-28 09:45:33 +02:00
Andy Wilkinson eabf6cd1d8 Merge branch '2.7.x' 2022-03-25 15:15:26 +00:00
Andy Wilkinson 685d2d4391 Polish
See gh-30152
2022-03-25 15:15:02 +00:00
Guirong Hu df417bf317 Simplify registration of Jackson mixin types
See gh-30152
2022-03-25 15:15:02 +00:00
Moritz Halbritter e431842668 Merge branch '2.7.x' 2022-03-25 14:56:49 +01:00
Moritz Halbritter 45f393b76b Merge branch '2.6.x' into 2.7.x
Closes gh-30437
2022-03-25 14:56:01 +01:00
Moritz Halbritter c003d5b533 Merge branch '2.5.x' into 2.6.x
Closes gh-30436
2022-03-25 14:55:31 +01:00
Moritz Halbritter 0ff8119a1b Sort entries in additional-spring-configuration metadata alphabetically
Closes gh-30434
2022-03-25 14:54:39 +01:00
Andy Wilkinson 3de024594f Merge branch '2.7.x' 2022-03-25 12:06:16 +00:00
Andy Wilkinson 64888b0deb Merge branch '2.6.x' into 2.7.x
Closes gh-30433
2022-03-25 12:03:24 +00:00
Andy Wilkinson 038428cb1a Merge branch '2.7.x' 2022-03-23 15:29:23 +00:00
Andy Wilkinson b911530c31 Merge branch '2.6.x' into 2.7.x
Closes gh-30393
2022-03-23 15:29:09 +00:00
Andy Wilkinson 9c128f1acc Merge branch '2.5.x' into 2.6.x
Closes gh-30392
2022-03-23 15:28:56 +00:00
Andy Wilkinson 73d9e0e0ed Fix equals when adapt removes trailing characters from element
Closes gh-30317
2022-03-23 14:55:00 +00:00
Stephane Nicoll af15a18e02 Upgrade to Tomcat 10.0.18
Closes gh-30320
2022-03-18 17:06:51 +01:00
Andy Wilkinson dd812a3f76 Upgrade to Groovy 4.0.1
Closes gh-30279
2022-03-18 12:38:41 +00:00
Stephane Nicoll 3d011fc2e6 Upgrade to Tomcat 9.0.60
Closes gh-30313
2022-03-18 09:49:28 +01:00
Andy Wilkinson 625ccc7c11 Merge branch '2.7.x' 2022-03-17 12:38:09 +00:00
Andy Wilkinson 4b318a76fa Merge branch '2.6.x' into 2.7.x
Closes gh-30271
2022-03-17 12:37:41 +00:00
Andy Wilkinson 0facba1f88 Merge branch '2.5.x' into 2.6.x
Closes gh-30270
2022-03-17 12:37:23 +00:00
Andy Wilkinson f342cec5cd Relocate ConnectorStartFailureAnalyzer to remove package tangle
Closes gh-30268
2022-03-17 11:48:49 +00:00
Stephane Nicoll 626cfff940 Merge branch '2.6.x' into 2.7.x 2022-03-16 18:17:27 +01:00
Stephane Nicoll 8e7f7d3c76 Merge branch '2.5.x' into 2.6.x 2022-03-16 18:17:17 +01:00
Stephane Nicoll b97a3ae07a Revert unnecessary suppress warnings
See https://github.com/spring-projects/spring-framework/issues/28079
2022-03-16 18:10:58 +01:00
Stephane Nicoll 9ccbfe52f8 Upgrade to Tomcat 9.0.60
Closes gh-30249
2022-03-16 14:45:30 +01:00
Stephane Nicoll 59f4004fa6 Upgrade to Tomcat 9.0.60
Closes gh-30230
2022-03-16 08:43:17 +01:00
Stephane Nicoll 6baa248228 Start building against Spring Framework 5.3.17 snapshots
See gh-30188
2022-03-12 12:01:44 +01:00
Stephane Nicoll 71e6a836a6 Start building against Spring Framework 5.3.17 snapshots
See gh-30177
2022-03-12 11:50:03 +01:00