Commit Graph

3584 Commits

Author SHA1 Message Date
Moritz Halbritter 2a84fe5760 Merge branch '3.2.x' into 3.3.x
Closes gh-41857
2024-08-14 16:47:52 +02:00
Moritz Halbritter 1d45016d8c Upgrade to spring-javaformat 0.0.43
Closes gh-41853
2024-08-14 16:32:41 +02:00
Stéphane Nicoll 90f847d454 Merge branch '3.3.x'
Closes gh-41696
2024-08-05 16:29:32 +02:00
Stéphane Nicoll 7607bf1ab8 Document that repackage should not be used on the command-line
This commit clarifies how we intend the spring-boot:repackage goal to
be used. As it operates on the source jar (or war) that must be
effectively up-to-date to produce an accurate result, the package phase
must have run.

Contrary to build-image that was designed to be used on the command-line
by forking a package lifecycle first, repackage does not do that. This
commit also clarifies that by providing a more focused error message.

Closes gh-22317
2024-08-05 16:16:09 +02:00
Scott Frederick 9e3e067a4c Add support for CNB platform API version 0.14
Closes gh-41549
2024-08-01 17:10:41 -05:00
Stéphane Nicoll 477bd7d15a Detect default enum value
This commit improves the configuration metadata annotation processor to
detect a default enum value. The algorithm is best-effort, similarly to
what it already does for well known prefixes (period, duration, etc).

Based on an expression and an identifier, the default value is inferred
if the expression matches the declaration of the property type.

See gh-7562
2024-08-01 15:43:21 +02:00
Stéphane Nicoll e49a2daf38 Merge branch '3.3.x'
Closes gh-41662
2024-07-31 17:04:21 +02:00
Stéphane Nicoll 8ea6d3c92e Merge branch '3.2.x' into 3.3.x
Closes gh-41661
2024-07-31 17:04:01 +02:00
Stéphane Nicoll 200fc15b5d Detect backup jar when the package lifecycle is forked
Previously, if a classifier was set and build-image was executed from
the command-line, the build will fail as the plugin was unable to find
the original jar. This is because it relies on the attached artifacts
of the project, and those are not set when package has run as part of
a forked lifecycle.

This commit makes sure that the backup file is found by convention
first, the same way it is done for the target file.

Closes gh-26721
2024-07-31 17:01:00 +02:00
Scott Frederick f2479bd4a6 Polish documentation
See gh-40944
2024-07-30 15:25:08 -05:00
Scott Frederick dfab18c965 Add imagePlatform option for image building
An `imagePlatform` option for the Maven and Gradle image-building
goal/task can be used to specify the os/architecture of any
builder, run, and buildpack images that are pulled during image
building.

Closes gh-40944
2024-07-30 14:19:40 -05:00
Stéphane Nicoll 3e7412fe7e Merge branch '3.3.x'
Closes gh-41653
2024-07-30 11:23:48 +02:00
Stéphane Nicoll e05a846a1c Merge branch '3.2.x' into 3.3.x
Closes gh-41652
2024-07-30 11:23:39 +02:00
Stéphane Nicoll 59b47e336b Remove invalid checksum policy setting
This might be a copy/paste error as the checksum policy is used for
deploying and our integration tests do not do that.

Closes gh-41651
2024-07-30 11:20:44 +02:00
Stéphane Nicoll 8ef5540624 Merge branch '3.3.x'
Closes gh-41648
2024-07-30 10:58:38 +02:00
Stéphane Nicoll 397aeee9b6 Merge branch '3.2.x' into 3.3.x
Closes gh-41647
2024-07-30 10:58:31 +02:00
Stéphane Nicoll 05468def54 Tolerate module-info with AOT processing
This commit updates the Maven Plugin to tolerate projects that are using
the module path on the JVM and targeting native images with AOT.

Previously, the plugin compiled AOT sources directly to target/classes
and the presence of a module-info there is enough to trigger a
compilation on the module path.

With this change we now compile in a separate directory that contains
the generated AOT classes (typically CGLIB proxies). These are copied to
target/classes once compilation completes already.

The integration test also uses our parent, rather than relying on what
Maven provides. That's because older Maven versions provide a default
compiler plugin version that did not handle the module path correctly.

Closes gh-33383
2024-07-30 10:56:06 +02:00
Stéphane Nicoll 6ab053d823 Merge branch '3.3.x'
Closes gh-41642
2024-07-29 16:56:29 +02:00
Stéphane Nicoll a63a1fe6c5 Merge branch '3.2.x' into 3.3.x
Closes gh-41641
2024-07-29 16:56:18 +02:00
Stéphane Nicoll 47465f6ed5 Do not validate settings if publishing is disabled
This commit improves the Maven Plugin to only validate the publishing
settings if publishing is actually enabled.

