Commit Graph

509 Commits

Author SHA1 Message Date
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
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
Andy Wilkinson
6940e348a7 Try to fix NativeImagePluginActionIntegrationTests on Windows 2022-11-08 11:00:52 +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
519250cacf Polish Gradle tasks for AOT processing
Closes gh-32946
2022-11-01 16:42:26 +00: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
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
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
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
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
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
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
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
Andy Wilkinson
cb18eb095b Make transitive runtime dependencies available to AOT processing
Closes gh-31970
2022-08-03 13:54:50 +01: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
dreis2211
fb45fc4819 Use Files.writeString() and Files.readString() where possible
See gh-31459
2022-06-20 09:05:09 +02:00
dreis2211
a639685053 Remove obsolete Java compatibility code
See gh-31452
2022-06-19 10:22:23 +02:00
Andy Wilkinson
1ba1eff63a Merge branch '2.7.x' 2022-05-30 19:22:45 +01:00
Andy Wilkinson
430040415b Merge branch '2.6.x' into 2.7.x 2022-05-30 19:22:37 +01:00
Andy Wilkinson
0b6c147a87 Polish 2022-05-30 19:22:30 +01:00
Andy Wilkinson
5dfa5adb75 Merge branch '2.7.x'
Closes gh-31178
2022-05-26 15:54:58 +01:00
Andy Wilkinson
455ee0ce22 Merge branch '2.6.x' into 2.7.x
Closes gh-31177
2022-05-26 15:53:38 +01:00
Andy Wilkinson
ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
2022-05-26 15:47:35 +01:00
Andy Wilkinson
541ab69aff Merge branch '2.7.x' 2022-05-03 15:18:20 +01:00
Andy Wilkinson
4cd850cfc0 Merge branch '2.6.x' into 2.7.x
Closes gh-30851
2022-05-03 15:17:13 +01:00
Andy Wilkinson
fa327a783d Merge branch '2.5.x' into 2.6.x
Closes gh-30850
2022-05-03 15:14:00 +01:00
Andy Wilkinson
4fd2e0c916 Polish "Fix typos"
See gh-30773
2022-05-03 14:09:53 +01:00