Commit Graph

175 Commits

Author SHA1 Message Date
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
Andy Wilkinson
b01235e68d Copy attributes from runtimeClasspath to productionRuntimeClasspath
Fixes gh-38209
2023-11-06 11:50:27 +00:00
Scott Frederick
4f8684fd69 Merge branch '3.0.x' into 3.1.x
Closes gh-37588
2023-09-26 14:07:05 -05:00
Scott Frederick
a03e3320a6 Merge branch '2.7.x' into 3.0.x
Closes gh-37587
2023-09-26 14:06:50 -05:00
Scott Frederick
aeeb5cf1f8 Apply Gradle fileMode and dirMode consistently in jar and war archives
Fixes gh-37496
2023-09-26 13:49:19 -05:00
Scott Frederick
3803bd9af9 Merge branch '3.0.x' into 3.1.x
Closes gh-37550
2023-09-22 11:32:28 -05:00
Scott Frederick
7322c078c4 Merge branch '2.7.x' into 3.0.x
Closes gh-37549
2023-09-22 11:32:07 -05:00
Scott Frederick
98bfaf0412 Remove compatibility blocks from Gradle plugin integration tests
Closes gh-37453
2023-09-22 11:28:12 -05:00
Andy Wilkinson
dfb95329fd Merge branch '3.0.x' into 3.1.x
Closes gh-37380
2023-09-14 11:03:08 +01:00
Andy Wilkinson
a795065555 Polish "Lazily query attributes when copying from base configuration"
See gh-37343
2023-09-14 10:32:05 +01:00
Andy Wilkinson
a84ee2fb12 Merge branch '3.0.x' into 3.1.x
Closes gh-37174
2023-09-01 14:17:59 +01:00
Andy Wilkinson
3ab1dfb9dc Merge branch '2.7.x' into 3.0.x
Closes gh-37173
2023-09-01 14:17:40 +01:00
Andy Wilkinson
a77863245d Polish "Use project.getLayout().getBuildDirectory() instead of getBuildDir()"
See gh-37167
2023-09-01 14:15:33 +01:00
Andy Wilkinson
d6192a0fa1 Merge branch '3.0.x'
Closes gh-35708
2023-06-02 15:18:13 +01:00
Andy Wilkinson
5a793a6d49 Merge branch '2.7.x' into 3.0.x
Closes gh-35707
2023-06-02 15:17:35 +01:00
Andy Wilkinson
5623fe3b94 Test Gradle plugin against Gradle 8.2-rc-1
Closes gh-35699
2023-06-02 13:23:36 +01:00
Andy Wilkinson
37cc6b6a70 Merge branch '3.0.x'
Closes gh-35444
2023-05-16 09:27:30 +01:00
Andy Wilkinson
c39a37cd23 Exclude developmentOnly dependences from AOT processing classpaths
Fixes gh-35433
2023-05-16 09:26:20 +01:00
Andy Wilkinson
19d7973776 Add bootTestRun to run app using test source set output and classpath
Closes gh-35248
2023-05-04 15:27:10 +01:00
Scott Frederick
23ae91b008 Add native image manifest entry
A manifest entry `Spring-Boot-Native-Processed: true` is added to the
jar manifest by the Maven or Gradle plugin when the jar has been built
for use in a native image. With the Gradle plugin, this is done in
reaction to the GraalVM Native Image Plugin being applied to the
project. With the Maven plugin, this is done when the `native` profile
is applied to the build.
2023-05-02 15:11:49 -05:00
Andy Wilkinson
d5756db54c Stop using Native Build Tools "requiredVersion" configuration option
Closes gh-34840
2023-04-14 11:55:20 +01:00
Phillip Webb
8d2f550f8c Merge branch '3.0.x' 2023-04-10 21:14:42 -07:00
Phillip Webb
3ba3558cff Merge branch '2.7.x' into 3.0.x 2023-04-10 21:14:34 -07:00
Phillip Webb
3e9a136143 Polish gradle formatting 2023-04-10 21:14:09 -07:00
Scott Frederick
56bc6d2fa0 Allow image application directory to be configurable
An `applicationDirectory` option on the Maven
`spring-boot:build-image` goal and the Gradle `bootBuildImage` task
can be configured to set the location that will be used to upload
application contents to the builder image, and will contain the
application contents in the generated image.

Closes gh-34786
2023-04-07 14:00:00 -05:00
Scott Frederick
5817c8441d Allow image Created date to be configurable
A `createdDate` option on the Maven `spring-boot:build-image` goal
and the Gradle `bootBuildImage` task can be used to set the `Created`
metadata field on a generated OCI image to a specified date or to
the current date.