Closes gh-29756
2024-07-29 16:55:02 +02:00
Andy Wilkinson 6278d803a5 Merge branch '3.3.x'
Closes gh-41634
2024-07-29 12:13:07 +01:00
Andy Wilkinson 87417c0536 Merge branch '3.2.x' into 3.3.x
Closes gh-41633
2024-07-29 11:57:09 +01:00
Andy Wilkinson 4ee24bf9bd Polish "Add rule to prevent calls to Objects.requireNonNull()"
See gh-41611
2024-07-29 11:41:26 +01:00
Stéphane Nicoll dabc83338b Polish "Add support for Grafana LGTM stack"
See gh-41551
2024-07-29 10:43:56 +02:00
Eddú Meléndez 9eff627eb2 Add support for Grafana LGTM stack
See gh-41551
2024-07-29 10:33:08 +02:00
Phillip Webb fdd5d007f5 Merge branch '3.3.x' 2024-07-25 20:49:42 +01:00
Phillip Webb 28faf12062 Migrate plugins to javadoc asciidoctor macro
See gh-41605
2024-07-25 20:49:02 +01:00
Phillip Webb 84e2049fc5 Merge branch '3.3.x' 2024-07-25 18:25:23 +01:00
Phillip Webb fd58261b9d Revert "Migrate plugins to javadoc asciidoctor macro"
This reverts commit b63e1e7443.
2024-07-25 18:25:15 +01:00
Phillip Webb 7bbb5003db Merge branch '3.3.x' 2024-07-25 18:05:04 +01:00
Phillip Webb b63e1e7443 Migrate plugins to javadoc asciidoctor macro
See gh-41605
2024-07-25 18:03:37 +01:00
Andy Wilkinson e201b94d4f Merge branch '3.3.x'
Closes gh-41616
2024-07-25 16:17:52 +01:00
Andy Wilkinson c642f6d268 Merge branch '3.2.x' into 3.3.x
Closes gh-41613
2024-07-25 16:16:35 +01:00
Andy Wilkinson 5f666eec5b Reduce warnings reported by Eclipse
Closes gh-41598
2024-07-25 14:55:00 +01:00
Andy Wilkinson f1e98d0a73 Merge branch '3.3.x'
Closes gh-41608
2024-07-24 19:23:04 +01:00
Andy Wilkinson a00304de28 Merge branch '3.2.x' into 3.3.x
Closes gh-41607
2024-07-24 19:22:49 +01:00
Andy Wilkinson f9f530ddaa Remove method references to improve compatibility
The use of method references requires the referenced method to be
present even if it isn't called. This made it impossible for Gradle
to remove the deprecated methods as it would break our plugin.
By switching the lambdas, the methods only have to be present when
they're called which will only happen with Gradle 8.2 and earlier.

Closes gh-41599
2024-07-24 19:22:05 +01:00
Andy Wilkinson 23b344691d Polish "Support `@Name` with JavaBean-based configuration properties"
See gh-39452
2024-07-23 14:00:20 +01:00
Phillip Webb 88480664d7 Polish 2024-07-22 19:59:27 +01:00
Phillip Webb 000600c68a Merge branch '3.3.x' 2024-07-22 18:41:53 +01:00
Phillip Webb d9360a034f Polish 2024-07-22 18:41:12 +01:00
Phillip Webb 36b1214feb Merge branch '3.2.x' into 3.3.x 2024-07-22 18:30:45 +01:00
Phillip Webb 61dc82d836 Update copyright year of changed files 2024-07-22 18:16:19 +01:00
Andy Wilkinson 46ec3e3a07 Polish "Support service connections for redis-stack and redis-stack-server"
See gh-41327
2024-07-17 11:08:52 +01:00
Eddú Meléndez 2634d0c6b1 Support service connections for redis-stack and redis-stack-server
See gh-41327
2024-07-17 10:54:06 +01:00
Stéphane Nicoll 4415b4ab1c Polish "Allow NestedConfigurationProperty on getters"
See gh-38844
2024-07-15 10:02:58 +02:00
Jared Bates 6c8987e0d8 Allow NestedConfigurationProperty on getters
This commit adds support adding `@NestedConfigurationProperty` on a
getter.

See gh-38844
2024-07-15 09:24:27 +02:00
Andy Wilkinson c563c501e9 Merge branch '3.3.x'
Closes gh-41456
2024-07-12 07:32:56 +01:00
Andy Wilkinson 8617c981cf Merge branch '3.2.x' into 3.3.x
Closes gh-41455
2024-07-12 07:31:58 +01:00
Andy Wilkinson f702230c12 Test Gradle plugin against Gradle 8.9
Closes gh-41454
2024-07-12 07:31:24 +01:00
Scott Frederick 7b8364d248 Fix LifecycleTests on Windows
See gh-gh-41352
2024-07-11 17:07:23 -05:00
Scott Frederick 224b06982e Add support for untrusted CNB builders
A `trustBuilder` configuration option has been added to the Maven and
Gradle CNB integration image building goal and task. A known set of
builders published by Paketo, Heroku, and Google are trusted by default,
all other builders are untrusted by default.

Closes gh-41352
2024-07-11 13:51:54 -05:00
Andy Wilkinson 375b3b16a0 Remove APIs that were deprecated for removal in 3.4.0
Closes gh-41435
2024-07-10 13:31:21 +01:00
Rui Figueira e7424eacf8 Add SslBundle support to MailSender
See gh-40037
2024-07-04 15:13:15 +02:00
Moritz Halbritter ee8a706e1f Merge branch '3.3.x'
Closes gh-41317
2024-07-04 11:10:22 +02:00
Alexis Couvreur 47c8a859ea Support NestedConfigurationProperty for record types
Add ElementType.RECORD_COMPONENT to NestedConfigurationProperty and
implement isMarkedAsNested for RecordParameterPropertyDescriptor.

