Commit Graph
72 Commits
Author SHA1 Message Date
Stéphane Nicoll a500eaaefe Merge branch '4.0.x' 2026-07-15 08:02:02 +02:00
Stéphane Nicoll 8c6c3fd1e4 Polish "Upgrade to Gradle 9.6.1"
Stop using providers.properties as it is deprecated

See gh-50793
2026-07-15 07:51:22 +02:00
Stéphane Nicoll c7dd44815a Upgrade to Native Build Tools Plugin 1.1.4
Closes gh-50947
2026-07-14 16:20:52 +02:00
Stéphane Nicoll 2eedeabe9a Upgrade to Gradle 9.6.1
This commit also suppresses new warnings from the Native Build Tools
Plugin, see https://github.com/graalvm/native-build-tools/pull/903

Closes gh-50793
2026-07-14 16:03:14 +02:00
Andy Wilkinson 7483278e7d Only apply grpc defaults when grpc plugin is configured
Previously, Spring Boot's Gradle plugin reacted to the Protobuf
plugin by configuring Protobuf's grpc plugin. This worked well for
projects using gRPC but went too far for those using Protobuf
without gRPC.

This commit dials the support back a little bit. Now, our recommended
gRPC defaults are only applied when Protobuf is configured with the
grpc plugin.

Closes gh-50822
2026-06-24 08:58:17 +01:00
Stéphane Nicoll 6a625e292c Merge branch '4.0.x'
Closes gh-50620
2026-05-29 12:36:56 +02:00
Stéphane Nicoll 8845b31cf9 Merge branch '3.5.x' into 4.0.x
Closes gh-50619
2026-05-29 12:36:08 +02:00
Andy Wilkinson 6a74bb85a3 Merge branch '4.0.x'
Closes gh-50440
2026-05-14 15:03:44 +01:00
Andy Wilkinson add52b6ccd Merge branch '3.5.x' into 4.0.x
Closes gh-50439
2026-05-14 15:02:24 +01:00
Dongliang Xie 6d307ed250 Align protoc version with protobuf-java
Update `ProtobufPluginAction` to align the protoc version with
`protobuf-java` rather than `protobuf-java-util`. The util
jar is only required for server gRPC code.

See gh-50405

Signed-off-by: Dongliang Xie <dragonfsky@gmail.com>
2026-05-12 08:58:47 -07:00
Phillip Webb b23ad48047 Simplify ProtobufPluginAction versionFromRuntimeClasspath
Simplify the stream logic to make use of `getAllComponents()`
rather than using `getAllDependencies()` and
`DependencyResult::getFrom`.

See gh-50405
2026-05-12 08:56:00 -07:00
Moritz Halbritter d7334fed64 Upgrade to Native Build Tools Plugin 1.0.0
Closes gh-49920
2026-04-07 09:31:33 +02:00
Andy Wilkinson a052376237 Configure protobuf when com.google.protobuf plugin is applied
Update spring-boot-gradle plugin to apply protobuf configuration
when the `com.google.protobuf` plugin is detected.

Closes gh-49369
2026-03-19 15:12:30 -07:00
Stéphane Nicoll a7b86cd49c Merge branch '4.0.x' 2026-03-16 16:05:07 +01:00
Stéphane Nicoll 5896b0cba8 Merge branch '3.5.x' into 4.0.x 2026-03-16 16:04:56 +01:00
Andy Wilkinson 255626f29e Upgrade to Kotlin 2.3.20
Closes gh-49613
2026-03-16 14:08:30 +00:00
Andy Wilkinson e7c0bec8ab Improve input/output configuration of DSL-created bootBuildInfo task
There are two problems with the current approach:

1. The DSL uses dependsOn to try to inform Gradle of the dependency
   relationship between tasks. This isn't recommended and inputs and
   outputs should be used instead.
2. The generated build-info.properties file doesn't appear on the
   classpath when running an application in an IDE, unless that IDE
   delegates the execution to Gradle.

This commit addresses both of these shortcomings by configuring the
bootBuildInfo task's output to be a src dir of the main source set's
resources. This gives Gradle the preferred input- and output-based
view of the tasks' interdependencies. It also causes the generated
build-info.properties to appear on the classpath in IDEs that don't
delegate to Gradle. For example, the Eclipse Buildship plugin
automatically configures build/bootBuildInfo as a source folder on
the project's build path.

Closes gh-49547
2026-03-11 10:11:46 +00:00
Stéphane Nicoll fde18f4523 Upgrade to Native Build Tools Plugin 0.11.5
Closes gh-49498
2026-03-07 11:29:27 +01:00
Stéphane Nicoll e3e167bf9b Upgrade to Native Build Tools Plugin 0.11.5
Closes gh-49475
2026-03-07 08:50:31 +01:00
Andy Wilkinson d76f056249 Merge branch '4.0.x'
Closes gh-49322
2026-02-25 10:05:01 +00:00
Andy Wilkinson 14444669fe Merge branch '3.5.x' into 4.0.x
Closes gh-49321
2026-02-25 10:04:41 +00:00
Andy Wilkinson 542ea4f18a Polish "Support configuring bootBuildImage's environment on the command line"
See gh-48792
2026-01-12 15:51:26 +00:00
HuitaePark a1c83b52b0 Support configuring bootBuildImage's environment on the command line
Accumulate command line --environment values in a ListProperty and
merge them with the configured environment when building the
effective environment map. Add a test that verifies multiple entries
are accepted and propagated.

See gh-48792

