Commit Graph

18320 Commits

Author SHA1 Message Date
Scott Frederick 95e62b7ff8 Sort the contents of generated imports files
The list of class names generated by annotation processors should be
sorted before being written to `AutoConfiguration.imports` and
`ManagementContextConfiguration.imports` files to make the build more
deterministic.

See gh-31228
2022-09-02 17:26:15 -05:00
Scott Frederick 6b3b0dd3a6 Generate ManagementContextConfiguration.imports file from annotations
This commit adds the
`ManagementContextConfigurationImportsAnnotationProcessor` to
the `spring-boot-autoconfigure-processor` annotation processor
module.

Closes gh-32222
2022-09-02 16:27:59 -05:00
Scott Frederick da4de7d67d Generate the AutoConfiguration.imports file from annotations
This commit adds the `AutoConfigurationImportsAnnotationProcessor` to
the `spring-boot-autoconfigure-processor` annotation processor
module. When added to a project build, the annotation processor will
generate the
`org.springframework.boot.autoconfigure.AutoConfiguration.imports`
file automatically from `@AutoConfiguration`-annotated classes. It
also applies the annotation processor to the Spring Boot build.

Closes gh-31228
2022-09-02 15:10:22 -05:00
Andy Wilkinson 795ea289db Adapt to BindingReflectionHintsRegistrar moving package 2022-09-02 19:46:02 +01:00
Andy Wilkinson cf8e84d406 Adapt to BindingReflectionHintsRegistrar moving into spring-core 2022-09-02 17:34:29 +01:00
Andy Wilkinson d6e9a03136 Adapt to synthesized annotation changes in Framework 2022-09-02 17:01:51 +01:00
Andy Wilkinson fc979397be Polish SpringBootAotPlugin 2022-09-02 16:37:15 +01:00
Andy Wilkinson fd28f6d1d6 Add Gradle plugin support for processing test contexts ahead-of-time
Closes gh-32192
2022-09-02 15:54:46 +01:00
Andy Wilkinson 746ed84120 Polish ProcessTestAotMojo 2022-09-02 12:06:54 +01:00
Phillip Webb 44f1949c5e Polish hint API calls 2022-09-01 19:43:43 -07:00
Scott Frederick 01c68a3dc8 Merge branch '2.7.x'
Closes gh-32217
2022-09-01 15:36:12 -05:00
Scott Frederick 7763a5df7d Polish auto-configuration documentation
Remove references to outdated information, emphasize use of the
`@AutoConfiguration` annotation and attributes, and edit for clarity.

Closes gh-32174
2022-09-01 15:35:59 -05: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
Brian Clozel 4aa1efa2d8 Fix build with latest Spring for GraphQL changes 2022-09-01 11:26:04 +02:00
Andy Wilkinson ee701e5c7d Merge branch '2.7.x'
Closes gh-32199
2022-08-31 14:42:05 +01:00
Andy Wilkinson a253d8d589 Merge branch '2.6.x' into 2.7.x
Closes gh-32198
2022-08-31 14:41:47 +01:00
Andy Wilkinson 7d983be769 Clarify docs on disabling HTTP client request metrics
Closes gh-32136
2022-08-31 14:36:07 +01:00
hak7a3 fb61f8af53 Remove ANTLR 2 dependency management
See gh-32149
2022-08-31 14:09:42 +01:00
Andy Wilkinson 08fde3a004 Revert "Remove dependency management for ANTLR 2"
This reverts commit a46d6b3a4c.
2022-08-31 14:06:41 +01:00
Andy Wilkinson a46d6b3a4c Remove dependency management for ANTLR 2
Closes gh-32149
2022-08-31 13:56:55 +01:00
Andy Wilkinson 4c01810ca2 Merge branch '2.7.x'
Closes gh-32197
2022-08-31 11:37:20 +01:00
Andy Wilkinson 13edfba1f5 Fix Kotlin example for empty @DefaultValue constructor binding
Closes gh-32177
2022-08-31 11:35:58 +01:00
Phillip Webb 09bd531fe5 Add Maven plugin support for processing test contexts Ahead-of-time
Refactor and update the Spring Boot Maven Plugin so that it can
be used to perform AOT processing of test classes.

Closes gh-32191
2022-08-30 20:41:30 -07:00
Phillip Webb e599a70425 Disable ResetMocksTestExecutionListener on native
Add a guard for `ResetMocksTestExecutionListener` so that it is
not applied when running in a native image.

See gh-32195
2022-08-30 20:40:34 -07:00
Phillip Webb c0b3d36205 Rename 'generateAotSources' task to processAot'
See gh-31918
2022-08-25 15:10:48 -07:00
Phillip Webb 2f6354f633 Rename 'aot-generate' goal to process-aot'
See gh-31918
2022-08-25 15:02:28 -07: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
Phillip Webb c524f8c665 Merge branch '2.7.x' 2022-08-25 11:49:12 -07:00
Phillip Webb 13c0cf7e2a Refine Javadoc to use @AutoConfiguration
See gh-32166
2022-08-25 11:48:07 -07:00
Phillip Webb b2be193908 Merge branch '2.7.x' 2022-08-24 18:13:18 -07:00
Phillip Webb e31c295ee9 Merge branch '2.6.x' into 2.7.x 2022-08-24 18:13:03 -07:00
Phillip Webb adc4e05eff Polish 2022-08-24 18:12:57 -07:00
Phillip Webb a993731ee8 Merge branch '2.7.x'
Closes gh-32168
2022-08-24 17:34:17 -07:00
Phillip Webb 10ded39217 Merge branch '2.6.x' into 2.7.x
Closes gh-32167
2022-08-24 17:33:50 -07:00
Phillip Webb 24c2daa99d Improve javadoc regarding use on @Bean methods
Closes gh-32166
2022-08-24 17:33:08 -07:00
Madhura Bhave 47effdcade Support role-based sanitization for actuator endpoints
Closes gh-32156
2022-08-24 16:03:58 -07:00
Scott Frederick ada2450483 Reinstate testing for NoSuchMethodFailureAnalyzer parsing on OpenJ9
Closes gh-28785
2022-08-24 15:27:23 -05:00
Scott Frederick c0cbaa1460 Merge branch '2.7.x' 2022-08-24 13:18:22 -05:00
Scott Frederick 257e236b06 Fix image-building unit tests on Windows
See gh-32000
2022-08-24 13:14:39 -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 6db88e12c8 Polish 'Allow multiple hosts to be set in MongoProperties'
See gh-32125
2022-08-23 20:23:11 -07:00
thegeekyasian e0d40009f3 Allow multiple hosts to be set in MongoProperties
Update `MongoProperties` with an `additional-hosts` property which
can be used to configure MongoDB in a multi-host environment.

See gh-32125
2022-08-23 20:21:16 -07: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 c67010ddd1 Make test more robust 2022-08-23 14:45:52 +02:00