This will allow nested records to be properly harvested for their
properties.

See gh-41251
2024-07-04 10:58:51 +02:00
Scott Frederick 17c5538062 Merge branch '3.3.x' 2024-07-01 11:24:00 -05:00
Scott Frederick 70e14d648d Polish documentation headings
Title case should be used in all headings.
2024-07-01 11:23:41 -05:00
Scott Frederick 26b59ae912 Use Paketo tiny builder by default for JVM and native apps
Closes gh-40859
2024-06-28 11:45:54 -05:00
Andy Wilkinson 99904d0307 Merge branch '3.3.x'
Closes gh-41274
2024-06-28 16:01:46 +01:00
Andy Wilkinson 55ac058385 Merge branch '3.2.x' into 3.3.x
Closes gh-41273
2024-06-28 15:47:54 +01:00
Andy Wilkinson d71fdd9712 Make buildSrc's custom Gradle tasks consistently abstract
Closes gh-41272
2024-06-28 15:40:56 +01:00
Moritz Halbritter a2378e1439 Merge branch '3.3.x'
Closes gh-41271
2024-06-28 13:52:12 +02:00
Moritz Halbritter 9984dc16a9 Merge branch '3.2.x' into 3.3.x
Closes gh-41270
2024-06-28 13:50:33 +02:00
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 1521258695 Merge branch '3.3.x'
Closes gh-41269
2024-06-28 12:13:38 +01:00
Andy Wilkinson ac8a3b6332 Merge branch '3.2.x' into 3.3.x
Closes gh-41268
2024-06-28 12:12:15 +01:00
Andy Wilkinson a195394be6 Merge branch '3.3.x' 2024-06-28 11:41:37 +01:00
Andy Wilkinson 7f2e8f85ae Merge branch '3.2.x' into 3.3.x 2024-06-28 11:40:48 +01: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 6749ad674f Polish "Add support for org.testcontainers.kafka.KafkaContainer"
See gh-40695
2024-06-27 15:10:58 +01:00
Eddú Meléndez 769f3e9d14 Add support for org.testcontainers.kafka.KafkaContainer
Testcontainers 1.19.8 provides `org.testcontainers.kafka.KafkaContainer`,
which relies on `apache/kafka` image.

See gh-40695
2024-06-27 14:58:57 +01:00
Andy Wilkinson 13ab5618a6 Merge branch '3.3.x' 2024-06-27 13:08:38 +01:00
Andy Wilkinson 0df946ccad Fix botched merge of spring-boot-maven-plugin's build.gradle 2024-06-27 13:06:44 +01:00
Andy Wilkinson 97612d5445 Merge branch '3.2.x' 2024-06-27 12:59:19 +01:00
Andy Wilkinson d01c44a66a Merge branch '3.2.x' into 3.3.x 2024-06-27 12:58: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 5b7365b63b Merge branch '3.3.x'
Closes gh-41258
2024-06-27 10:25:32 +01:00
Andy Wilkinson b0d4f1d356 Merge branch '3.2.x' into 3.3.x
Closes gh-41257
2024-06-27 10:16: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 00ed053ceb Merge branch '3.3.x'
Closes gh-41253
2024-06-26 16:27:56 -07:00
Phillip Webb 1a699aee24 Merge branch '3.2.x' into 3.3.x
Closes gh-41252
2024-06-26 16:27:41 -07: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
Scott Frederick 9da2d1e089 Revert "Use Paketo tiny builder by default for JVM and native apps"
This reverts commit 6d2ebc0713.
2024-06-26 15:25:37 -05:00
Scott Frederick 8623c92a29 Change spring-boot-buildpack-platform api deps to implementation
Closes gh-40935
2024-06-26 14:12:43 -05:00
Scott Frederick 267956cf5c Replace JNI domain sockets implementation with one that uses JDK support
Closes gh-41050
2024-06-26 14:09:19 -05: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
Scott Frederick 6d2ebc0713 Use Paketo tiny builder by default for JVM and native apps
Closes gh-40859
2024-06-26 13:42:23 -05:00
Andy Wilkinson 61ac0e32a1 Merge branch '3.3.x'
Closes gh-41250
2024-06-26 17:01:14 +01:00
Andy Wilkinson 2dd6c1c3a0 Merge branch '3.2.x' into 3.3.x
Closes gh-41249
2024-06-26 17:00:58 +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 f5eb6e95ce Merge branch '3.3.x'
Closes gh-41235
2024-06-25 12:43:15 -07:00
Phillip Webb eb9f16e7e6 Merge branch '3.2.x' into 3.3.x
Closes gh-41234
2024-06-25 12:42:53 -07: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
Andy Wilkinson 28a887ad0f Raise minimum supported version of Gradle
Closes gh-41180
2024-06-21 14:52:22 +01:00
Andy Wilkinson 63c6b1ee72 Remove fail-fast logic for versions less than minimum supported
CLoses gh-41200
2024-06-21 14:52:15 +01:00
Andy Wilkinson 23597cc744 Start work on Spring Boot 3.4 2024-06-20 19:50:32 +01:00
Phillip Webb 9dda006a18 Merge branch '3.2.x' 2024-06-19 22:55:00 -07:00
Phillip Webb 2a4582b084 Update copyright year of changed files 2024-06-19 22:54:40 -07:00
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
Moritz Halbritter 3479304e13 Disable creation time verification on Linux
Closes gh-40423
2024-04-18 11:58:46 +02:00
Moritz Halbritter 00a10fdc52 Move Docker Compose and Testcontainers to separate section
See gh-38361
2024-04-17 14:05:52 +02:00
Phillip Webb dfee56ad9d Merge branch '3.2.x'
Closes gh-40381
2024-04-16 22:17:28 -07:00
Phillip Webb 78e12251e9 Optimize VirtualZipDataBlock
Add some optimizations to `VirtualZipDataBlock` that help when
sequentially reading the block from a JarInputStream.

