Phillip Webb
55b5610dd9
Add Maven and Gradle option for the loader implementation to use
...
Add properties to the Maven and Gradle plugins so that users can
switch between the two loader modules.
See gh-37669
2023-10-03 15:40:42 -07:00
Phillip Webb
a89057b7c7
Reintroduce spring-boot-loader modules
...
Restore the `spring-boot-loader` with the previous loader code so
that we can develop it further.
See gh-37669
2023-10-03 15:40:25 -07:00
Phillip Webb
aeb6537f57
Rename spring-boot-loader to spring-boot-loader-classic
...
Rename the `spring-boot-loader` module to `spring-boot-loader-classic`
so that we can introduce an alternative loader implementation.
See gh-37669
2023-10-03 15:40:04 -07:00
Phillip Webb
c22548982a
Relocate launcher classes
...
Create alternative launcher classes under the package
`org.springframework.boot.loader.launch` and use them in favor
of the previous location.
This update is designed to improve compatibility with future
changes in the loader.
Closes gh-37667
2023-10-03 14:53:04 -07:00
Phillip Webb
3d6859e80f
Use the term "uber jar" in reference documentation and javadoc
...
Update reference documentation and javadoc to use the term "uber jar"
rather than "fat jar".
Closes gh-37653
2023-10-02 23:01:34 -07:00
Phillip Webb
780f75d5a2
Polish
2023-10-02 23:01:21 -07:00
Phillip Webb
e3036dcb99
Merge branch '3.1.x'
...
Closes gh-37658
2023-10-02 23:00:15 -07:00
Phillip Webb
7bb60fc7c7
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37656
2023-10-02 22:59:45 -07:00
Phillip Webb
ed4ab667a1
Enable LoaderIntegrationTests on aarch64
...
Closes gh-37654
2023-10-02 22:42:21 -07:00
Moritz Halbritter
a7373c182a
Merge branch '3.1.x'
...
Closes gh-37523
2023-09-22 08:42:18 +02:00
Moritz Halbritter
58941d85f2
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37521
2023-09-22 08:41:58 +02:00
Moritz Halbritter
f96690348f
Use Bellsoft JDK 21 in LoaderIntegrationTests
...
Closes gh-35900
2023-09-22 08:35:22 +02:00
Andy Wilkinson
3eb89343d0
Merge branch '2.7.x' into 3.0.x
2023-09-13 13:37:31 +01:00
Andy Wilkinson
c4368bc934
Run LoaderIntegrationTests on Java 21
...
See gh-37359
2023-09-13 13:36:04 +01:00
Andy Wilkinson
a84e2db285
Merge branch '3.1.x'
2023-09-08 11:47:42 +01:00
Andy Wilkinson
b29b35905c
Merge branch '2.7.x' into 3.0.x
2023-09-08 11:45:46 +01:00
Andy Wilkinson
2656f02001
Fix launch script integration tests on Intel Macs
...
Closes gh-36799
2023-09-08 11:45:25 +01:00
Andy Wilkinson
ed5d16de84
Upgrade to Jetty 12
...
Closes gh-36073
2023-09-07 13:59:15 +01:00
Moritz Halbritter
e532b3b830
Merge branch '3.1.x'
...
Closes gh-37141
2023-08-30 14:16:32 +02:00
Moritz Halbritter
c749fcb478
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37139
2023-08-30 14:15:27 +02:00
Moritz Halbritter
0f6342a882
Make JarLaunchScript and SysVinit integration tests ARM64 compatible
...
Closes gh-36799
2023-08-30 14:01:32 +02:00
Andy Wilkinson
bc88a133d3
Merge branch '3.1.x'
...
Closes gh-36869
2023-08-09 13:44:14 +01:00
Andy Wilkinson
1b7467adc3
Merge branch '2.7.x' into 3.0.x
...
Closes gh-36867
2023-08-09 13:43:51 +01:00
Andy Wilkinson
1765f4e9cf
Ensure that server tests run when test apps have changed
...
Closes gh-19858
2023-08-09 13:43:24 +01:00
Scott Frederick
c600be74ff
Merge branch '3.1.x'
...
Closes gh-36542
2023-07-24 16:06:13 -05:00
Scott Frederick
c5d2415834
Merge branch '2.7.x' into 3.0.x
...
Closes gh-36540
2023-07-24 16:04:28 -05:00
Scott Frederick
90be62bc7a
Update Docker images used for launch script tests
...
Closes gh-24349
2023-07-24 15:46:30 -05:00
Andy Wilkinson
6d8ca7286a
Merge branch '3.1.x'
...
Closes gh-36128
2023-06-30 08:26:26 +01:00
Andy Wilkinson
93f8bd2170
Merge branch '2.7.x' into 3.0.x
...
Closes gh-36126
2023-06-30 08:25:53 +01:00
Andy Wilkinson
996252f929
Stop using deprecated classifier property
...
Closes gh-36125
2023-06-30 08:22:14 +01:00
Andy Wilkinson
dbb24286ff
Separate stopping and destruction so web server can be restarted
...
Previously, when a Servlet-based WebServer was stopped it would also
stop the ServletContext. This led to problems as Tomcat and Undertow
would then not allow a restart. Jetty would allow a restart but
duplicate servlet registrations would then be attempted.
This commit modifies the WebServer lifecycle to separate stopping
and destruction for both servlet and reactive web servers. This
allows a WebServer's stop() implementation to leave some components
running so that they can be restarted. To completely shut down a
WebServer destroy() must now be called.
Both Tomcat and Jetty WebServers have been updated to stop their
network connections when stop() is called but leave other components
running. This works with both servlet and reactive web servers.
Note that an Undertow-based Servlet web server does not support
stop and restart. Once stopped, a Servlet Deployment cannot be
restarted and it does not appear to be possible to separate the
lifecycle of its network connections and a Servlet deployment.
Reactor Netty and Undertow-based reactive web servers can now also
be stopped and then restarted. Calling stop() stops the whole server
but this does not cause a problem as there's no (application-exposed)
ServletContext involved. There may be room to optimize this in the
future if the need arises.
Closes gh-34955
2023-06-26 20:58:59 +01:00
Moritz Halbritter
23979e6ccf
Enable LoaderIntegrationTests on Java 21
2023-06-15 10:13:19 +02:00
Moritz Halbritter
372af21313
Merge branch '2.7.x' into 3.0.x
2023-06-07 10:17:14 +02:00
Moritz Halbritter
140e806357
Enable LoaderIntegrationTests on Java 20
...
See gh-35758
2023-06-07 10:16:54 +02:00
Moritz Halbritter
c2dd20f4ea
Merge branch '2.7.x' into 3.0.x
2023-05-03 13:07:00 +02:00
Moritz Halbritter
f5eb76074b
Disable loader integration tests on aarch64 linux and mac
...
See gh-35229
2023-05-03 11:32:39 +02:00
Moritz Halbritter
f3d0bc7a99
Disable launch script integration tests on aarch64 linux and mac
...
See gh-35229
2023-05-03 11:32:33 +02:00
Phillip Webb
d1f89db9a2
Merge branch '2.7.x' into 3.0.x
2023-03-02 22:10:01 -08:00
Phillip Webb
d39c94f437
Refine ConfigurationProcessorIntegrationTests resource detection logic
2023-03-02 21:52:53 -08:00
Phillip Webb
c4de86c244
Merge branch '2.7.x' into 3.0.x
2023-02-21 23:17:57 -08:00
Phillip Webb
df5898a146
Reformat code following spring-javaformat upgrade
2023-02-21 22:53:27 -08:00
Krzysztof Krason
6e46423983
Use diamond operators
...
See gh-33987
2023-01-26 20:35:08 -08:00
Andy Wilkinson
b67c427259
Upgrade to Servlet 6.0 and related EE 10 specs
...
Co-authored-by: Phillip Webb <pwebb@vmware.com>
Closes gh-33036
Closes gh-33037
Closes gh-33038
Closes gh-33039
Closes gh-33040
Closes gh-33041
Closes gh-33042
Closes gh-33043
2022-11-07 17:33:38 +00:00
Phillip Webb
d7941c6315
Polish
2022-11-05 18:44:57 -07:00
Phillip Webb
4be3218cb6
Merge branch '2.7.x'
2022-10-25 15:48:26 -07:00
Scott Frederick
c22e76632c
Add Build-Jdk-Spec to jar and war manifest when building with Gradle
...
This commit adds a `Build-Jdk-Spec` attribute to the manifest in a
jar or war file built with the Spring Boot Gradle plugin. This
aligns the Gradle plugin's behavior with the default Maven plugin
behavior.
This removes the need to set a `BP_JVM_VERSION` environment variable
when invoking Cloud Native Buildpacks, as the Paketo buildpacks will
honor `Build-Jdk-Spec` in a jar or war manifest to determine the
default JVM version.
Fixes gh-32829
2022-10-25 15:48:05 -05:00
Phillip Webb
e0b67889a8
Use Stream.toList instead of Stream.collect when possible
...
Update code to make use of `Stream.toList()` whenever possible.
Closes gh-28177
2022-10-04 00:29:22 -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
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
72fc1f0018
Merge branch '2.7.x'
...
Closes gh-32512
2022-09-27 08:30:44 +02:00
Stephane Nicoll
9a004a6508
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32511
2022-09-27 08:30:37 +02:00
Johnny Lim
975affc497
Enable LoaderIntegrationTests with Java 19
...
See gh-32501
2022-09-27 08:30:13 +02:00
Scott Frederick
f9c341c75a
Revert "Generate the AutoConfiguration.imports file from annotations"
...
This reverts commit da4de7d67d
.
2022-09-21 14:50:15 -05:00
Stephane Nicoll
4f6c3ab2b0
Upgrade to JUnit Jupiter 5.9.0
...
Closes gh-32351
2022-09-14 15:18:40 +02:00
Andy Wilkinson
a896fd0a36
Merge branch '2.7.x'
2022-09-10 09:38:18 +01:00
Andy Wilkinson
dffce2553c
Merge branch '2.6.x' into 2.7.x
2022-09-10 09:38:09 +01:00
Andy Wilkinson
9fe9f31af1
Polish
2022-09-10 09:38:03 +01:00
Andy Wilkinson
144abee80a
Merge branch '2.7.x'
2022-09-10 09:35:08 +01:00
Andy Wilkinson
b512083b3a
Merge branch '2.6.x' into 2.7.x
2022-09-10 09:34:57 +01:00
Andy Wilkinson
a262520f08
Disable LoaderIntegrationTests on Java 19 till it GAs
...
See gh-32280
2022-09-10 09:34:51 +01:00
Stephane Nicoll
aa6e52f029
Merge branch '2.7.x'
2022-09-10 10:32:20 +02:00
Stephane Nicoll
71fa410929
Merge branch '2.6.x' into 2.7.x
2022-09-10 10:32:12 +02:00
Stephane Nicoll
c3416ac97a
Disable LoaderIntegrationTests with Java 19
...
See gh-32295
2022-09-10 10:31:48 +02: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
Phillip Webb
4ec2e357d9
Merge branch '2.7.x'
...
See gh-32086
2022-08-17 12:49:52 -07:00
Phillip Webb
60e1cc510c
Merge branch '2.6.x' into 2.7.x
...
See gh-32085
2022-08-17 12:48:21 -07:00
Phillip Webb
bd74344025
Revert "Don't close jar files early"
...
This reverts commit b42f056ddb
.
2022-08-17 11:38:42 -07:00
Andy Wilkinson
3cf6dc25a8
Merge branch '2.7.x'
...
See gh-31403
2022-06-16 17:34:23 +01:00
Andy Wilkinson
f285d9e7cf
Merge branch '2.6.x' into 2.7.x
...
See gh-31402
2022-06-16 17:33:53 +01:00
Andy Wilkinson
252cf94332
Fix requiresUnpack following Bouncy Castle upgrade
...
See gh-31400
2022-06-16 17:32:40 +01:00
Andy Wilkinson
d370d19e7a
Merge branch '2.7.x'
...
Closes gh-31403
2022-06-16 12:14:52 +01:00
Andy Wilkinson
5e1cd28d3f
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31402
2022-06-16 12:14:28 +01:00
Lars Grefer
e8a1a0399a
Upgrade to Bouncycastle 1.71
...
Closes gh-31400
2022-06-16 12:14:06 +01:00
Phillip Webb
d84557f1f9
Merge branch '2.7.x'
...
Closes gh-31396
2022-06-15 10:53:17 -07:00
Phillip Webb
bcbcc53a09
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31395
2022-06-15 10:51:40 -07:00
Phillip Webb
b42f056ddb
Don't close jar files early
...
Update `JarFile` and related classes so that `close()` is not longer
called early.
Prior to this commit, we would always immediately close the underlying
jar file to prevent file locking issues with our build. This causes
issues on certain JVMs when they attempt to verify a signed jar.
The file lock issues have now been solved by returning a custom input
stream from `JarUrlConnection` which captures and delegates the close
method.
Fixes gh-29356
2022-06-15 10:51:01 -07:00
Phillip Webb
c7374fd415
Update copyright year of changed files
2022-04-20 15:30:20 -07:00
dreis2211
eea4611553
Fix references to JDK 1.8 in READMEs
...
See gh-30447
2022-03-28 09:38:24 +02:00
Andy Wilkinson
a59f60c614
Merge branch '2.7.x'
2022-03-25 11:15:08 +00:00
Andy Wilkinson
aad59efef2
Merge branch '2.6.x' into 2.7.x
...
Closes gh-30430
2022-03-25 11:14:57 +00:00
Andy Wilkinson
344aa405ae
Merge branch '2.5.x' into 2.6.x
...
Closes gh-30429
2022-03-25 11:14:46 +00:00
Andy Wilkinson
e36ac6c155
Polish "Enable Java 18 for LoaderIntegrationTests"
...
See gh-30422
2022-03-25 11:02:57 +00:00
Eddú Meléndez
e9c433a0b7
Enable Java 18 for LoaderIntegrationTests
...
See gh-30422
2022-03-25 11:02:42 +00:00
dreis2211
be981e45d1
Remove checks for Java 9 compatibility in build.gradle files
...
See gh-30335
2022-03-21 10:48:50 +01:00
Andy Wilkinson
00193517f0
Merge branch '2.7.x'
2022-03-09 15:38:00 +00:00
Andy Wilkinson
f488db9e49
Merge branch '2.6.x' into 2.7.x
2022-03-09 15:37:47 +00:00
Andy Wilkinson
0d4d225ebb
Merge branch '2.5.x' into 2.6.x
2022-03-09 15:37:40 +00:00
Andy Wilkinson
a58cd050e5
Disable LoaderIntegrationTests when all runtimes are incompatible
...
See gh-29524
2022-03-09 15:36:53 +00:00
Andy Wilkinson
f5ca568014
Remove versions less than 17 from JavaVersion enum
...
Closes gh-29503
2022-03-09 15:16:59 +00:00
Andy Wilkinson
0833e9eab8
Relax alias checking for CI on Windows
2022-03-03 15:46:33 +00:00
Moritz Halbritter
d42f675959
Merge branch '2.7.x'
2022-02-21 10:36:05 +01:00
Moritz Halbritter
d7b229d3c7
Rename AutoConfigurationLoader to ImportCandidates
...
Move the class to a more suitable package, and load the files from
META-INF/spring/<fqn>.imports
See gh-29872
2022-02-21 10:34:38 +01:00
Moritz Halbritter
42808ff13c
Merge branch '2.7.x'
...
# Conflicts:
# spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories
# spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories
# spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories
2022-02-17 10:56:23 +01:00
Moritz Halbritter
7c96294641
Move our auto-configurations from spring.factories to new file
...
Closes gh-29873
2022-02-17 10:18:46 +01:00
Moritz Halbritter
303979fb65
Merge branch '2.7.x'
2022-02-17 09:17:35 +01:00
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
fdb1010cbc
Migrate auto-configurations to @AutoConfiguration
...
Closes gh-29871
2022-02-16 15:48:27 +01:00
Moritz Halbritter
8e99788fc8
Migrate auto-configurations to @AutoConfiguration
...
Closes gh-29871
2022-02-16 13:55:16 +01:00
Andy Wilkinson
1fa541d4de
Merge branch '2.7.x'
2022-01-19 17:24:42 +00:00
Andy Wilkinson
4c422b9f3c
Merge branch '2.5.x' into 2.6.x
2022-01-19 17:24:17 +00:00