Commit Graph

2361 Commits (75b938d0f60e36d04f670cf24ab284582a9f3b51)

Author SHA1 Message Date
Johnny Lim 5067aab552 Polish
See gh-32840
2 years ago
Phillip Webb a59b6cb1f3 Polish 2 years ago
Phillip Webb 4be3218cb6 Merge branch '2.7.x' 2 years ago
Phillip Webb c8676a81de Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb d7ac20cd6c Update copyright year of changed files 2 years ago
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
2 years ago
Andy Wilkinson 99edda735e Polish 2 years ago
Andy Wilkinson 9e6259cd37 Remove development-only dependencies from native image classpath
Fixes gh-32843
2 years ago
Andy Wilkinson eebe23a081 Make all AOT-generated resources available to native-compile
Fixes gh-32841
2 years ago
Phillip Webb d8c4aec946 Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 1a14f39f83 Polish 2 years ago
Scott Frederick b78b22b6f6 Allow Gradle task property to be set with String or enum value
See gh-32769
2 years ago
Phillip Webb c53c8c84b8 Fix annotation processor to deal with relocated @ConstructorBinding
Update `ConfigurationMetadataAnnotationProcessor` to use the correct
location for the `@ConstructorBinding` annotation and to deal with
finding it as a meta-annotation.

Closes gh-32660
2 years ago
Andy Wilkinson 26e747d2db Fix package tangle in spring-boot-gradle-plugin
Closes gh-32814
2 years ago
Scott Frederick 8acf9afccb Use String instead of enum for Gradle task Property
See gh-32769
2 years ago
Madhura Bhave ce3c933f77 Adapt to Spring Security changes
Closes gh-32604
2 years ago
Andy Wilkinson 8621be6bba Make consistent use of Property for Gradle task configuration
Closes gh-32769
2 years ago
Phillip Webb 45ce096b6b Replace our TestCompiler with Spring Framework's version
Replace the last use of our `TestCompiler` with Spring Framework's
version.

See gh-31266
2 years ago
Stephane Nicoll 4b778ff4c1 Polish Maven documentation to mention native profile 2 years ago
Andy Wilkinson 2dacddb4d7 Make bootBuildImage produce native image when NBT plugin is applied
Closes gh-32768
2 years ago
Andy Wilkinson 2c756ea874 Use collectReachabilityMetadata task to add metadata to bootJar
Closes gh-32737
2 years ago
Phillip Webb a34b1d3c6e Don't detect private constructors on member classes for binding
Refine constructor binding detection logic so that `private`
constructors on member classes are no longer automatically picked for
constructor binding. This provides users a way of signalling that
they wish to use the constructor directly.

Closes gh-32639
2 years ago
Phillip Webb 754f39e6ef Polish 2 years ago
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
2 years ago
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
2 years ago
Andy Wilkinson 3082b0c5bf Add a section on AOT to the Gradle plugin's docs
Closes gh-32750
2 years ago
Andy Wilkinson 3d5c864bc9 Merge branch '2.6.x' into 2.7.x
Closes gh-32758
2 years ago
Andy Wilkinson dade5ec3aa Test against Gradle 6.9.3
Closes gh-32757
2 years ago
Andy Wilkinson ff16f6d6c6 Work around configuration cache problem in NBT Gradle Plugin
See gh-32752
See graalvm/native-build-tools#338
2 years ago
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
2 years ago
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
2 years ago
Scott Frederick 3ea18f07fa Polish "Use NBT plugin version from gradle.properties in image tests"
See gh-32643
2 years ago
Phillip Webb 7e8ed075c0 Merge branch '2.7.x'
Closes gh-32682
2 years ago
Phillip Webb ed01a77a99 Merge branch '2.6.x' into 2.7.x
Closes gh-32681
2 years ago
Phillip Webb e0c79ce598 Support PEM formatted elliptic-curve TLS keys
Update `PrivateKeyParser` to support loading PEM formatted
elliptic-curve keys. We need to do a similar trick to the PKCS1 keys
and convert them to a `PKCS8EncodedKeySpec`.

Fixes gh-32646
2 years ago
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
2 years ago
Andy Wilkinson 808e0be552 Merge branch '2.7.x'
Closes gh-32679
2 years ago
Andy Wilkinson 1b604e30f7 Merge branch '2.6.x' into 2.7.x
Closes gh-32678
2 years ago
Andy Wilkinson 215eb96355 Improve error handling in SpringBootPlugin
Closes gh-32677
2 years ago
Andy Wilkinson d351086a06 Adapt to breaking changes to AOT processing entry points
See gh-32550
2 years ago
Andy Wilkinson 0e23fbe30b Use Neo4j 4.4.11 for integration testing
See gh-32620
2 years ago
Andy Wilkinson 188cac6540 Protect against null run process customizer
See 0ee277b8c3
See gh-32607
2 years ago
Andy Wilkinson 0ee277b8c3 Ensure that run mojo's child process is killed when Maven is killed
Fixes gh-32607
2 years ago
Stephane Nicoll 44c843145a Add support for specifying application arguments
This commit makes sure that application arguments can be provided when
optimizing an application at build-time. It uses the same mechanism of
the regular run goal, merging the profile property if set.

Closes gh-32579
2 years ago
Stephane Nicoll 39cf17ed81 Add missing integration test for profile management in process-aot 2 years ago
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
2 years ago
Scott Frederick d25a99692f Replace Spring Boot TestCompiler with Spring Framework's version
See gh-31266
2 years ago
Stephane Nicoll e2dd0ef9a4 Adapt AotProcessor to changes in Spring Framework
Closes gh-32560
2 years ago
Andy Wilkinson 51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2 years ago
dreis2211 65ef8fc51a Use ByteArrayOutputStream.toString where possible
See gh-32534
2 years ago