Closes gh-40125
2024-04-16 22:16:00 -07:00
Phillip Webb 13f41da54f Merge branch '3.2.x'
Closes gh-40379
2024-04-16 15:32:03 -07:00
Phillip Webb 9b0593efe3 Fallback to RandomAccessFile on ClosedByInterruptException
Refine the fix for gh-38611 so that `ClosedByInterruptException` no
longer retries in a loop.

Our previous fix was flawed due to the fact that another interrupt
could occur after we clear the first and whilst we are reading data.
If this happens 10 times in a row, we raise an exception and end up
causing NoClassDefFoundError errors.

Our new approach retains the use of `FileChannel` and a direct buffer
up to the point that a `ClosedByInterruptException` is raised or the
thread is detected as interrupted.  At that point, we temporarily
switch to using a `RandomAccessFile` to access the data. This will
block the thread until the data has been read.

Fixes gh-40096
2024-04-16 14:47:07 -07:00
Phillip Webb 4203e1f2fa Rename FileChannelDataBlock to FileDataBlock
Rename the internal `FileChannelDataBlock` to `FileDataBlock` since we
want to fallback to a `RandomAccessFile` when a thread is interrupted.

See gh-40096
2024-04-16 14:46:56 -07:00
Andy Wilkinson 0ed6864d1d Merge branch '3.2.x'
Closes gh-40324
2024-04-11 16:54:46 +01:00
Andy Wilkinson 45e9412d9b Merge branch '3.1.x' into 3.2.x
Closes gh-40323
2024-04-11 16:54:33 +01:00
Andy Wilkinson baf5a7f130 Make includes configurable via a property
See gh-39837
2024-04-11 16:32:17 +01:00
Andy Wilkinson 2a6293940b Polish "Make excludes configurable via property"
See gh-39837
2024-04-11 16:31:24 +01:00
Matti Tahvonen 58fc8f8c01 Make excludes configurable via property
See gh-39837
2024-04-11 15:43:31 +01:00
Phillip Webb 3ed77ae5f3 Polish 2024-04-04 23:45:21 -07:00
Moritz Halbritter 6abcde3ce8 Prevent deprecation for DBCP2 username and password properties
Closes gh-40076
2024-04-04 15:06:30 +02:00
Scott Frederick 813507b791 Merge branch '3.2.x'
Closes gh-40166
2024-04-03 16:32:13 -05:00
Scott Frederick 1c2a43d1e6 Merge branch '3.1.x' into 3.2.x
Closes gh-40165
2024-04-03 16:30:41 -05:00
Felix 8a42935dad Apply instanceof pattern matching
See gh-40085
2024-04-03 16:30:01 -05:00
Phillip Webb 10260c084b Rename Antora component from spring-boot to boot
Closes gh-40131
2024-03-28 13:21:27 -07:00
Moritz Halbritter 3ab21ce146 Merge branch '3.2.x'
Closes gh-40118
2024-03-27 09:42:59 +01:00
Moritz Halbritter 957facf1cc Merge branch '3.1.x' into 3.2.x
Closes gh-40117
2024-03-27 09:35:44 +01:00
Moritz Halbritter ff66036e90 Remove redundant Regex escapes
Closes gh-40116
2024-03-27 09:34:28 +01:00
Phillip Webb af0353ddd3 Remove anchor-rewrite.properties
Remove `anchor-rewrite.properties` now that we have `rewrite.adoc` to
replace them.

See gh-40062
2024-03-26 11:27:03 -07:00
Phillip Webb dab1afcc77 Fix anchor rewrites in preparation for migration to Antora
Update `anchor-rewrite.properties` to fix a few errors and remove
elements that no longer exist. This commit also fixes a few anchors
in some `.adoc` files.

See gh-40062
2024-03-26 11:18:27 -07:00
Moritz Halbritter 8724807628 Update documentation to reflect CDS work
Closes gh-39834
2024-03-26 11:27:47 +01:00
Moritz Halbritter 2d9b1ad592 Use xref for documentation links
Closes gh-33745
2024-03-26 10:11:47 +01:00
Moritz Halbritter de150daf12 Upgrade Cassandra driver to 4.18.0 and change coordinates
Closes gh-39090
2024-03-26 08:58:22 +01:00
Phillip Webb 6bb6a798ce Set version to `true` in antora.yml to allow docs generation
See gh-33766
2024-03-25 08:52:51 -07:00
Andy Wilkinson 03754cb2d6 Merge branch '3.2.x'
Closes gh-40098
2024-03-25 11:03:30 +00:00
Andy Wilkinson 0ec5eab8af Merge branch '3.1.x' into 3.2.x
Closes gh-40097
2024-03-25 10:42:14 +00:00
Andy Wilkinson aee88115ea Test Gradle plugin against Gradle 8.7
This commit includes some changes to test Gradle scripts to avoid
Gradle 8.7's new deprecation warning about URI conversion.

