Commit Graph

39605 Commits (0b49fed06cd0241c265046aaef02678d2f632e5b)
 

Author SHA1 Message Date
Scott Frederick 8d0ca4e640 Merge branch '2.6.x' into 2.7.x
Closes gh-32410
2 years ago
Scott Frederick 057ad72945 Enable Paketo builder system tests on Java 18
Closes gh-32296
2 years ago
Scott Frederick 1ed4d89466 Copy native reachability metadata to jar file in Gradle plugin
When the Spring Boot Gradle plugin builds a fat jar and the Native
Build Tools Gradle plugin is applied to the build, any configuration
files from the GraalVM reachability metadata repository that match
project dependencies are copied to a `META-INF/native-image`
directory in the fat jar.

Closes gh-32408
2 years ago
Andy Wilkinson 2b3ef96156 Merge branch '2.7.x'
Closes gh-32407
2 years ago
Andy Wilkinson a800f7d77c Merge branch '2.6.x' into 2.7.x
Closes gh-32406
2 years ago
Andy Wilkinson 61e11cd361 Ensure that TCCL is clean when DataSource is accessed
Previously, when using Tomcat, its web app class loader was the thread
context class loader when H2ConsoleAutoConfiguration triggered
initialization of Hikari's pool. This was the case because it's done
in the bean method of a ServletRegistrationBean. Such Servlet-related
beans are intentionally created with Tomcat's web app classloader as
the TCCL. This arrangement results in the pool's threads using
Tomcat's web app class loader as their TCCL which is not desirable.
One consequence of this was that Tomcat could log a warning at
shutdown about the thread being left running when it will, in fact,
be stopped as part of the context being closed.

This commit updates H2ConsoleAutoConfiguration to set the TCCL to its
own ClassLoader while the DataSource information is being logged.

Closes gh-32382
2 years ago
Andy Wilkinson 5cb68eab1e Remove HotSpot specifics from HeapDumper strategy interface
Closes gh-27533
2 years ago
Andy Wilkinson f731279fef Merge branch '2.7.x'
Closes gh-32403
2 years ago
Andy Wilkinson 7827e8166e Merge branch '2.6.x' into 2.7.x
Closes gh-32402
2 years ago
Andy Wilkinson ab26050fe7 Document support for Java 19
Closes gh-32259
2 years ago
Stephane Nicoll a8f08996e0 Merge branch '2.7.x' 2 years ago
Stephane Nicoll b293541906 Upgrade to Spring HATEOAS 2.0.0-M6
Closes gh-31855
2 years ago
Stephane Nicoll 93601611fd Merge branch '2.6.x' into 2.7.x 2 years ago
Stephane Nicoll 756eaea766 Upgrade to Spring HATEOAS 1.5.2
Closes gh-32378
2 years ago
Stephane Nicoll 998396dd8a Upgrade to Spring HATEOAS 1.4.5
Closes gh-32400
2 years ago
Madhura Bhave b44a7e242c Support Mongo's Stable API in MongoHealthIndicator
Closes gh-30849
2 years ago
Phillip Webb 7f5785182d Switch @SpringBootTest to UseMainMethod.NEVER by default
See gh-22405
2 years ago
Phillip Webb 48f3cd75d4 Refine SpringBootTest.useMainMethod support
Refine `SpringBootContextLoader` so that calls to the main method do
not exit early and the hook is only used when necessary.

See gh-22405
2 years ago
Stephane Nicoll f1b60eef55 Upgrade to Spring Retry 2.0.0-M1
Closes gh-32293
2 years ago
Andy Wilkinson 2b503ee334 Add AOT-generated classes as a dependency
Previously, the AOT-generated classes were added directly to the
compile classpath of the AOT compilation task. This didn't work
perfectly in IntelliJ IDEA, leaving the generated classes in the
runtime scope and causing compilation problems where the
AOT-generated source tried to reference those classes.

This commit updates the plugin to add the AOT-generated classes as
a dependency to the AOT source set's implementation configuration.
This makes the classes available during compilation by the source
set's Java compilation task while also makeing IntelliJ IDEA aware
of their presence on the compile classpath.

