Commit Graph

3231 Commits

Author SHA1 Message Date
Phillip Webb
905d6b96d0 Merge branch '3.2.x'
Closes gh-41166
2024-06-19 22:30:58 -07:00
Andy Wilkinson
491f34d25c Improve container test code
Replace `DockerImageNames` with a enum and relocate it from the
`testcontainers` to `container` package. The enum now also
becomes a common location that we can use to apply container
configuration such as timeouts.

Closes gh-41164

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2024-06-19 20:10:03 -07:00
Scott Frederick
84956ad56b Merge branch '3.2.x'
Closes gh-41091
2024-06-12 15:16:26 -05:00
Scott Frederick
e228ed39b3 Support CNB builders that do not specify a stack
Fixes gh-41046
2024-06-12 15:16:21 -05:00
Piyal Ahmed
e2cf638cd5 Add file extension to xref
See gh-41083
2024-06-12 10:45:07 +02:00
Phillip Webb
147240aa0c Merge branch '3.2.x'
Closes gh-41080
2024-06-11 13:32:30 -07:00
Phillip Webb
bcbcafaab2 Polish "Use method references when possible in test code"
See gh-40974
2024-06-11 12:58:04 -07:00
Ahmed Ashour
207327d97c Use method references when possible in test code
See gh-40974
2024-06-11 12:58:00 -07:00
Phillip Webb
dcccb3b2b1 Polish "Use method references when possible"
See gh-40974
2024-06-11 12:57:59 -07:00
Ahmed Ashour
507229eef8 Use method references when possible
See gh-40974
2024-06-11 12:57:55 -07:00
Phillip Webb
41c93c53e5 Merge branch '3.2.x'
Closes gh-41079
2024-06-11 12:31:43 -07:00
Ahmed Ashour
2c5934dab2 Use 'switch' instead of 'if'
See gh-40985
2024-06-11 12:24:11 -07:00
Moritz Halbritter
b6c9914c0b Configure Gradle's processResources to include the SBOM
This also configures the BootWar task to add the SBOM location to the
manifest.

Closes gh-40890
2024-06-11 11:42:26 +02:00
Scott Frederick
87094edab0 Merge branch '3.2.x'
Closes gh-41049
2024-06-10 17:32:46 -05:00
Scott Frederick
2bb74b261c Disable stale checking for local Docker daemon connections
Fixes gh-40697
2024-06-10 17:27:02 -05:00
Moritz Halbritter
771e356b3b Use version 2.34.0 of ActiveMQ Artemis docker image
Closes gh-41008
2024-06-07 10:43:32 +02:00
Scott Frederick
2df0c7961a Reorganize packaging and optimizing documentation
Documentation for native executables, CDS, and checkpoint/restore are
now under a common heading in the reference documentation, along with
sections on building container images. A few sections containing
prescriptive workflows have been moved from reference to how-to guides.
This consolidates and improves the consistency of recommendations on
how to package and run applications.

Closes gh-40977
2024-06-06 16:11:10 -05:00
Andy Wilkinson
16302c18b2 Merge branch '3.2.x'
Closes gh-41006
2024-06-06 14:58:28 +01:00
Andy Wilkinson
217c2c862b Ignore file entries in META-INF/versions of multi-release jar
Fixes gh-41001
2024-06-06 13:28:36 +01:00
Andy Wilkinson
58a175bf23 Merge branch '3.2.x'
Closes gh-40975
2024-06-03 09:37:14 +01:00
Andy Wilkinson
dd6f516d66 Test Gradle Plugin against 8.8
Closes gh-40573
2024-06-03 08:29:02 +01:00
Andy Wilkinson
cf447e3aa6 Merge branch '3.2.x'
Closes gh-40931
2024-05-28 16:52:32 +01:00
Andy Wilkinson
5ee0580339 Upgrade to the latest Framework 6.0.x release
Closes gh-40929
2024-05-28 16:52:00 +01:00
Andy Wilkinson
73b7705baf Merge branch '3.2.x'
Closes gh-40924
2024-05-28 10:51:08 +01:00
Andy Wilkinson
d80cf05406 Remove unnecessary use of SingletonSupplier
As of Framework 6.1, it contains a field of a type that's
incompatible with Gradle's configuration cache.