Closes gh-40093
2024-03-25 10:24:21 +00:00
Moritz Halbritter 4047c00aa5 Implement SBOM actuator endpoint
Closes gh-39799
2024-03-21 18:06:48 -07:00
Andy Wilkinson 93fc2a455b Reinstate Gradle Plugin toolchain's maximum compatible Java version
See gh-33766
2024-03-21 10:06:28 +00:00
Phillip Webb 8ee20c8dae Migrate maven-plugin to Antora
See gh-33766
2024-03-20 15:21:56 -07:00
Phillip Webb 18a2b2e9fb Migrate gradle-pluigin to Antora
See gh-33766
2024-03-20 15:21:54 -07:00
Phillip Webb ecf89c3fe3 Polish asciidoc generated by changelog generator
Refine the generator so that an additional space is included after
section titles.
2024-03-20 15:10:39 -07:00
Moritz Halbritter 558d811b0a Use JarFile instead of ZipInputStream
ZipInputStream can't cope with some non-deflated entries, see
https://bugs.openjdk.org/browse/JDK-8143613.

JarFile works better, but it doesn't support creation time / access
time.

See gh-38276
2024-03-20 12:11:56 +01:00
Moritz Halbritter 5a77122abe Create classpath argfile on windows for run tasks
Closes gh-17766
2024-03-19 14:08:14 +01:00
Johnny Lim 412b8dd548 Polish
See gh-39910
2024-03-15 11:25:16 +01:00
Andy Wilkinson 702cf75b21 Merge branch '3.2.x'
Closes gh-39934
2024-03-13 18:40:28 +00:00
Andy Wilkinson e2d53fa0e9 Ensure that Maven Plugin uses a consistent Framework dependency version
Fixes gh-39927
2024-03-13 18:38:38 +00:00
Moritz Halbritter 9411a4ce99 Adjust defaults for ExtractCommand
It now extracts the contents of the JAR in a folder named after the JAR
without the extension. It now also checks if the folder is empty.
There's a new --force option to skip those checks.

The "runner.jar" is now named like the uber JAR from which the
extraction has been started.

See gh-38276
2024-03-12 11:52:33 +01:00
Moritz Halbritter 7a417503e5 Fix tests on windows 2024-03-07 14:14:24 +01:00
Moritz Halbritter 793aca60d2 Implement extract and list-layers command
Adds a new jarmode called 'tools'. This provides two commands,
'extract' and 'list-layers'. list-layers is the same as list from
the layertools.

extract is able to extract the JAR in four different modes:

- CDS compatible extraction with libraries in a lib folder and a runner
.jar
- CDS compatible as above, but with layers
- Launcher based
- Launcher based with layers. This is essentially the same as extract
  from the layertools

The commands in layertools have been deprecated in favor of the commands
in 'tools'.

This also changes the behavior of layers.enabled from the Gradle and
Maven plugin: before this commit, layers.enabled prevents the inclusion
of the layer index file as well as the layertools JAR.
After this commit, layers.enabled only prevents the inclusion of the
layer index file.

layer.includeLayerTools have been deprecated in favor of includeTools,
and the layertools JAR has been renamed to tools.

Closes gh-38276
2024-03-07 13:34:13 +01:00
Eddú Meléndez 244f7c595c Remove redpanda image compatibility
Testcontainers added redpandadata/redpanda as valid image

Closes gh-39801
2024-02-29 15:30:12 +01:00
Eddú Meléndez 2e908298e5 Remove redpanda image compatibility
Testcontainers added redpandadata/redpanda as valid image

See gh-39776
2024-02-29 11:52:56 +01:00
Andy Wilkinson 70769d9377 Merge branch '3.2.x'
Closes gh-39794
2024-02-28 17:20:00 +00:00
Andy Wilkinson 306d52db77 Merge branch '3.1.x' into 3.2.x
Closes gh-39793
2024-02-28 17:19:46 +00:00
Andy Wilkinson 16b6400bdf Improve BuildpackReference's handling of URL-like strings on Windows
Closes gh-39792
2024-02-28 17:15:02 +00:00
Andy Wilkinson e9d2c773b7 Merge branch '3.2.x'
Closes gh-39790
2024-02-28 15:06:49 +00:00
Andy Wilkinson 730a81c4a8 Merge branch '3.1.x' into 3.2.x
Closes gh-39789
2024-02-28 15:06:35 +00:00
Andy Wilkinson dd38fb8b65 Limit wait time when checking process's availability
Closes gh-39788
2024-02-28 15:04:08 +00:00
Andy Wilkinson bfc9ef8bc5 Merge branch '3.2.x'
Closes gh-39765
2024-02-27 12:39:28 +00:00
Andy Wilkinson db0fcc5626 Merge branch '3.1.x' into 3.2.x
Closes gh-39764
2024-02-27 12:39:14 +00:00
Andy Wilkinson 54cdc83337 Only reference Gradle tasks beneath org.gradle.api
Fixes gh-39584
2024-02-27 12:38:07 +00:00
Phillip Webb 2b7320be1a Merge branch '3.2.x'
Closes gh-39690
2024-02-21 21:36:07 -08:00
Phillip Webb a457638e6c Polish 'Decode URL content before passing it to NestedLocation.parse'
See gh-39675'