Signed-off-by: HuitaePark <qkrgmlxo3174@gmail.com>
2026-01-12 15:51:13 +00:00
Andy Wilkinson c12e1dc872 Upgrade to Kotlin 2.3.0
Closes gh-48745
2026-01-09 09:54:21 +00:00
Andy Wilkinson 3d6671d47a Merge branch '4.0.x'
Closes gh-48701
2026-01-08 12:14:50 +00:00
Andy Wilkinson 0ffffee4bf Upgrade to Nullability Plugin 0.0.9
Closes gh-48638
2026-01-08 11:59:51 +00:00
Stéphane Nicoll da56bfea6e Remove support for the deprecated layertools jar mode
Closes gh-48568
2025-12-22 08:36:52 +01:00
Phillip Webb 0254c693cf Merge branch '3.5.x'
Closes gh-48478
2025-12-09 08:42:36 -08:00
Andy Wilkinson b5703eaa4c Merge branch '3.5.x'
Closes gh-48300
2025-11-26 12:43:51 +00:00
Phillip Webb 2685f4bf29 Change tomcat and jetty runtime modules to starters
Change `spring-boot-tomcat-runtime` and `spring-boot-jetty-runtime`
into starter POMs and reduce the number of dependencies needed for
`spring-boot-tomcat` and `spring-boot-jetty`.

The runtime starters provide only the jars required to run the
embedded server along with the module jar itself (excluding transitive
dependencies) and `spring-boot-webserver` (excluding transitive
dependencies).

The build setup required for an executable jar is slightly different
between Maven and Gradle. For Maven, the regular module is put in the
`provided` scope. For Gradle, the regular module remains in main
configuration and the runtime jar is put in the `providedRuntime`
configuration. The reference documentation has been updated to
show how to configure things if starters are being used.

Manual testing has been performed to ensure that wars build with Maven
and Gradle work with both Tomcat and Jetty in both deployed and
`java -jar` modes.

Closes gh-48175
2025-11-19 21:59:03 -08:00
Phillip Webb 2e75008ba1 Merge branch '3.5.x'
Closes gh-48197
2025-11-19 21:58:48 -08:00
Stéphane Nicoll d1e5fe3248 Merge branch '3.5.x'
Closes gh-48106
2025-11-13 10:31:25 +01:00
Andy Wilkinson 0e44f1de42 Merge branch '3.5.x' 2025-11-10 10:39:32 +00:00
Phillip Webb d0d332b42f Merge branch '3.5.x'
Closes gh-47968
2025-11-05 09:52:47 -08:00
Stéphane Nicoll 68f608155b Merge branch '3.5.x'
Closes gh-47910
2025-11-03 10:23:38 +01:00
Andy Wilkinson 97daba702e Make use of JavaExecSpec.getJvmArguments()
Closes gh-34413
2025-10-31 18:29:26 +00:00
Phillip Webb debbec8ee1 Merge branch '3.5.x'
Closes gh-47772
2025-10-22 22:15:43 -07:00
Andy Wilkinson 635e766aaf Make it easier to create executable and deployable war
Closes gh-46944
2025-10-22 10:13:46 +01:00
Andy Wilkinson d4534eb0be Align test script names with test class name
See gh-47738
2025-10-21 11:52:53 +01:00
Andy Wilkinson b7589a1471 Raise the minimum supported version of the CycloneDX plugin to 3.0.0
Closes gh-47250
2025-10-21 11:16:00 +01:00
Andy Wilkinson 2a9ad4bcb3 Merge branch '3.5.x'
Closes gh-47738
Closes gh-47739
2025-10-21 10:29:09 +01:00
Andy Wilkinson 46440bf2d5 Merge branch '3.5.x'
Closes gh-47738
Closes gh-47739
2025-10-21 10:27:53 +01:00
Andy Wilkinson 2b36c89e91 Remove some remnants of the embedded launch script support
See gh-47666
2025-10-20 22:02:39 +01:00
Andy Wilkinson 81aa674adb Remove support for embedded launch scripts
Closes gh-47666
2025-10-20 20:03:14 +01:00
Stéphane Nicoll adb6481c62 Polish "Upgrade to Testcontainers 2.0.1"
See gh-47664
2025-10-17 17:23:35 +02:00
Eddú Meléndez 7f64615690 Upgrade to Testcontainers 2.0.1
* Update dependencies name
  Modules are prefixed with `testcontainers-`
* Update container classes
  Container classes are under `org.testcontainers.<module-name>` package

See gh-47664

Signed-off-by: Eddú Meléndez <eddu.melendez@gmail.com>
2025-10-17 17:11:24 +02:00
Moritz Halbritter ef6fa41dd1 Add nullability annotations to tests in build-plugin/spring-boot-gradle-plugin
See gh-47263
2025-10-16 11:24:51 +02:00
Moritz Halbritter e1f9116684 Raise GraalVM baseline to 25
This also removes the 'requiredVersion' setting from the
native-maven-plugin configuration, as this is deprecated in the native
build tools.

Close gh-47433
2025-10-15 09:59:03 +02:00
Phillip Webb 05172cf77b Use ZipEntryConstants.CONSTANT_TIME_FOR_ZIP_ENTRIES to check timestamp
Update `AbstractBootArchiveTests` to use the Gradle provided constant
to check the repeatable timestamp.
2025-10-07 22:29:18 -07:00
Andy Wilkinson 44099d3d21 Build with Gradle 9.1.0 2025-10-06 18:30:48 +01:00