Commit Graph

3070 Commits

Author SHA1 Message Date
Sébastien Deleuze
a6f1bb9590 Update Kotlin DSL examples of bootBuildImage to be additive
See gh-41173
2024-06-28 13:47:42 +02:00
Andy Wilkinson
365fdfee45 Reduce scope of mavenOptional feature to only the Maven Plugin
Previously, the mavenOptional was added to every published module but it
was only used by spring-boot-maven-plugin. This commit reduces its scope
so that it only affects the Maven plugin. It also reworks the
implementation to reuse the existing optional configuration rather than
declaring a new mavenOptional configuration. Lastly, publication of
Gradle Module Metadata (GMM) has been disabled for
spring-boot-maven-plugin. This is seen as preferable to publishing the
metadata – which isn't really needed as it does not contain any useful
additional information – and having to suppress warnings about
incomplete mapping of GMM to pom metadata.

Closes gh-41263
2024-06-28 11:39:46 +01:00
Andy Wilkinson
2ed72c6e4d Correct syntax for plexus-utils exclusion
See 07442f8366
See gh-41248
2024-06-28 11:39:46 +01:00
Andy Wilkinson
d2f74426f7 Work around bug in Gradle's Eclipse model
The model incorrectly marks the Gradle API and all of its
dependencies as test dependencies, making them unavailable in Eclipse
to code in src/main/java. We work around this by modifying the
classpath container to remove the test attribute from the
dependencies that should be available to main code.

See gh-41228
2024-06-27 12:58:36 +01:00
Andy Wilkinson
4515c882c7 Merge branch 'gh-41228' into 3.2.x
Closes gh-41228
2024-06-27 09:55:59 +01:00
Phillip Webb
962936370a Don't report already migrated properties
Update `PropertiesMigrationReporter` so that already migrated properties
are not reported. Prior to this commit, if a deprecated property was
replaced by a property that could bind with the name relaxed name it
would be reported. For example: `test.someproperty` being replaced with
`test.some-property`.

In order to check the actual underlying property name, the
`PropertySourceOrigin` class has been updated so that it is always
returned, even if another `Origin` is available.

Fixes gh-35774
2024-06-26 16:24:32 -07:00
Andy Wilkinson
654016af7f Move Docker-related test support into a separate module
See gh-41228
2024-06-26 19:47:35 +01:00
Andy Wilkinson
89a06608d2 Update spring-boot-maven-plugin to use docker-test plugin
See gh-41228
2024-06-26 19:46:29 +01:00
Andy Wilkinson
7d5a761d51 Update spring-boot-gradle-plugin to use docker-test plugin
See gh-41228
2024-06-26 19:46:25 +01:00
Andy Wilkinson
d5ef5e9c9d Update spring-boot-buildpack-platform to use docker-test plugin
See gh-41228
2024-06-26 19:46:08 +01:00
Andy Wilkinson
07442f8366 Exclude plexus-utils in favor of Maven's build-in version
Closes gh-41248
2024-06-26 16:59:23 +01:00
Phillip Webb
85f6641a7e Allow 'npipe://' prefix in Docker host address
Update `LocalHttpClientTransport` to support explicit `npipe://` prefix
in the host name. This is the format used in the Docker config from
v4.31.1 onward.

Fixes gh-41199
2024-06-25 12:40:11 -07:00
Phillip Webb
2a4582b084 Update copyright year of changed files 2024-06-19 22:54:40 -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
e228ed39b3 Support CNB builders that do not specify a stack
Fixes gh-41046
2024-06-12 15:16:21 -05: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
Ahmed Ashour
2c5934dab2 Use 'switch' instead of 'if'
See gh-40985
2024-06-11 12:24:11 -07:00
Scott Frederick
2bb74b261c Disable stale checking for local Docker daemon connections
Fixes gh-40697
2024-06-10 17:27:02 -05: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
dd6f516d66 Test Gradle Plugin against 8.8
Closes gh-40573
2024-06-03 08:29:02 +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
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
Scott Frederick
4e5cd2c2fd Fix default security options for bootBuildImage task
Fixes gh-39830
2024-05-22 07:56:15 -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
d38c1e06b3 Ignore exceptions when deleting caches in bind cache tests
See gh-40760
2024-05-16 22:19:04 -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
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
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
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
feaccef3a4 Temporarily disable tests for image building with bind caches
See gh-40760
2024-05-16 17:22:02 +01: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
24bfe5087f Fix checkstyle violation
See gh-40549
2024-05-08 18:28:09 -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
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
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
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
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
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
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
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