Commit Graph

1284 Commits

Author SHA1 Message Date
Phillip Webb 71f509c9fd Fix broken tab markup
Closes gh-42046
2024-08-28 13:00:25 -07:00
Andy Wilkinson 162c929a80 Remove workaround that should now be redundant
See gh-41980
2024-08-23 16:29:20 +01:00
Andy Wilkinson d756bf4e86 Upgrade build to Gradle 8.10
Closes gh-41980
2024-08-23 12:41:05 +01: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
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 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
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
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
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 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
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
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 7d5a761d51 Update spring-boot-gradle-plugin to use docker-test plugin
See gh-41228
2024-06-26 19:46:25 +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 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
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
Phillip Webb 147240aa0c Merge branch '3.2.x'
Closes gh-41080
2024-06-11 13:32:30 -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
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
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
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 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 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
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
Andy Wilkinson c44e477a77 Merge branch '3.2.x'
Closes gh-40613
2024-05-02 10:49:55 +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
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
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
Phillip Webb 3ed77ae5f3 Polish 2024-04-04 23:45:21 -07: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
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 18a2b2e9fb Migrate gradle-pluigin to Antora
See gh-33766
2024-03-20 15:21:54 -07: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 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
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 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
Moritz Halbritter 7f55cae90f Merge branch '3.2.x' 2024-02-12 10:19:46 +01:00