Fixes gh-40911
2024-05-28 10:50:33 +01:00
Moritz Halbritter
9def6f86c9 Keep track of written jar entries to not duplicate them
Closes gh-40903
2024-05-27 12:18:00 +02:00
Scott Frederick
fccc4ec3b8 Merge branch '3.2.x'
Closes gh-40871
2024-05-22 08:36:35 -05:00
Scott Frederick
4e5cd2c2fd Fix default security options for bootBuildImage task
Fixes gh-39830
2024-05-22 07:56:15 -05:00
Scott Frederick
48632b212f Merge branch '3.2.x'
Closes gh-40819
2024-05-17 11:42:21 -05:00
Scott Frederick
7f2b917851 Merge branch '3.1.x' into 3.2.x
Closes gh-40818
2024-05-17 11:41:23 -05:00
Scott Frederick
70aceb21eb Relocate test CNB builder and buildpack
The test CNB builder and buildpack used in integration tests have moved
from a projects.registry.vmware.com registry to ghcr.io/spring-io. This
commit modifies tests to use the new location.

Closes gh-40800
2024-05-17 10:59:41 -05:00
Scott Frederick
95145b23ec Merge branch '3.2.x' 2024-05-16 22:19:13 -05:00
Scott Frederick
d38c1e06b3 Ignore exceptions when deleting caches in bind cache tests
See gh-40760
2024-05-16 22:19:04 -05:00
Scott Frederick
190b120628 Merge branch '3.2.x' 2024-05-16 21:20:10 -05:00
Scott Frederick
bdc6508b62 Catch any exception when deleting image building workspace
See gh-40760
2024-05-16 21:19:51 -05:00
Scott Frederick
5f4d7f41bc Merge branch '3.2.x'
Closes gh-40799
2024-05-16 17:38:07 -05:00
Scott Frederick
cd441130bd Warn when image building workspace directories cannot be deleted
When the `buildWorkspace` location in the
`spring-boot:build-image` Maven goal or `bootBuildImage` Gradle
task is configured to use a local bind source, the location
is passed to the CNB lifecycle without further processing by
Spring Boot. The lifecycle is in control of creating any files
in the specified location. Spring Boot tries to remove the
directories at the specified location after an image is
successfully created, but should not fail the image build
if the lifecycle has created files or directories with
permissions that keep them from being deleted successfully.

Fixes gh-40760
2024-05-16 17:37:44 -05:00
Andy Wilkinson
85acdf5165 Merge branch '3.2.x'
Closes gh-40796
2024-05-16 18:21:02 +01:00
Andy Wilkinson
524424bc98 Merge branch '3.1.x' into 3.2.x
Closes gh-40795
2024-05-16 18:20:52 +01:00
Andy Wilkinson
a1d5369a9c Limit configuration cache testing to the latest version of Gradle
Closes gh-40794
2024-05-16 18:20:13 +01:00
Andy Wilkinson
50b197da55 Merge branch '3.2.x'
Closes gh-40793
2024-05-16 18:07:01 +01:00
Andy Wilkinson
493efd6798 Merge branch '3.1.x' into 3.2.x
Closes gh-40792
2024-05-16 18:06:32 +01:00
Andy Wilkinson
f35ecfbdca Reduce and update the versions of Maven that we test against
Closes gh-40791
2024-05-16 18:05:24 +01:00
Andy Wilkinson
d77fcf30fa Merge branch '3.2.x' 2024-05-16 17:22:36 +01:00
Andy Wilkinson
feaccef3a4 Temporarily disable tests for image building with bind caches
See gh-40760
2024-05-16 17:22:02 +01:00
Moritz Halbritter
d98987f11e Merge branch '3.2.x'
Closes gh-40701
2024-05-13 11:31:55 +02:00
Moritz Halbritter
364af04377 Merge branch '3.1.x' into 3.2.x
Closes gh-40700
2024-05-13 11:30:42 +02:00
Yanming Zhou
0e450d602d Use CollectionUtils.isEmpty() and StringUtils.hasLength()
See gh-40645
2024-05-13 11:26:56 +02:00
Phillip Webb
348ed47e67 Merge branch '3.2.x' 2024-05-08 18:28:24 -07:00
Phillip Webb
24bfe5087f Fix checkstyle violation
See gh-40549
2024-05-08 18:28:09 -07:00
Phillip Webb
5e4796f0fb Merge branch '3.2.x' 2024-05-08 18:05:31 -07:00
Phillip Webb
8457fc333f Adapt Windows path handling fix to deal with Jetty
Update `NestedLocation` to deal with the fact that Jetty attempts
to fix URLs.

