Andy Wilkinson
40461488db
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37826
2023-10-11 14:47:23 +01:00
Andy Wilkinson
a80f8ea5e6
Configure Java toolchain on AOT-processing tasks
...
Closes gh-37717
2023-10-11 14:31:44 +01:00
Phillip Webb
7ad4a9817d
Rewrite nested jar support code and remove Java 8 support
...
Rewrite nested jar code to better align with the implementations
provided in Java 17. This update makes two fundamental changes to
the previous implementation:
- Resource cleanup is now handled using the `java.lang.ref.Cleaner`
- Jar URLs now use the form `jar:nested:/my.jar/!nested.jar!/entry`
Unlike the previous `jar🫙 /my,jar!/nested.jar!/entry` URL format,
the new format is compatible with Java's default Jar URL handler.
Specifically, it now only uses a single `jar:` prefix and it no longer
includes multiple `!/` separators.
In addition to the changes above, many of the ancillary classes have
also been refactored and updated to create cleaner APIs.
Closes gh-37668
2023-10-03 17:27:57 -07:00
Phillip Webb
55b5610dd9
Add Maven and Gradle option for the loader implementation to use
...
Add properties to the Maven and Gradle plugins so that users can
switch between the two loader modules.
See gh-37669
2023-10-03 15:40:42 -07:00
Phillip Webb
aeb6537f57
Rename spring-boot-loader to spring-boot-loader-classic
...
Rename the `spring-boot-loader` module to `spring-boot-loader-classic`
so that we can introduce an alternative loader implementation.
See gh-37669
2023-10-03 15:40:04 -07:00
Phillip Webb
c22548982a
Relocate launcher classes
...
Create alternative launcher classes under the package
`org.springframework.boot.loader.launch` and use them in favor
of the previous location.
This update is designed to improve compatibility with future
changes in the loader.
Closes gh-37667
2023-10-03 14:53:04 -07:00
Phillip Webb
3d6859e80f
Use the term "uber jar" in reference documentation and javadoc
...
Update reference documentation and javadoc to use the term "uber jar"
rather than "fat jar".
Closes gh-37653
2023-10-02 23:01:34 -07:00
Andy Wilkinson
bebca55a8f
Add testAndDevelopmentOnly configuration
...
Closes gh-35436
2023-09-28 13:24:34 +01:00
Phillip Webb
052757c2d8
Polish
2023-09-27 20:58:09 -07:00
Scott Frederick
3cf08e1351
Clarify default security options for image building
...
See gh-37479
2023-09-27 11:05:40 -05:00
Scott Frederick
d37e9424a2
Merge branch '3.1.x'
...
Closes gh-37589
2023-09-26 14:07:16 -05: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
c45ad6ce83
Use actual Java version in build image integration tests
...
See gh-37453
2023-09-22 13:38:37 -05:00
Scott Frederick
e80f743648
Merge branch '3.1.x'
...
Closes gh-37551
2023-09-22 11:37:00 -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
89a86e91f5
Avoid deprecation warning with Gradle 8.4-rc-1
...
Closes gh-37493
2023-09-22 15:31:36 +01:00
Scott Frederick
7de770f6a1
Add support for security options in CNB builder container config
...
Closes gh-37479
2023-09-20 13:43:36 -05:00
Scott Frederick
4433fcd1f2
Add support for build workspace option when building images
...
Closes gh-37478
2023-09-20 13:43:35 -05:00
Andy Wilkinson
44bc47d96d
Merge branch '3.1.x'
...
Closes gh-37381
2023-09-14 11:03:25 +01: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
Fouad Almalki
7edc9ebc28
Lazily query attributes when copying from base configuration
...
See gh-37343
2023-09-14 10:30:11 +01:00
Scott Frederick
a9f26e0f95
Conditionally enable image building bind cache tests
...
Accessing bind mount directories as is done in the tests for building
images with bind mount caches requires Docker configuration when
using Docker Desktop. It works without configuration on Linux with
Docker Engine.
See gh-28387
2023-09-12 17:00:59 -05:00
Andy Wilkinson
f45a32d911
Merge branch '3.1.x'
...
Closes gh-37175
2023-09-01 14:18:23 +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
Yanming Zhou
a8706962d4
Use project.getLayout().getBuildDirectory() instead of getBuildDir()
...
See gh-37167
2023-09-01 14:08:16 +01:00
Scott Frederick
c17ecf0f0b
Add support for caching to bind mounts when building images
...
When building an image using the Maven `spring-boot:build-image` goal or
the Gradle `bootBuildImage` task, the build and launch caches can be
configured to use a bind mount as an alternative to using a named
volume.
Closes gh-28387
2023-08-21 15:04:39 -05:00
Stephane Nicoll
d9cc6e810f
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37027
2023-08-18 14:31:51 +02:00
Stephane Nicoll
1f6d0600b5
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37026
2023-08-18 14:15:48 +02:00
Stephane Nicoll
6efd9ed0b0
Test Gradle plugin against Gradle 8.3
...
Closes gh-37025
2023-08-18 14:05:50 +02:00
Scott Frederick
eb45aab712
Upgrade default CNB builders to Paketo Jammy
...
Closes gh-36689
2023-08-14 13:29:42 -05:00
Moritz Halbritter
e4484c3db5
Use constants in SpringBootAotPlugin
2023-08-08 13:12:48 +02:00
Moritz Halbritter
7bb337aeb1
Polish tests
2023-08-08 13:12:47 +02:00
Moritz Halbritter
ed9169501e
Polish
2023-08-08 13:12:47 +02:00
Andy Wilkinson
b1d26fe961
Revert "Upgrade default CNB builders to Paketo Jammy"
...
This reverts commit 6506208d29
. The
upgrade to the Jammy builder was causing
failsWhenBuildImageIsInvokedOnMultiModuleProjectWithBuildImageGoal to
hang on CI.
See gh-36689
2023-08-07 12:10:27 +01:00
Scott Frederick
6506208d29
Upgrade default CNB builders to Paketo Jammy
...
Closes gh-36689
2023-08-02 19:06:16 -05:00
Andy Wilkinson
21ce7a08fc
Polish "Polish"
...
See gh-36620
2023-07-28 11:40:34 +01:00
Johnny Lim
5a205dbfd1
Polish
...
See gh-36620
2023-07-28 11:35:33 +01:00
Andy Wilkinson
12254b11ce
Don't run KotlinPluginActionITs on JVMs not support by Gradle 7.6
2023-07-21 16:24:32 +01:00
Andy Wilkinson
2029117999
Upgrade to Kotlin 1.9.0
...
Closes gh-36362
2023-07-19 20:27:41 +01:00
Scott Frederick
4393a2244c
Use Docker CLI context to determine daemon host address for image building
...
Configuration files managed by the Docker CLI are now used to determine
the host address of the Docker daemon used when building images using
buildpacks when a host address is not configured with environment
variables or build tool plugin configuration.
Closes gh-36445
2023-07-18 13:21:01 -06:00
Andy Wilkinson
ce8253ea95
Merge branch '3.1.x'
...
Closes gh-36238
2023-07-05 09:51:35 +01:00
Andy Wilkinson
c9f8d92656
Merge branch '3.0.x' into 3.1.x
...
Closes gh-36237
2023-07-05 09:47:43 +01:00
Johnny Lim
0fa58c04e7
Use Stream.toList()
...
See gh-36167
2023-07-05 09:38:19 +01:00
Andy Wilkinson
fc403f4f18
Merge branch '3.1.x'
2023-06-21 13:15:06 +01:00
Andy Wilkinson
d3522a78a8
Merge branch '3.0.x' into 3.1.x
2023-06-21 13:14:46 +01:00
Andy Wilkinson
641f00f24c
Disable test when Java version is too high
...
Gradle 7.3.3 does not support Java 20 so the test that verifies that
the plugin fails fast when running on a version of Gradle that it
does not support needs to be disabled on Java 20 and later.
See gh-35931
2023-06-21 13:12:20 +01:00
Andy Wilkinson
ca5bd37e81
Upgrade to Spring Framework 6.1.0-M1
...
Closes gh-35977
Closes gh-35980
2023-06-19 18:12:16 +01:00
Scott Frederick
e8301a065f
Merge branch '3.0.x' into 3.1.x
...
Closes gh-35932
2023-06-16 16:10:48 -05:00
Scott Frederick
fbba2df7bf
Enable Gradle plugin tests on Java 20
...
Closes gh-35931
2023-06-16 16:10:24 -05:00
Andy Wilkinson
cdcebe452c
Polish "Test Gradle plugin against Gradle 8.2-rc-1"
...
See gh-35708
2023-06-05 10:59:30 +01:00
Andy Wilkinson
45ce18e1c7
Polish "Test Gradle plugin against Gradle 8.2-rc-1"
...
See gh-35708
2023-06-02 15:35:34 +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
Phillip Webb
ae90add7c7
Polish
2023-05-16 14:04:48 -07: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
Phillip Webb
e3ed87d165
Merge branch '3.0.x'
2023-05-12 13:21:52 -07:00
Phillip Webb
92e420a098
Merge branch '2.7.x' into 3.0.x
2023-05-12 13:14:12 -07:00
Johnny Lim
ff9fd1abeb
Polish
...
See gh-35185
2023-05-10 08:31:36 +02:00
Andy Wilkinson
93c3116b3a
Fix failsGracefullyWhenNoTestMainMethodIsFound on Windows
2023-05-09 16:56:18 +01:00
Andy Wilkinson
07a11045d9
Merge branch '3.0.x'
...
Closes gh-35328
2023-05-05 17:35:50 +01:00
Andy Wilkinson
fd864c35aa
Improve mapping of resolved artifacts to dependency coordinates
...
Closes gh-31216
2023-05-05 17:32:59 +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
Phillip Webb
d86e82d026
Merge branch '3.0.x'
2023-05-02 15:42:05 -07:00
Phillip Webb
2c27ec5b7b
Merge branch '2.7.x' into 3.0.x
2023-05-02 15:42:00 -07:00
Phillip Webb
b3226c55d2
Polish
2023-05-02 15:41:55 -07: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
Moritz Halbritter
9d50d92b9c
Merge branch '3.0.x'
2023-05-02 16:36:49 +02:00
Moritz Halbritter
1f4a337ad2
Merge branch '2.7.x' into 3.0.x
2023-05-02 16:17:50 +02:00
Moritz Halbritter
091d6204cb
Disable build image integration tests on aarch64 linux and mac
...
See gh-35229
2023-05-02 15:38:42 +02:00
Stephane Nicoll
16563a6a0a
Upgrade to Native Build Tools Plugin 0.9.21
...
Closes gh-35055
2023-04-18 13:45:53 +02:00
Andy Wilkinson
2b4f565b76
Merge branch '3.0.x'
...
Closes gh-35038
2023-04-17 17:52:11 +01:00
Andy Wilkinson
df93b39f60
Merge branch '2.7.x' into 3.0.x
...
Closes gh-35037
2023-04-17 17:51:53 +01:00
Andy Wilkinson
d6bbbb8bac
Merge branch '3.0.x'
...
Closes gh-35036
2023-04-17 17:49:55 +01:00
Andy Wilkinson
284e4d6f6d
Merge branch '2.7.x' into 3.0.x
...
Closes gh-35035
2023-04-17 17:46:33 +01:00
Andy Wilkinson
88ec47ff2b
Test Gradle plugin against Gradle 8.1
...
Closes gh-35034
2023-04-17 17:38:28 +01:00
Andy Wilkinson
751fc9fe54
Fix includeProjectDependencies with Kotlin DSL
2023-04-17 17:35:15 +01:00
Andy Wilkinson
d5756db54c
Stop using Native Build Tools "requiredVersion" configuration option
...
Closes gh-34840
2023-04-14 11:55:20 +01:00
Andy Wilkinson
b8ec7d291d
Upgrade to Jackson Bom 2.15.0-rc2
...
Closes gh-34980
2023-04-14 11:55:20 +01:00
Phillip Webb
9b6a2a59a1
Set offset when checking date in tests
...
Update integration tests that check the current date so that the offset
is set for the current time before comparing results.
See gh-34786
2023-04-12 22:13:08 -07: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
Stephane Nicoll
5c1c0a2b2e
Upgrade to Kotlin 1.8.20
...
Closes gh-34879
2023-04-06 16:25:23 +02:00
Scott Frederick
17755e5376
Merge branch '2.7.x' into 3.0.x
...
Closes gh-34475
2023-03-03 16:49:45 -06:00
Scott Frederick
10d71f5645
Document how to get socket location for podman configuration
...
Closes gh-34435
2023-03-03 16:47:48 -06:00
Andy Wilkinson
6a95f44f67
Merge branch '2.7.x' into 3.0.x
...
Closes gh-34462
2023-03-03 10:47:08 +00:00
Andy Wilkinson
68a1dd3a76
Document support for Gradle 8
...
Closes gh-34458
2023-03-03 10:42:28 +00: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
Phillip Webb
956b9e06c9
Merge branch '2.7.x' into 3.0.x
...
Closes gh-34452
2023-03-02 12:08:52 -08:00
Phillip Webb
69d34c96bf
Apply consistent timestamps to files added to a fat archive
...
Update logic in `BootZipCopyAction` to align with the recent changes
made in the Maven plugin (commit 998d59b7
). Timestamps are now
specified in UTC and offset against the default timezone before being
written.
Removing the offset from our UTC time before calling `entry.setTime()`
ensures that we get consistent bytes in the zip file when the output
stream reapplies the offset during write.
Closes gh-21005
2023-03-02 12:06:42 -08:00
Andy Wilkinson
814b77c33f
Merge branch '2.7.x' into 3.0.x
...
Closes gh-34391
2023-02-27 13:54:59 +00:00
Andy Wilkinson
81882ecca4
Apply plugins consistently in Gradle documentation examples
...
Closes gh-34038
2023-02-27 13:26:05 +00:00
Phillip Webb
c4de86c244
Merge branch '2.7.x' into 3.0.x
2023-02-21 23:17:57 -08:00
Phillip Webb
df5898a146
Reformat code following spring-javaformat upgrade
2023-02-21 22:53:27 -08:00
Johnny Lim
d368115128
Fix name for Implementation-Title in Spring Boot Gradle plugin
...
See gh-34177
2023-02-14 19:47:43 +00:00
Scott Frederick
cbac3c81d6
Merge branch '2.7.x' into 3.0.x
...
Closes gh-34161
2023-02-09 15:47:34 -06:00
Scott Frederick
33aef7fe27
Update CLI installation docs to download releases from Maven Central
...
Closes gh-33962
2023-02-09 15:45:15 -06:00
Andy Wilkinson
9378fc47a7
Set implementation name and version in Gradle-built archives
...
Closes gh-34059
2023-02-08 10:59:55 +00:00
Johnny Lim
bc7fc90550
Replace Base64Utils with JDK's Base64
...
See gh-33967
2023-01-31 10:20:06 +01:00
Krzysztof Krason
d3efd7e091
Use try with close
...
See gh-33987
2023-01-26 20:36:38 -08:00
Moritz Halbritter
94f4a4396c
Merge branch '2.7.x'
...
Closes gh-33880
2023-01-18 17:35:52 +01:00
Moritz Halbritter
e8d809fe65
Replace 'via' with 'over' or 'through' in the documentation
...
Closes gh-33878
2023-01-18 16:56:42 +01:00
Phillip Webb
a2ac38e203
Update copyright year of changed files
2023-01-09 15:46:07 -08:00
Krzysztof Krason
cf6493f65c
Simplify AssertJ assertions and also make them more readable
...
See gh-33653
2023-01-09 11:10:20 +01:00
Phillip Webb
f588793445
Update copyright year of changed files
2022-12-22 01:00:42 -08:00
Phillip Webb
e57824fb58
Merge branch '2.7.x'
...
Closes gh-33617
2022-12-21 22:52:59 -08:00
Phillip Webb
a2a59dd627
Polish 'Improve gradle plugin tags documentation'
...
See gh-33614
2022-12-21 22:52:27 -08:00
Shekhar Aggarwal
a1df607dd8
Improve gradle plugin tags documentation
...
See gh-33614
2022-12-21 22:50:02 -08:00
Moritz Halbritter
f36e2ecb7b
Use AutoClosables with try-with-resources
...
Closes gh-33538
2022-12-16 15:43:15 +01:00
Moritz Halbritter
725337f976
Make fields final
...
Closes gh-33537
2022-12-16 14:28:44 +01:00
Craig Andrews
703935612f
Update instead of replace environment in bootBuildImage documentation
...
Closes gh-32886
See gh-33424
2022-12-01 11:25:53 +01:00
Moritz Halbritter
c6536c54d8
Write native-image argfile only if there are excludes
...
Refactors duplicate logic in BootZipCopyAction and Packager into
separate classes.
Closes gh-33363
Co-authored-by: Phillip Webb <pwebb@vmware.com>
2022-11-30 14:29:35 +01:00
Andy Wilkinson
d88f968d22
Merge branch '2.7.x'
...
Closes gh-33403
2022-11-28 20:20:24 +00:00
Moritz Halbritter
9206b6cda1
Add warning to not disable jar task when building native images
...
Closes gh-33238
2022-11-18 13:26:59 +01:00
Johnny Lim
6027508cf7
Polish
...
See gh-33108
2022-11-16 10:00:36 +01:00
Andy Wilkinson
6940e348a7
Try to fix NativeImagePluginActionIntegrationTests on Windows
2022-11-08 11:00:52 +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
Scott Frederick
67af4c0a65
Polish documentation
2022-11-03 15:45:09 -05:00
Andy Wilkinson
a3870f8da7
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32987
2022-11-03 10:23:30 +00:00
Andy Wilkinson
beb62be843
Test Boot's Gradle plugin against Gradle 7.6-rc-1
...
Closes gh-32933
2022-11-03 10:22:14 +00:00
Andy Wilkinson
519250cacf
Polish Gradle tasks for AOT processing
...
Closes gh-32946
2022-11-01 16:42:26 +00:00
Andy Wilkinson
b192c29edb
Use AOT's outputs to configure source set's inputs
...
Closes gh-32919
2022-11-01 10:33:17 +00:00
Andy Wilkinson
0103e24bbb
Stop configuring AOT-generated classes as output of AOT source set
...
Closes gh-32940
2022-11-01 10:32:37 +00:00
Andy Wilkinson
2bb9b2640e
Separate classpath of AOT tasks from source sets they populate
...
Closes gh-32930
2022-11-01 10:06:33 +00:00
Johnny Lim
5067aab552
Polish
...
See gh-32840
2022-10-27 16:33:14 +02:00
Phillip Webb
a59b6cb1f3
Polish
2022-10-25 21:56:53 -07:00
Phillip Webb
4be3218cb6
Merge branch '2.7.x'
2022-10-25 15:48:26 -07: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
Andy Wilkinson
26e747d2db
Fix package tangle in spring-boot-gradle-plugin
...
Closes gh-32814
2022-10-20 13:12:12 +01: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
2c756ea874
Use collectReachabilityMetadata task to add metadata to bootJar
...
Closes gh-32737
2022-10-18 11:25:34 +01:00
Phillip Webb
c16c6bc3b5
Fix reachability argfile format
...
Update the argfile to a format that actually works when
passed to the `native-image` command.
See gh-32738
2022-10-17 18:59:50 -07:00
Phillip Webb
8358a0e3f3
Fix reachability-metadata.properties location
...
Update tools to use the correct `reachability-metadata.properties`
location which should include the version number.
See gh-32738
2022-10-17 14:31:38 -07:00
Andy Wilkinson
3082b0c5bf
Add a section on AOT to the Gradle plugin's docs
...
Closes gh-32750
2022-10-17 18:15:34 +01:00
Andy Wilkinson
ff16f6d6c6
Work around configuration cache problem in NBT Gradle Plugin
...
See gh-32752
See graalvm/native-build-tools#338
2022-10-17 13:58:07 +01:00
Phillip Webb
071649360b
Generate 'META-INF/native-image/argfile' file for buildpack use
...
Update the Maven and Gradle plugin to generate an `argfile` file
file under `META-INF/native-image` that contains `--exclude-config`
arguments that should be passed when generating a native image.
The contents of the file is generated for each nested jar that has a
`reachability-metadata.properties` file containing 'override=true'.
The `reachability-metadata.properties` file is expected to be generated
by the Graal native build tools plugin.
Closes gh-32738
2022-10-14 15:23:06 -07:00
Phillip Webb
430c6b7e9f
Downgrade to SLF4J 1.7 for spring-boot-gradle-plugin tests
...
The downgrade is required for tests to run in Eclipse.
Closes gh-32626
2022-10-14 11:58:16 -07:00
Andy Wilkinson
3ca5c7ff5b
Create AOT source sets as soon as the Java plugin is applied
...
Previously, the AOT source sets were not created until both the
Java and Spring Boot plugins had been applied. This could create
ordering problems when the Spring Boot plugin's native image plugin
action tried to access the AOT source sets to configure the
classpaths of the nativeCompile and nativeTest tasks. If the
plugins were applied in a particular order the AOT source sets
would not exist and a failure would occur.
This commit updates the Spring Boot AOT plugin to create the source
sets as soon as the Java plugin has been applied. This ensure that
they're in place when reacting to the native image plugin being
applied.
Closes gh-32661
2022-10-11 19:58:03 +01:00
Andy Wilkinson
808e0be552
Merge branch '2.7.x'
...
Closes gh-32679
2022-10-11 19:16:08 +01:00
Andy Wilkinson
1b604e30f7
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32678
2022-10-11 19:15:33 +01:00
Andy Wilkinson
215eb96355
Improve error handling in SpringBootPlugin
...
Closes gh-32677
2022-10-11 19:15:23 +01:00
Andy Wilkinson
d351086a06
Adapt to breaking changes to AOT processing entry points
...
See gh-32550
2022-10-10 22:02:25 +01:00
Phillip Webb
e0b67889a8
Use Stream.toList instead of Stream.collect when possible
...
Update code to make use of `Stream.toList()` whenever possible.
Closes gh-28177
2022-10-04 00:29:22 -07:00
Stephane Nicoll
e2dd0ef9a4
Adapt AotProcessor to changes in Spring Framework
...
Closes gh-32560
2022-09-30 16:47:03 +02:00
Andy Wilkinson
0f44e69995
Merge branch '2.7.x'
...
Closes gh-32500
2022-09-26 13:15:39 +01:00
Andy Wilkinson
5124ae94ae
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32499
2022-09-26 13:15:11 +01:00
Andy Wilkinson
cfac7f55a4
Correct annotations on BootBuildImage's file-based inputs
...
Closes gh-32495
2022-09-26 13:13:16 +01:00
Andy Wilkinson
7c7c34cda1
Fix classpath roots of AOT test processing
...
This was regressed in 6175c4210d
so that
each class on the classpath was passed in as a "root". This commit
corrects this so that only the roots are passed to the AOT test
processor.
See gh-32424
2022-09-22 12:30:43 +01:00
Andy Wilkinson
4a80b36160
Configure native image classpath outside of task realisation
...
Closes gh-32465
2022-09-21 18:14:46 +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
Andy Wilkinson
8323f24ccc
Make classes generated by AOT test processing available to nativeTest
...
Closes gh-32428
2022-09-20 11:29: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
2b503ee334
Add AOT-generated classes as a dependency
...
Previously, the AOT-generated classes were added directly to the
compile classpath of the AOT compilation task. This didn't work
perfectly in IntelliJ IDEA, leaving the generated classes in the
runtime scope and causing compilation problems where the
AOT-generated source tried to reference those classes.
This commit updates the plugin to add the AOT-generated classes as
a dependency to the AOT source set's implementation configuration.
This makes the classes available during compilation by the source
set's Java compilation task while also makeing IntelliJ IDEA aware
of their presence on the compile classpath.
Closes gh-32395
2022-09-15 14:02:54 +01:00
Andy Wilkinson
867c49337a
Add AOT-generated classes to classpath of AOT JavaCompile tasks
...
See gh-32304
2022-09-13 13:03:24 +01:00
Andy Wilkinson
aafceb3868
Merge branch '2.7.x'
...
Closes gh-32285
2022-09-09 16:47:06 +01:00
Andy Wilkinson
f17df7bf30
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32284
2022-09-09 16:46:43 +01:00
Andy Wilkinson
23c2f73b3f
Update tests to allow them to run on Java 19
...
Closes gh-32280
2022-09-09 16:46:14 +01:00
Andy Wilkinson
144fdaa703
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32283
2022-09-09 15:14:40 +01:00
Andy Wilkinson
78f4242e46
Build with Gradle 7.5 while still supporting Gradle 6.8+
...
Closes gh-32281
2022-09-09 15:13:43 +01:00
Andy Wilkinson
3dfe28c9f1
Ensure that a test engine is available to AOT test processing
...
See gh-32192
2022-09-05 09:41:28 +01:00
Andy Wilkinson
cf84ae7ad8
Exclude non-existent test classes dirs from AOT test processing
...
See gh-32192
2022-09-05 09:41:21 +01:00
Andy Wilkinson
fc979397be
Polish SpringBootAotPlugin
2022-09-02 16:37:15 +01: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
a8ae7a1e44
Fix Gradle AOT integration test on Windows
...
See gh-31970
2022-08-15 10:21:42 +01:00
Stephane Nicoll
332419e3a7
Remove extra 'build' directory
...
See gh-32069
2022-08-12 17:47:38 +02:00
Stephane Nicoll
e21041ce65
Harmonize location of generated classes processed Ahead-of-time
...
Closes gh-32069
2022-08-11 17:07:16 +02:00
Andy Wilkinson
cb18eb095b
Make transitive runtime dependencies available to AOT processing
...
Closes gh-31970
2022-08-03 13:54:50 +01:00
Phillip Webb
e08c16dfd6
Polish
2022-07-29 12:10:02 +01:00
Andy Wilkinson
6c28156b29
Avoid config-time creation of AOT source set's tasks
...
Closes gh-31844
2022-07-22 14:14:03 +01:00
Scott Frederick
6f65777035
Merge branch '2.7.x'
...
Closes gh-31827
2022-07-20 17:31:37 -05:00
Scott Frederick
9da38c8d2d
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31826
2022-07-20 17:29:58 -05:00
Scott Frederick
4e0b3aad9f
Clarify how docker image publishing registry is determined
...
Closes gh-31820
2022-07-20 17:29:40 -05:00
Scott Frederick
cf7a163c6d
Merge branch '2.7.x'
2022-07-20 16:07:32 -05:00
Scott Frederick
f9cf31e59e
Fix compile errors
...
See gh-28844
2022-07-20 16:07:19 -05: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
7bd9873cd9
Raise the minimum supported version of Gradle to 7.5
...
Closes gh-31215
2022-07-14 15:56:32 +01:00