Closes gh-39675'
2024-02-21 21:16:33 -08:00
_ext Slovak, Jiri 06569e76f6 Decode URL content before passing it to NestedLocation.parse
URL can contains empty spaced encoded as %20, so it should be decoded
before passing it to NestedLocation. NestedLocation expects file system
path which should not contain URL encoded values.

See gh-39675
2024-02-21 17:28:55 -08:00
Phillip Webb f8a1dae835 Merge branch '3.2.x' 2024-02-21 15:27:57 -08:00
Phillip Webb 12de6aa46a Merge branch '3.1.x' into 3.2.x 2024-02-21 15:27:27 -08:00
Phillip Webb 2c4909a89a Update copyright year of changed files 2024-02-21 13:58:53 -08:00
Scott Frederick bb384f268e Merge branch '3.2.x'
Closes gh-39639
2024-02-20 10:34:54 -06:00
Scott Frederick 71e5e1252a Merge branch '3.1.x' into 3.2.x
Closes gh-39638
2024-02-20 10:34:32 -06:00
Scott Frederick c93acdafbd Polish "Prevent long parse times for images with illegal char in tag"
See gh-39617
2024-02-20 10:27:28 -06:00
Jakob Wanger c892544741 Prevent long parse times for images with illegal char in tag
Update the regular expression used to parse Docker images references to
prevent catastrophic backtracking when images names are long and the
tag contains an illegal character.

See gh-39617
2024-02-20 10:27:27 -06:00
Adrian Cole 4b0bed23b0 Migrate to Brave 6 and Zipkin Reporter 3
Signed-off-by: Adrian Cole <adrian@tetrate.io>

See gh-39049
2024-02-20 12:00:36 +01:00
Andy Wilkinson e3de575841 Merge branch '3.2.x'
Closes gh-39550
2024-02-14 14:54:32 +00:00
Andy Wilkinson deb3d70a2e Merge branch '3.1.x' into 3.2.x
Closes gh-39549
2024-02-14 14:54:16 +00:00
Andy Wilkinson 5bc4bdd1de Test Gradle plugin against Gradle 8.6
Closes gh-39548
2024-02-14 14:54:10 +00:00
Moritz Halbritter 7f55cae90f Merge branch '3.2.x' 2024-02-12 10:19:46 +01:00
Moritz Halbritter 4387b79831 Merge branch '3.1.x' into 3.2.x 2024-02-12 10:18:46 +01:00
Moritz Halbritter 8ffcfc9b77 Harmonize style of igored exceptions across the codebase 2024-02-12 10:14:20 +01:00
Scott Frederick f5b1f811d6 Merge branch '3.2.x'
Closes gh-39514
2024-02-11 14:32:47 -06:00
Scott Frederick eb75bb1339 Merge branch '3.1.x' into 3.2.x
Closes gh-39513
2024-02-11 14:32:35 -06:00
Jakob Wanger 7e90b4951b Enforce Gradle version to be at least of version 7.5
See gh-39508

Signed-off-by: Jakob Wanger <jakobwanger@gmail.com>
2024-02-11 14:30:26 -06:00
Scott Frederick 09a6ae51cc Add support for Bitnami container images with Docker Compose
Closes gh-35759
2024-02-09 14:58:25 -06:00
Andy Wilkinson 5ae533a00d Minimize scope of version management for commons-compress
See gh-39368
2024-02-06 15:08:15 +00:00
Chris Bono ff8089de06 Update to Pulsar 3.2.0 and use Pulsar BOM
This commit updates Pulsar to 3.2.0 and leverages the newly added
Pulsar BOM in order to ease dependency management.

See gh-39408
2024-02-06 13:56:10 +01:00
Andy Wilkinson 9a5b3b3a2b Merge branch '3.2.x'
See gh-39369
2024-02-06 12:38:37 +00:00
Andy Wilkinson 84e390af70 Merge branch '3.1.x' into 3.2.x
See gh-39368
2024-02-06 12:37:18 +00:00
Andy Wilkinson 5f680ccac0 Revert "Stop managing version of commons-compress where it isn't needed"
This reverts commit 2b85cb0356.

