Commit Graph
61 Commits
Author SHA1 Message Date
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
Andy Wilkinson 53cda6a6a1 Polish "Remove unused SHA-1 hash from UNPACK markers"
See gh-46520
2025-10-03 15:16:36 +01:00
academey d5717b71ab Remove unused SHA-1 hash from UNPACK markers
In BootZipCopyAction and AbstractJarWriter, SHA-1 hash is calculated for
stored entries requiring unpack and set as entry comment. However, the
hash isn't used anywhere, just the marker prefix 'UNPACK:' is checked.

This commit removes the unnecessary SHA-1 hash calculation which reads
the file completely in memory, potentially three times in extreme cases.
Now the comment is simply set to 'UNPACK:' without any hash, improving
performance.

See gh-46520

Signed-off-by: Hyunjoon Choi <hyunjoon@example.com>
Signed-off-by: academey <academey@gmail.com>
2025-10-03 15:16:36 +01:00
Phillip Webb 08a641c1a2 Polish whitespace in gradle files 2025-10-01 11:40:03 -07:00
Phillip Webb 27715dee20 Allow jars to be marked as a development-tool to exclude from uber-jar
Closes gh-47320
2025-09-24 16:38:44 -07:00
Phillip Webb bc46bb2a24 Drop spring-boot-loader-classic support
Closes gh-45714
2025-09-23 15:31:51 -07:00
Phillip Webb 3b2c8abf50 Restructure buildpack docker package
Closes gh-45284
2025-09-23 13:59:27 -07:00
Stéphane Nicoll 14703cbafd Revert "Remove mentions of JUnit 4"
This reverts commit 3b98af30f5.

See gh-47228
2025-09-19 17:05:00 +02:00
Stéphane Nicoll 3b98af30f5 Remove mentions of JUnit 4
This commit removes all mentions of JUnit 4 from the Javadoc and
reference documentation. It also harmonizes to simply refers to JUnit.

Closes gh-47228
2025-09-19 15:29:11 +02:00
Moritz Halbritter 2e8428b760 Remove NullAway suppressions where possible
See gh-46926
2025-09-09 12:02:19 +02:00
Andy Wilkinson d353038c58 Update Jackson support to require Jackson 3
Closes gh-45535
2025-09-02 11:37:09 +01:00
Moritz Halbritter 2a907ba369 Improve null-safety of build-plugin/spring-boot-gradle-plugin
See gh-46926
2025-08-26 14:22:53 +02:00