Commit Graph

606 Commits

Author SHA1 Message Date
Stéphane Nicoll
7035c0fa0a Upgrade to Kotlin 2.1.0
This commit upgrades to Kotlin 2.1.0. Two related dependencies have been
updated as well: Kotlin Coroutines to 1.10, and Kotlin Serialization to
1.8.

As of Kotlin 2, it is no longer possible to have a Java type and a
Kotlin type with the same name. As our code samples follow that
unfortunate pattern, this commit makes sure that the Kotlin sample code
does not depend on any of the Java counterpart and configure the kotlin
compilation plugin to ignore Java sources.

The minimum version of Gradle is 7.6.4. It bundles a version of Kotlin
that cannot compile a Kotlin build script when spring-core, compiled
with Kotlin 2.1, is on the classpath. Using Gradle 8.12 to run the DSL
tests avoids the problem.

Closes gh-45486

Co-authored-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2025-05-09 17:38:10 -07:00
Phillip Webb
736ff7e3e2 Merge branch '3.4.x' 2025-04-28 12:20:19 -07:00
Phillip Webb
f172c2ca8f Merge branch '3.3.x' into 3.4.x 2025-04-28 12:20:08 -07:00
Phillip Webb
b2e691be02 Update copyright year of changed files 2025-04-28 12:20:02 -07:00
Phillip Webb
ba690d24d4 Merge branch '3.4.x' 2025-04-28 12:18:40 -07:00
Phillip Webb
708062ec1d Merge branch '3.3.x' into 3.4.x 2025-04-28 12:15:47 -07:00
Phillip Webb
428fa6d941 Fix copyright headers to consistently start with project inception year 2025-04-28 12:15:32 -07:00
Dmytro Nosan
da61d63db8 Add Docker configuration authentication to Maven and Gradle plugins
Update the Maven and Gradle plugins to make use of the new Docker
configuration authentication support.

See gh-45269

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-04-24 21:56:14 -07:00
Phillip Webb
dd49de03ee Relocate DockerConfiguration and refactor buildpack platform code
Relate `DockerConfiguration` from `...platform.docker` to
`...platform.build` since it contains build specific concepts.

This commit also refactors a few other areas of the code to make it
easier to support credential helpers in the future.

Closes gh-45283
2025-04-24 21:29:46 -07:00
Andy Wilkinson
239a6e8901 Merge branch '3.4.x'
Closes gh-43870
2025-01-17 16:23:56 +00:00
Andy Wilkinson
86818b0e45 Ensure that junit-platform-launcher is on classpath
When testing with Gradle 7.6, junit-platform-launcher won't be
on the test runtime classpath unless it's declared as a dependency.
When testing with Gradle 8.x the dependency is added implicitly but
starting with Gradle 8.3 relying on this will result in a warning.

When junit-platform-launcher is absent, a failure occurs when testing
with Gradle as the class loader structure is such that JUnit tries
to load any test execution listeners, finds the listener declared in
spring-boot-actuator-autoconfigure but cannot then load the
implemented TestExecutionListener interface.

This problem is addressed by augmenting the component metadata for
spring-boot-starter-test to add a dependency on
junit-platform-launcher. This addresses the problem with
spring-boot-actuator-autoconfigure while also addressing a warning
with Gradle 8.3+.

Closes gh-43340
2025-01-17 16:01:41 +00:00
Andy Wilkinson
2f29a49a1d Remove APIs deprecated for removal in 3.5
Closes gh-43788
2025-01-14 13:59:24 +00:00
Andy Wilkinson
32433e84f3 Merge branch '3.3.x'
Closes gh-43270
2024-11-22 15:46:38 +00:00
Andy Wilkinson
bb3651b7d1 Reduce warnings reported by Eclipse
Closes gh-43269
2024-11-22 15:39:35 +00:00
Phillip Webb
72f379a5b2 Merge branch '3.2.x' into 3.3.x
Closes gh-42434
2024-09-24 13:01:05 -07:00
Phillip Webb
eafe61c4ca Backport upgrade to Gradle 8.10.1
Cherry-pick commits d756bf4e86, 083ac67d13 and 162c929a80 to
upgrade to Gradle 8.10.1.

Closes gh-42433
2024-09-24 12:55:29 -07:00
Moritz Halbritter
9294c003b4 Remove setting BP_NATIVE_IMAGE
Closes gh-32884
2024-09-17 15:50:57 +02:00
Andy Wilkinson
c460600c43 Merge branch '3.3.x'
Closes gh-42189
2024-09-09 13:53:14 +01:00
Andy Wilkinson
2c9f693d17 Merge branch '3.2.x' into 3.3.x
Closes gh-42188
2024-09-09 13:53:03 +01:00
Andy Wilkinson
9a74437fbc Delete unused javadoc CSS file
Closes gh-42187
2024-09-09 13:52:23 +01:00
Andy Wilkinson
d756bf4e86 Upgrade build to Gradle 8.10
Closes gh-41980
2024-08-23 12:41:05 +01: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
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
26b59ae912 Use Paketo tiny builder by default for JVM and native apps
Closes gh-40859
2024-06-28 11:45:54 -05: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
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
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
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
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
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
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