See gh-40549
2024-05-08 18:04:17 -07:00
Phillip Webb
ac9d2e7c11 Merge branch '3.2.x'
Closes gh-40643
2024-05-08 15:44:35 -07:00
Phillip Webb
7708ec7592 Fix Windows path handling for nested jars
Update `Path` creation for nested locations to allow both UNC and classic
file references to be used. This commit attempts to align our URL
handling with that of standard file URLs. The `NestedLocation` class
no longer attempts to remove leading all `\` characters and instead
only removes the first `\` when the second char is `:`. This duplicates
the logic found in Java's own internal `WindowsUriSupport` class which
is used when calling `Path.of(url)` with a `file:` URL.

Fixes gh-40549
2024-05-08 15:44:03 -07:00
Moritz Halbritter
9bb981be11 Merge branch '3.2.x'
Closes gh-40625
2024-05-06 10:25:08 +02:00
Moritz Halbritter
c47cdda824 Merge branch '3.1.x' into 3.2.x
Closes gh-40624
2024-05-06 09:51:39 +02:00
Moritz Halbritter
d18fb9ce65 Upgrade to bcprov-jdk18on 1.78.1
Closes gh-40621
2024-05-06 09:49:32 +02:00
Phillip Webb
3b66eb7bb7 Merge branch '3.2.x'
See gh-40616
2024-05-03 12:31:33 -07:00
Phillip Webb
8a72e55106 Fix UriPathEncoder bug to improve performance
Fix `isAllowed` check and write test to ensure that additional object
instances are not created unnecessarily.

See gh-40615
2024-05-03 12:29:41 -07:00
Phillip Webb
208efae975 Merge branch '3.2.x'
Closes gh-40616
2024-05-02 15:53:38 -07:00
Phillip Webb
d0ce4daec1 Use URI encoded values when creating NestedPath URIs
Update `NestedPath.toUri()` so that the URI is constructed using encoded
strings.

Fixes gh-40615
2024-05-02 15:53:01 -07:00
Moritz Halbritter
d3e49747b0 Merge branch '3.2.x' 2024-05-02 14:48:37 +02:00
Moritz Halbritter
75dac1435f Merge branch '3.1.x' into 3.2.x 2024-05-02 14:48:04 +02:00
Moritz Halbritter
68a63a7797 Polish 2024-05-02 14:47:53 +02:00
Andy Wilkinson
c44e477a77 Merge branch '3.2.x'
Closes gh-40613
2024-05-02 10:49:55 +01:00
Andy Wilkinson
94c9a5c686 Polish 2024-05-02 10:49:31 +01:00
Andy Wilkinson
c7ec6080ce Publish a runtime variant that supports Java 22
In order to support Java 22, we must use spring-core 6.1.x.
spring-core 6.1.x is a multi-release jar so, in order to support Java
22, a version of Gradle that supports multi-release jars must be
used.

This commit adds a new variant to spring-boot-gradle-plugin for
modern versions of Gradle. When Gradle's plugin API version is 8.7 or
later, we use spring-core 6.1.x. spring-core 6.0.x is used at all
other times.

Closes gh-40074
2024-05-02 10:45:18 +01:00
Moritz Halbritter
51b8b992aa Merge branch '3.2.x'
Closes gh-40606
2024-05-02 10:51:24 +02:00
Moritz Halbritter
888ae040e4 Merge branch '3.1.x' into 3.2.x
Closes gh-40605
2024-05-02 10:51:10 +02:00
Moritz Halbritter
64b302032c Polish "Change Spring Boot CLI init command docs default build system to gradle"
See gh-40603
2024-05-02 10:49:51 +02:00
coursar
1a786fc788 Change Spring Boot CLI init command docs default build system to gradle
See gh-40603
2024-05-02 10:44:33 +02:00
Phillip Webb
63dedaafe0 Merge branch '3.2.x'
Closes gh-40599
2024-05-01 22:46:53 -07:00
yokotaso
5b4bd61720 Fix possible NullPointerException from getPermission()
Fix regression in `JarUrlConnection` where a NullPointerException could
be thrown internally causing performance issues.

When the SecurityManager is present, the following stack trace is
thrown:

java.lang.NullPointerException: Cannot invoke "java.net.URLConnection.getPermission()" because "this.jarFileConnection" is null
        at org.springframework.boot.loader.net.protocol.jar.JarUrlConnection.getPermission(JarUrlConnection.java:175)
        at java.base/jdk.internal.loader.URLClassPath.check(URLClassPath.java:553)
        at java.base/jdk.internal.loader.URLClassPath$Loader.findResource(URLClassPath.java:612)
        at java.base/jdk.internal.loader.URLClassPath.findResource(URLClassPath.java:296)
        at java.base/java.net.URLClassLoader$2.run(URLClassLoader.java:629)
        at java.base/java.net.URLClassLoader$2.run(URLClassLoader.java:627)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.net.URLClassLoader.findResource(URLClassLoader.java:626)
        at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.findResource(JarUrlClassLoader.java:70)
        at java.base/java.lang.ClassLoader.getResource(ClassLoader.java:1403)
        at java.base/java.net.URLClassLoader.getResourceAsStream(URLClassLoader.java:290)
        at java.base/java.lang.Class.getResourceAsStream(Class.java:2850)

See gh-39856
2024-05-01 22:42:52 -07:00
Phillip Webb
ff5c2a2351 Improve javadoc cleanup to remove duplicate spaces
Improve `TypeUtils` so that repeated space chars are removed.

Fixes gh-40593
2024-05-01 22:37:10 -07:00
Scott Frederick
c6c02906ef Merge branch '3.2.x'
Closes gh-40577
2024-04-29 16:43:20 -05:00
Scott Frederick
21a0bc7fee Merge branch '3.1.x' into 3.2.x
Closes gh-40576
2024-04-29 16:42:53 -05:00
Moritz Halbritter
a12e3d4594 Merge branch '3.2.x'
Closes gh-40530
2024-04-26 11:13:03 +02:00
Moritz Halbritter
5707ca83e9 Merge branch '3.1.x' into 3.2.x
Closes gh-40529
2024-04-26 11:12:46 +02:00
chaewss
d51282aff5 Remove unnecessary null check for expectedDeprecationMessages
See gh-40524
2024-04-26 11:12:20 +02:00
Moritz Halbritter
760bc9237d Merge branch '3.2.x' 2024-04-26 09:20:47 +02:00
Moritz Halbritter
f13e487724 Close streams in test before deleting file 2024-04-26 09:20:36 +02:00
Phillip Webb
abdff95ad0 Merge branch '3.2.x'
Closes gh-40526
2024-04-25 12:54:13 -07:00
Phillip Webb
9e40970280 Support gzip compressed image layers
Update buildpack support to allow gzip compressed image layers to be
used when returned by the Docker engine. This update is restores
buildpack support when using Docker Desktop with the "Use containerd
for pulling and storing images" option enabled.

This commit introduces a new `ExportedImageTar` class to deal with the
intricacies of determining the mimetype of a layer. The class deals with
the parsing of `index.json' and related manifest blobs in order to
obtain layer information. The legacy `manifest.json` format is also
supported should `index.json` be missing.