Closes gh-32395
2 years ago
Andy Wilkinson 0476b5da5d Upgrade to Selenium HtmlUnit 3.64.0 and Selenium 4.4.0
Closes gh-32372
Closes gh-32373
2 years ago
Andy Wilkinson aa67f2422a Merge branch '2.7.x' 2 years ago
Andy Wilkinson 52522b87f0 Merge branch '2.6.x' into 2.7.x
Closes gh-32393
2 years ago
Andy Wilkinson 77f428498f Compile against SnakeYAML 1.32 and test against older versions
Closes gh-32392
2 years ago
Stephane Nicoll d111aa21cf Merge branch '2.7.x' 2 years ago
Stephane Nicoll 3803cda746 Upgrade to Spring Framework 6.0.0-M6
Closes gh-31834
2 years ago
Stephane Nicoll 150682a2cc Merge branch '2.6.x' into 2.7.x 2 years ago
Stephane Nicoll 4aabe7caf5 Upgrade to Spring Framework 5.3.23
Closes gh-32274
2 years ago
Stephane Nicoll 78fb738117 Upgrade to Spring Framework 5.3.23
Closes gh-32267
2 years ago
Stephane Nicoll e7a2f0cd5b Merge branch '2.7.x' 2 years ago
Stephane Nicoll 423f6c353a Upgrade CI to Docker 20.10.18
Closes gh-32375
2 years ago
Stephane Nicoll 8e56b77869 Merge branch '2.6.x' into 2.7.x 2 years ago
Stephane Nicoll 29cffc6e40 Upgrade CI to Docker 20.10.18
Closes gh-32376
2 years ago
Stephane Nicoll 3a55c3a530 Upgrade CI to Docker 20.10.18
Closes gh-32377
2 years ago
Stephane Nicoll 9391f329fb Upgrade to Versions Maven Plugin 2.12.0
Closes gh-32391
2 years ago
Stephane Nicoll 8f67cfd709 Upgrade to Undertow 2.2.19.Final
Closes gh-32390
2 years ago
Stephane Nicoll 74c1f5bede Upgrade to UnboundID LDAPSDK 6.0.6
Closes gh-32389
2 years ago
Stephane Nicoll 92b99e3a3f Upgrade to Tomcat 10.0.23
Closes gh-32388
2 years ago
Stephane Nicoll c10a8cb195 Upgrade to SQLite JDBC 3.39.3.0
Closes gh-32387
2 years ago
Stephane Nicoll 59448ce5d2 Upgrade to SnakeYAML 1.32
Closes gh-32386
2 years ago
Stephane Nicoll b352ebfc5a Upgrade to RSocket 1.1.3
Closes gh-32385
2 years ago
Stephane Nicoll 16bb543c16 Upgrade to Maven Shade Plugin 3.4.0
Closes gh-32384
2 years ago
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
2 years ago
Phillip Webb d1e7c9bd70 Introduce 'nativeTest' maven profile
Update `spring-boot-start-parent` with a new `nativeTest` profile. When
active, this profile will trigger AOT processing of test code and call
the native build tools 'test' goal.

Closes gh-32383
2 years ago
Phillip Webb 41e0bbf4bb Add SpringBootTest.useMainMethod support
Add a new `useMainMethod` attribute to `SpringBootTest` which can be
used to determine how the test should run. The three available options
are:

	- `ALWAYS`
	- `NEVER`
	- `WHEN_AVAILABLE`

The default is `WHEN_AVAILABLE` which will attempt to launch the test
using the `main` method if there is one.

The `SpringBootContextLoader` has been updated to use the new
`SpringApplicationHook` interface when the main method is being used.

Closes gh-22405
2 years ago
Phillip Webb fadbb4b763 Polish SpringBootContextLoader 2 years ago
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
2 years ago
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
2 years ago
Phillip Webb 6955ed9dcf Make EventPublishingRunListener package private
Closes gh-32299
2 years ago
Phillip Webb 20b91c5ae2 Include 'classesDirectory' in ProcessTestAotMojo classpath
Update `ProcessTestAotMojo` so that the classesDirectory and
the testClassesDirectory are on the classpath when compiling
code.

See gh-32191
2 years ago