Commit Graph

521 Commits

Author SHA1 Message Date
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
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
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
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
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