Commit Graph

1208 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
fd061220a7 Upgrade to ArchUnit 1.4
Closes gh-45474
2025-05-09 17:38:09 -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
Andy Wilkinson
67d23d5ec4 Merge branch '3.4.x' 2025-04-25 14:38:57 +01:00
Andy Wilkinson
468a33e72a Merge branch '3.3.x' into 3.4.x 2025-04-25 14:38:36 +01:00
Andy Wilkinson
c420786eed Upgrade to Gradle 8.14 2025-04-25 14:33:32 +01: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
Moritz Halbritter
0fb369e8b8 Use paketobuildpacks/builder-noble-java-tiny as the default image builder
Closes gh-42711
2025-04-24 15:21:22 +02:00
Stéphane Nicoll
238d83b318 Merge branch '3.4.x'
Closes gh-45242
2025-04-21 08:33:20 +02:00
Stéphane Nicoll
00d68399a7 Merge branch '3.3.x' into 3.4.x
Closes gh-45241
2025-04-21 08:32:14 +02:00
Claudio Nave
6a997d1026 Fix documentation links to buildpacks.io
See gh-45238

Signed-off-by: Claudio Nave <evaristegalois11@proton.me>
2025-04-21 08:30:35 +02:00
Phillip Webb
4bbbc0d687 Merge branch '3.4.x'
Closes gh-45193
2025-04-14 16:18:50 -07:00
Phillip Webb
b80bdbb182 Merge branch '3.3.x' into 3.4.x
Closes gh-45192
2025-04-14 16:18:41 -07:00
Johnny Lim
08c67cc353 Replace deprecated Project.task()
See gh-45009

Signed-off-by: Johnny Lim <izeye@naver.com>
2025-04-14 16:17:53 -07:00
Moritz Halbritter
d0a93dd7cd Merge branch '3.4.x' 2025-03-11 14:01:11 +01:00
Moritz Halbritter
e7f8b22479 Enable platform mismatch test again
We now try to pull linux/arm64. The image only exists for linux/amd64, which should
throw the platform mismatch exception.

See gh-44059
2025-03-11 13:32:15 +01:00
Moritz Halbritter
58fab66163 Merge branch '3.4.x' 2025-03-10 16:15:48 +01:00
Moritz Halbritter
8fca1dbb6f Disable test until further investigation
See gh-44059
2025-03-10 16:12:33 +01:00
Moritz Halbritter
1aa1bab0a8 Merge branch '3.4.x' 2025-03-10 11:28:03 +01:00
Moritz Halbritter
24854f469c Use single-arch image to test platform mismatch detection
See gh-44059
2025-03-10 11:00:55 +01:00
Moritz Halbritter
12c9bfff2f Merge branch '3.4.x'
Closes gh-44640
2025-03-07 11:03:41 +01:00
Moritz Halbritter
d93f4f5554 Throw exception if pulled image platform doesn't match the requested platform
Closes gh-44059
2025-03-07 09:28:17 +01:00
Moritz Halbritter
0852243fc6 Merge branch '3.4.x'
Closes gh-44537
2025-03-05 11:56:32 +01:00
Moritz Halbritter
d453a59724 Merge branch '3.3.x' into 3.4.x
Closes gh-44536
2025-03-05 11:56:21 +01:00
Tran Ngoc Nhan
701f73fcd7 Fix JavaExec javadoc link
See gh-44526

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2025-03-05 11:55:29 +01:00
Stéphane Nicoll
48e3de0cd1 Merge branch '3.4.x'
Closes gh-44410
2025-02-22 19:05:14 +01:00
Stéphane Nicoll
de32c6ff79 Merge branch '3.3.x' into 3.4.x
Closes gh-44409
2025-02-22 19:05:07 +01:00
Tran Ngoc Nhan
d781ce164d Use Javadoc attributes for Gradle reference guide
See gh-44388

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2025-02-22 19:02:33 +01:00
Moritz Halbritter
ae16856bda Revert "Use noble buildpacks instead of jammy"
This reverts commit 4f672b9588.

See gh-42711
2025-02-19 16:00:27 +01:00
Moritz Halbritter
4f672b9588 Use noble buildpacks instead of jammy
Closes gh-42711
2025-02-19 13:59:21 +01:00
Stéphane Nicoll
d9fc813fb5 Upgrade to Native Build Tools Plugin 0.10.5
Closes gh-44183
2025-02-08 16:04:17 +01:00
Stéphane Nicoll
ff6168cde7 Upgrade to Native Build Tools Plugin 0.10.5
Closes gh-44179
2025-02-08 15:47:58 +01:00
Moritz Halbritter
1e73a7cf8b Merge branch '3.4.x' 2025-02-06 15:51:12 +01:00
Moritz Halbritter
4fbbc3eda1 Clean up duplicate JsonView entry 2025-02-06 15:40:05 +01:00
Moritz Halbritter
0eb69445f2 Merge branch '3.4.x' 2025-02-06 14:27:17 +01:00
Moritz Halbritter
8552bc0d78 Merge branch '3.3.x' into 3.4.x 2025-02-06 14:27:06 +01:00
Moritz Halbritter
461e30f668 Add JsonView to PluginClasspathGradleBuild 2025-02-06 14:26:51 +01:00
Stéphane Nicoll
b46698774d Upgrade to Native Build Tools Plugin 0.10.5
Closes gh-44141
2025-02-05 14:57:50 +01: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
Phillip Webb
a49719d73e Use consistent exception messages in Assert calls
Update `Assert` calls to consistently use messages of the form
"'item' must [not] ...".

Closes gh-43780
2025-01-11 21:18:47 -08:00
Andy Wilkinson
ca3fbb26a2 Mention system libraries as a reason not to use tiny builder
Closes gh-43716
2025-01-08 10:07:05 +00:00
Andy Wilkinson
f3c70a7af4 Consistently document the minimum supported versions of Gradle
Closes gh-43725
2025-01-08 09:09:36 +00:00