See gh-39367
2024-02-06 12:36:26 +00:00
Moritz Halbritter cc2233a7d9 Merge branch '3.2.x'
Closes gh-39423
2024-02-06 13:10:22 +01:00
Moritz Halbritter 976152b244 Merge branch '3.1.x' into 3.2.x
Closes gh-39422
2024-02-06 13:10:15 +01:00
Moritz Halbritter 8fd28d9ece Polish "Update the Debugging Documentation of the Spring Boot Maven Plugin"
See gh-39392
2024-02-06 13:07:55 +01:00
lukasdooo b25d52c896 Update the Debugging Documentation of the Spring Boot Maven Plugin
See gh-39392
2024-02-06 13:06:57 +01:00
Moritz Halbritter 07ee7254a6 Align to Native Build Tools metadata repository default
Closes gh-39068
2024-02-05 08:46:57 +01:00
Eddú Meléndez f3e7325064 Add service connection for Docker Compose and Testcontainers ActiveMQ
See gh-39363
2024-02-02 09:05:37 +01:00
Andy Wilkinson f9363569ab Merge branch '3.2.x'
Closes gh-39369
2024-02-01 11:19:01 +00:00
Andy Wilkinson 0afe0635b9 Merge branch '3.1.x' into 3.2.x
Closes gh-39368
2024-02-01 11:17:41 +00:00
Andy Wilkinson 2b85cb0356 Stop managing version of commons-compress where it isn't needed
Closes gh-39367
2024-02-01 10:20:20 +00:00
Andy Wilkinson 899da7891a Merge branch '3.1.x' into 3.2.x
See gh-39340
2024-01-31 17:44:07 +00:00
Andy Wilkinson dd082c6c21 Revert "Upgrade to Commons Compress 1.25.0"
This reverts commit 1c2a622f7f.

See gh-39148
2024-01-31 17:35:57 +00:00
Eddú Meléndez f15cd93a35 Add service connection for Docker Compose and Testcontainers Artemis
See gh-39311
2024-01-31 08:37:03 +01:00
Scott Frederick 588d544392 Merge branch '3.2.x'
Closes gh-39348
2024-01-30 16:28:50 -06:00
Scott Frederick 5b76416b06 Merge branch '3.1.x' into 3.2.x
Closes gh-39347
2024-01-30 16:28:39 -06:00
Scott Frederick a620d348ad Fix exporting of Docker image layers
The logic to extract layers from a downloaded Docker image assumed that
the layer entries in the image tar archive always had the file extension
`.tar`. This was the case with Docker and other compatible daemons until
Docker 25.0. With this commit, the extension is no longer assumed, but
any entries listed in `manifest.json` will be recognized.

Fixes gh-39323
2024-01-30 16:25:03 -06:00
Andy Wilkinson 10e750ab3b Merge branch '3.2.x'
Closes gh-39341
2024-01-30 13:53:13 +00:00
Andy Wilkinson 8c18d75b12 Merge branch '3.1.x' into 3.2.x
Closes gh-39340
2024-01-30 13:50:13 +00:00
Andy Wilkinson 1c2a622f7f Upgrade to Commons Compress 1.25.0
Closes gh-39148
2024-01-30 13:49:37 +00:00
Moritz Halbritter f36b69f961 Merge branch '3.2.x'
Closes gh-39338
2024-01-30 13:48:44 +01:00
Piyal Ahmed a85e99790b Fix NestedJarFile constructor javadoc
See gh-39285
2024-01-30 13:47:23 +01:00
Andy Wilkinson df67dec561 Merge branch '3.2.x'
Closes gh-39306
2024-01-25 13:32:20 +00:00
Andy Wilkinson a42a8ce620 Merge branch '3.1.x' into 3.2.x
Closes gh-39305
2024-01-25 13:31:59 +00:00
Andy Wilkinson a6d1788be3 Tolerate OS and Java version differences in ExtractCommandTests
Co-Authored-By: Moritz Halbritter <moritz.halbritter@broadcom.com>

Closes gh-39303
2024-01-25 13:31:42 +00:00
Phillip Webb 8f1a330dd5 Update copyright header of cleaned up code
See gh-39259
2024-01-23 10:18:50 -08:00
Tobias Lippert 24e0864105 Replace !Optional.isPresent with Optional.isEmpty
See gh-39259
2024-01-23 10:18:50 -08:00
Tobias Lippert 7f4aaacf42 Simplify stream chain operations
See gh-39259
2024-01-23 10:18:49 -08:00
Phillip Webb 15f1e8536b Polish 'Remove redundant array creation'
See gh-39259
2024-01-23 10:18:49 -08:00
Tobias Lippert d3c97adf79 Remove redundant array creation
See gh-39259
2024-01-23 10:18:49 -08:00
Tobias Lippert 316b415e95 Use try with resources instead of try-finally
See gh-39259
2024-01-23 10:18:49 -08:00
Tobias Lippert cb26c31dd6 Replace explicit type with diamond operator
See gh-39259
2024-01-23 10:18:49 -08:00
Tobias Lippert 06265ee617 Use pattern variables
See gh-39259
2024-01-23 10:18:48 -08:00
Tobias Lippert fe38cb3b4a Use string.repeat()
See gh-39259
2024-01-23 09:47:07 -08:00
Phillip Webb ddb769bf7f Polish 'Simplify conditionals'
See gh-39259
2024-01-23 09:47:07 -08:00
Tobias Lippert 65a1ff84e6 Simplify conditionals
See gh-39259
2024-01-23 09:07:40 -08:00
Tobias Lippert def7523398 Inline redundant if statements
See gh-39259
2024-01-23 09:07:35 -08:00
Scott Frederick bee6fe899c Polish "Add Docker Compose service connection support for OpenLDAP"
See gh-39258
2024-01-22 16:51:45 -06:00
PhilKes eb940c3907 Add Docker Compose service connection support for OpenLDAP
See gh-39258
2024-01-22 16:51:45 -06:00
Phillip Webb a0a804cfdf Merge branch '3.2.x' 2024-01-22 12:20:41 -08:00
Phillip Webb cff8cb98c7 Merge branch '3.1.x' into 3.2.x 2024-01-22 12:20:24 -08:00
Phillip Webb 088b313ae5 Polish 2024-01-22 11:57:37 -08:00
Moritz Halbritter ca799f7b21 Tolerate actuator endpoints with the same id
Closes gh-39249
2024-01-22 12:33:05 +01:00
Phillip Webb 9de0085a43 Merge branch '3.2.x'
Closes gh-39226
2024-01-17 13:16:53 -08:00
Phillip Webb eb0040c225 Fix ZipCentralDirectoryFileHeaderRecord entry comment read offset
Update `ZipCentralDirectoryFileHeaderRecord.copyTo` comment read offset
to account for the record position.