Closes gh-28798
2023-04-06 15:08:34 -05:00
Andy Wilkinson
03dd666818 Merge branch '2.7.x' into 3.0.x
Closes gh-34460
2023-03-03 10:27:32 +00:00
Andy Wilkinson
4f7e038f14 Test Gradle plugin against Gradle 8.0.1
Closes gh-34457
2023-03-03 10:21:26 +00:00
Andy Wilkinson
443d80ce6e Polish
See gh-32924
2022-11-04 17:23:01 +00:00
Andy Wilkinson
fe8644cc59 Fail more elegantly when GraalVM version is too old
Closes gh-32924
2022-11-04 13:05:22 +00:00
Andy Wilkinson
2d5a3eac51 Include AOT-generated classes in native test binary
Closes gh-32940
2022-11-04 11:53:33 +00:00
Andy Wilkinson
519250cacf Polish Gradle tasks for AOT processing
Closes gh-32946
2022-11-01 16:42:26 +00:00
Scott Frederick
c22e76632c Add Build-Jdk-Spec to jar and war manifest when building with Gradle
This commit adds a `Build-Jdk-Spec` attribute to the manifest in a
jar or war file built with the Spring Boot Gradle plugin. This
aligns the Gradle plugin's behavior with the default Maven plugin
behavior.

This removes the need to set a `BP_JVM_VERSION` environment variable
when invoking Cloud Native Buildpacks, as the Paketo buildpacks will
honor `Build-Jdk-Spec` in a jar or war manifest to determine the
default JVM version.

Fixes gh-32829
2022-10-25 15:48:05 -05:00
Andy Wilkinson
9e6259cd37 Remove development-only dependencies from native image classpath
Fixes gh-32843
2022-10-24 09:22:13 +01:00
Scott Frederick
b78b22b6f6 Allow Gradle task property to be set with String or enum value
See gh-32769
2022-10-20 13:59:54 -05:00
Scott Frederick
8acf9afccb Use String instead of enum for Gradle task Property
See gh-32769
2022-10-19 17:23:23 -05:00
Andy Wilkinson
8621be6bba Make consistent use of Property for Gradle task configuration
Closes gh-32769
2022-10-19 19:08:45 +01:00
Andy Wilkinson
2dacddb4d7 Make bootBuildImage produce native image when NBT plugin is applied
Closes gh-32768
2022-10-18 13:12:45 +01:00
Andy Wilkinson
6175c4210d Fix skipping of processAot when there is no main source
See gh-32424
2022-09-21 14:57:54 +01:00
Andy Wilkinson
fa81e8ca79 Skip processAot and processTestAot if there is no main or test code
Closes gh-32424
2022-09-20 17:15:19 +01:00
Andy Wilkinson
e8aa5680d6 Support file-based reachability metadata repositories
See gh-32408
2022-09-20 14:06:18 +01:00
Scott Frederick
1ed4d89466 Copy native reachability metadata to jar file in Gradle plugin
When the Spring Boot Gradle plugin builds a fat jar and the Native
Build Tools Gradle plugin is applied to the build, any configuration
files from the GraalVM reachability metadata repository that match
project dependencies are copied to a `META-INF/native-image`
directory in the fat jar.

Closes gh-32408
2022-09-16 12:26:24 -05:00
Andy Wilkinson
fd28f6d1d6 Add Gradle plugin support for processing test contexts ahead-of-time
Closes gh-32192
2022-09-02 15:54:46 +01:00
Phillip Webb
c0b3d36205 Rename 'generateAotSources' task to processAot'
See gh-31918
2022-08-25 15:10:48 -07:00
Andy Wilkinson
cb18eb095b Make transitive runtime dependencies available to AOT processing
Closes gh-31970
2022-08-03 13:54:50 +01:00
Scott Frederick
36d6106bb0 Merge branch '2.7.x'
Closes gh-31825
2022-07-20 15:11:30 -05:00
Scott Frederick
09c7ce6dab Merge branch '2.6.x' into 2.7.x
Closes gh-31824
2022-07-20 15:10:43 -05:00
Scott Frederick
9b0cdac58a Simplify support for pushing images to unauthenticated registries
This commit removes the requirement that `docker.publishRegistry`
configuration must be provided when an image is published by the Gradle
or Maven plugin.

Fixes gh-28844
2022-07-20 15:06:05 -05:00
Andy Wilkinson
6da8c88b2b Include library resources on classpath of AOT source generation
Closes gh-31803
2022-07-20 10:07:02 +01:00
Andy Wilkinson
fcf45d5c22 Add support for invoking AOT to the Gradle plugin
Closes gh-30527
2022-04-29 14:32:23 +01:00