Tests have been added to ensure that export archives from Docker Engine,
Docker Desktop (with and without containerd), and Podman can be used.

Fixes gh-40100

Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
Co-authored-by: Scott Frederick <scott.frederick@broadcom.com>
2024-04-25 11:51:59 -07:00
Moritz Halbritter
126927f462 Merge branch '3.2.x'
Closes gh-40499
2024-04-24 14:04:17 +02:00
Moritz Halbritter
b416db4dee Merge branch '3.1.x' into 3.2.x
Closes gh-40498
2024-04-24 14:04:08 +02:00
Moritz Halbritter
2cb19f368e Polish "Remove unnecessary nesting of calls to String.format"
See gh-40494
2024-04-24 13:57:07 +02:00
Hyeon Sung
0cf15fcad0 Remove unnecessary nesting of calls to String.format
See gh-40494
2024-04-24 13:55:04 +02:00
Scott Frederick
2019533b65 Merge branch '3.2.x'
Closes gh-40476
2024-04-22 13:28:09 -05:00
Scott Frederick
fc03fded39 Merge branch '3.1.x' into 3.2.x
Closes gh-40475
2024-04-22 13:27:57 -05:00
Scott Frederick
cdf207cf74 Stop expecting deprecations in NativeImagePluginActionIntegrationTests
Closes gh-35709
2024-04-22 13:14:37 -05:00
Phillip Webb
bce468fb19 Polish 'Generate configuration metadata for records'
Restructure `PropertyDescriptor` type hierarchy and polish code.

See gh-29403
2024-04-22 10:28:00 -07:00
Pavel Anisimov
af976caec9 Generate configuration metadata for records
Update `spring-boot-configuration-processor` to support generating
configuration metadata from record parameter javadoc.

See gh-29403
2024-04-22 10:27:47 -07:00
Moritz Halbritter
de560a933c Extract all files under META-INF
Closes gh-40456
2024-04-22 13:20:57 +02:00
Andy Wilkinson
eb23d3cf59 Merge branch '3.2.x'
Closes gh-40465
2024-04-22 11:18:35 +01:00
Andy Wilkinson
deffda47f6 Merge branch '3.1.x' into 3.2.x
Closes gh-40464
2024-04-22 11:18:22 +01:00
Andy Wilkinson
ca4d64ed16 Use absolute path when showing classpath where main class was not found
Closes gh-40463
2024-04-22 11:16:37 +01:00
Phillip Webb
6963bd884b Merge branch '3.2.x' 2024-04-18 12:53:26 -07:00
Phillip Webb
38af8cd362 Merge branch '3.1.x' into 3.2.x 2024-04-18 12:52:54 -07:00
Phillip Webb
20db2b54c7 Update copyright year of changed files 2024-04-18 12:52:29 -07:00
Moritz Halbritter
8df899b510 Merge branch '3.1.x' into 3.2.x
Closes gh-40427
2024-04-18 11:59:50 +02:00