Fixes gh-39166
2024-01-17 13:16:43 -08:00
Andy Wilkinson ac63fc0701 Merge branch '3.2.x'
Closes gh-39121
2024-01-12 16:25:13 +00:00
Andy Wilkinson 6bfac1f860 Fix handling of nested: UNC paths on Windows
Closes gh-38956
2024-01-12 15:53:19 +00:00
Andy Wilkinson 6f4a8cc0c3 Polish "Change log messages to use singular or plural instead of "noun(s)""
See gh-37017
2024-01-11 14:44:07 +00:00
teacmity c6c7fbc15f Change log messages to use singular or plural instead of "noun(s)"
See gh-37017
2024-01-11 14:35:49 +00:00
Andy Wilkinson 17e9f0cb8e Merge branch '3.2.x'
Closes gh-39093
2024-01-11 11:36:38 +00:00
Andy Wilkinson 7087897507 Merge branch '3.1.x' into 3.2.x
Closes gh-39091
2024-01-11 10:33:57 +00:00
Andy Wilkinson 45c32854a5 Fix Checkstyle upgrade
Closes gh-38746
2024-01-10 15:37:38 +00:00
Christoph Dreis b7c9c82180 Fix typos
See gh-38983
2024-01-10 09:06:45 +01:00
Phillip Webb 2d12fa073d Merge branch '3.2.x'
Closes gh-39071
2024-01-09 12:38:24 -08:00
Phillip Webb e5f489f338 Restore manifest support for nested directory jars
Update `NestedJarFile` so that the `getManifest()` method returns the
manifest from the parent jar file for nested jars based on directory
entries.

This restores the previous behavior supported by Spring Boot 3.1 and
allows class methods such as `getPackage().getImplementationVersion()`
to return non `null` results.

Fixes gh-38996
2024-01-09 12:33:10 -08:00
Moritz Halbritter 25614710d5 Fail if superfluous properties are used in property metadata
Closes gh-37597
2024-01-09 13:59:51 +01:00
Moritz Halbritter 970c226847 Polish 2024-01-09 13:59:14 +01:00
Andy Wilkinson 5ef7db9a28 Start working on Spring Boot 3.3 2024-01-04 10:56:56 +00:00
Phillip Webb f31ffbf927 Don't duplicate META-INF entries in nested directory jars
Update `ZipContent` so that `META-INF` entries are no longer duplicated
in nested jars created from directory entries. This aligns with the
behavior of the classic loader and prevents the same META-INF file from
being discovered twice.

Fixes gh-38862
2023-12-20 17:36:06 -08:00
Phillip Webb 246a0e6f21 Merge branch '3.1.x'
Closes gh-38878
2023-12-19 23:10:49 -08:00
Yanming Zhou 8cb8999772 Ban call of URLEncoder.encode/URLDecoder.decode(String,String)
Add ArchUnit rules to ban the use of `URLEncoder` calls with String
charsets and use `Charset` calls instead.

See gh-38740
2023-12-19 23:10:18 -08:00
Phillip Webb 5354ad15b3 Merge branch '3.1.x'
Closes gh-38877
2023-12-19 22:51:48 -08:00
Yanming Zhou b6e87cee35 Remove unnecessary `extends Object` from generic
See gh-38739
2023-12-19 22:38:19 -08:00
Yanming Zhou ac18e3015c Use `.isEmpty()` where feasible
See gh-38739
2023-12-19 22:38:05 -08:00
Phillip Webb 88429b6a66 Use file urls for unpacked jars
Update `JarFileArchive` so that unpacked jars use `file:` URLs rather
than `jar:file:`. This aligns with the behavior of Spring Boot 3.1 and
allows calls to `class.getSigners()` to work again.

Fixes gh-38833
2023-12-17 10:55:31 -08:00
Phillip Webb b4a4e91238 Update ZipString to deal with reads that do not return all data
Refine the logic in `ZipString.hash` and `ZipString.compare` to deal
with the fact a read operation may not return all available bytes.

Fixes gh-38751
2023-12-13 13:29:37 -08:00
Moritz Halbritter e81d1226fe Prevent integer overflow when checking disk space 2023-12-12 16:26:58 +01:00
Moritz Halbritter a242bd81e2 Merge branch '3.1.x'
Closes gh-38747
2023-12-12 13:55:44 +01:00
Yanming Zhou 3c65fdfa12 Use idiomatic AssertJ assertions
See gh-38702
2023-12-12 13:53:20 +01:00