Phillip Webb
0254619782
Merge branch '2.7.x'
2 years ago
Phillip Webb
e4772cf3b7
Update copyright year of changed files
2 years ago
Phillip Webb
6367a8c62c
Merge branch '2.7.x'
2 years ago
Phillip Webb
5ba52d0000
Polish formatting
2 years ago
Phillip Webb
e57824fb58
Merge branch '2.7.x'
...
Closes gh-33617
2 years ago
Phillip Webb
a2a59dd627
Polish 'Improve gradle plugin tags documentation'
...
See gh-33614
2 years ago
Shekhar Aggarwal
a1df607dd8
Improve gradle plugin tags documentation
...
See gh-33614
2 years ago
Phillip Webb
5814543bb1
Merge branch '2.7.x'
...
Closes gh-33616
2 years ago
Phillip Webb
c205ba0694
Polish 'Improve maven plugin tags documentation'
...
See gh-33609
2 years ago
Shekhar Aggarwal
79557012a7
Improve maven plugin tags documentation
...
See gh-33609
2 years ago
Moritz Halbritter
b132b5c317
Polish JSON classes
2 years ago
Moritz Halbritter
f36e2ecb7b
Use AutoClosables with try-with-resources
...
Closes gh-33538
2 years ago
Moritz Halbritter
725337f976
Make fields final
...
Closes gh-33537
2 years ago
peter-janssen
9a74c862dd
Fix documented Java compiler level
...
See gh-33505
2 years ago
Craig Andrews
703935612f
Update instead of replace environment in bootBuildImage documentation
...
Closes gh-32886
See gh-33424
2 years ago
Scott Frederick
9ed8b25e6b
Make AOT goals release option mutually exclusive with source and target
...
Fixes gh-33382
2 years ago
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>
2 years ago
Andy Wilkinson
d88f968d22
Merge branch '2.7.x'
...
Closes gh-33403
2 years ago
Andy Wilkinson
2da8bc1f3b
Reduce Gradle versions used for compatibility testing
...
Closes gh-33401
2 years ago
Andy Wilkinson
abcbac92ef
Merge branch '2.6.x' into 2.7.x
...
Closes gh-33343
2 years ago
Andy Wilkinson
ebfbf4a412
Stop testing Gradle plugin against Gradle 7.6 RCs
...
Closes gh-33342
2 years ago
Stephane Nicoll
75b74637f6
Make sure the 'native' profile can be used in a multi-modules project
...
This commit updates the 'native' profile so that it provides plugin
management for the plugins involved in building a native image, rather
than forcing their executions.
This commit also update the Maven Plugin reference guide to describe
what the native profile does, and how it can be used in various
scenarios.
Closes gh-33184
2 years ago
Stephane Nicoll
a7f57091a6
Add support for building an image without forking the Maven lifecycle
...
This commit adds a new "build-image-no-fork" goal that behaves exactly
as "build-image", except it does not fork the lifecycle. This is a
common pattern in maven plugins where a goal can be invoked on the
command-line and conveniently make sure that a certain phase has run
prior to its execution.
The new goal is suitable for binding the goal in a phase, typically
package, and rely on it rather than invoking the goal. This makes sure
that the lifecycle is forked, which would run everything again.
Closes gh-26455
2 years ago
Andy Wilkinson
b8142d168b
Merge branch '2.7.x'
...
Closes gh-33269
2 years ago
Andy Wilkinson
9879538c02
Merge branch '2.6.x' into 2.7.x
...
Closes gh-33268
2 years ago
Andy Wilkinson
e860efca65
Test Gradle plugin against 7.6-rc-3
...
Closes gh-33267
2 years ago
Moritz Halbritter
9206b6cda1
Add warning to not disable jar task when building native images
...
Closes gh-33238
2 years ago
Andy Wilkinson
931cc8a508
Merge branch '2.7.x'
...
Closes gh-33250
2 years ago
Johnny Lim
6027508cf7
Polish
...
See gh-33108
2 years ago
Scott Frederick
c28c614c47
Set Java source and target when compiling AOT generated sources
...
When compiling AOT-generated sources in the Maven plugin `process-aot`
and `process-test-aot` goals, the Java compiler should be provided
with the same `--source`, `--target`, and `--release` configuration
values as the Maven compiler plugin uses to compile main sources.
Fixes gh-33112
2 years ago
Scott Frederick
11652bd8e6
Add compilerArguments parameter to process-aot Maven goal
...
This commit adds a `compilerArguments` parameter to the Maven plugin
`process-aot` and `process-test-aot` goals to allow the user to
configure the command used to compile the AOT-generated sources.
Fixes gh-33012
2 years ago
Andy Wilkinson
112bed886c
Merge branch '2.7.x'
...
Closes gh-33085
2 years ago
Andy Wilkinson
b1494d4a39
Merge branch '2.6.x' into 2.7.x
...
Closes gh-33084
2 years ago
Andy Wilkinson
6423535f67
Delete temp directory after MavenBuild has exected
...
Closes gh-33083
2 years ago
Andy Wilkinson
843493d915
Merge branch '2.7.x'
...
Closes gh-33075
2 years ago
Andy Wilkinson
00d22c9fc5
Merge branch '2.6.x' into 2.7.x
...
Closes gh-33074
2 years ago
Andy Wilkinson
eed86c0d0a
Test Boot's Gradle plugin against Gradle 7.6-rc-2
...
Closes gh-33073
2 years ago
Andy Wilkinson
6940e348a7
Try to fix NativeImagePluginActionIntegrationTests on Windows
2 years ago
Andy Wilkinson
b67c427259
Upgrade to Servlet 6.0 and related EE 10 specs
...
Co-authored-by: Phillip Webb <pwebb@vmware.com>
Closes gh-33036
Closes gh-33037
Closes gh-33038
Closes gh-33039
Closes gh-33040
Closes gh-33041
Closes gh-33042
Closes gh-33043
2 years ago
Andy Wilkinson
fce6016399
Merge branch '2.7.x'
...
See gh-33016
2 years ago
Andy Wilkinson
7c0f397129
Merge branch '2.6.x' into 2.7.x
...
See gh-33015
2 years ago
Andy Wilkinson
ac6ad7c0f1
Fix ModifiedClassPathExtension with parameterized tests
...
Closes gh-33014
2 years ago
Phillip Webb
3bd945766f
Merge branch '2.7.x'
2 years ago
Phillip Webb
b4283d45c5
Merge branch '2.6.x' into 2.7.x
2 years ago
Phillip Webb
d2cceb6b77
Polish
2 years ago
Phillip Webb
262c30ddc1
Improve error message when DirtiesUrlFactoriesExtension fails
...
See gh-33019
2 years ago
Phillip Webb
34b4ae8e05
Merge branch '2.7.x'
...
Closes gh-33019
2 years ago
Phillip Webb
2ab1f49442
Merge branch '2.6.x' into 2.7.x
...
Closes gh-33018
2 years ago
Phillip Webb
caf46043c6
Add @DirtiesUrlFactories annotation
...
Add `@DirtiesUrlFactories` annotation that can be used to reset URL
factories.
Closes gh-33017
2 years ago
Phillip Webb
fb3c095e35
Merge branch '2.7.x'
...
Closes gh-33016
2 years ago
Phillip Webb
948893f36d
Merge branch '2.6.x' into 2.7.x
...
Closes gh-33015
2 years ago
Phillip Webb
d4cc8fc3a6
Support modified classpath on methods and parameterized tests
...
Update `ModifiedClassPathExtension` and related classes so that
annotations can be used directly on test methods, or on classes
passed into parameterized tests.
Closes gh-33014
2 years ago
Andy Wilkinson
443d80ce6e
Polish
...
See gh-32924
2 years ago
Andy Wilkinson
fe8644cc59
Fail more elegantly when GraalVM version is too old
...
Closes gh-32924
2 years ago
Andy Wilkinson
2d5a3eac51
Include AOT-generated classes in native test binary
...
Closes gh-32940
2 years ago
Scott Frederick
67af4c0a65
Polish documentation
2 years ago
Scott Frederick
bb684cc0ad
Add support for CNB platform API 0.10
...
Fixes gh-32949
2 years ago
Andy Wilkinson
9ccc1e8d62
Merge branch '2.7.x'
...
Closes gh-32988
2 years ago
Andy Wilkinson
a3870f8da7
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32987
2 years ago
Andy Wilkinson
beb62be843
Test Boot's Gradle plugin against Gradle 7.6-rc-1
...
Closes gh-32933
2 years ago
Andy Wilkinson
519250cacf
Polish Gradle tasks for AOT processing
...
Closes gh-32946
2 years ago
Andy Wilkinson
b192c29edb
Use AOT's outputs to configure source set's inputs
...
Closes gh-32919
2 years ago
Andy Wilkinson
0103e24bbb
Stop configuring AOT-generated classes as output of AOT source set
...
Closes gh-32940
2 years ago
Andy Wilkinson
2bb9b2640e
Separate classpath of AOT tasks from source sets they populate
...
Closes gh-32930
2 years ago
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
Andy Wilkinson
17953eeb33
Merge branch '2.7.x'
...
Closes gh-32544
2 years ago
Andy Wilkinson
3ef633b096
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32543
2 years ago
Andy Wilkinson
84a25c7dcf
Configure Log4j2 classpath overrides consistently
...
Closes gh-32537
2 years ago
dreis2211
f0b4a65546
Avoid usage of StringBuffer where possible
...
See gh-32519
2 years ago
Andy Wilkinson
0bfa9cd704
Upgrade to Logback 1.4 and SLF4J 2.0
...
Closes gh-12649
2 years ago
Andy Wilkinson
0f44e69995
Merge branch '2.7.x'
...
Closes gh-32500
2 years ago
Andy Wilkinson
5124ae94ae
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32499
2 years ago
Andy Wilkinson
cfac7f55a4
Correct annotations on BootBuildImage's file-based inputs
...
Closes gh-32495
2 years ago
Andy Wilkinson
f67db3d9ad
Move spring-boot-cli into spring-boot-tools
...
Closes gh-32492
2 years ago
Andy Wilkinson
4a05230d5d
Move spring-boot-properties-migrator into spring-boot-tools
...
Closes gh-32491
2 years ago
Madhura Bhave
afce559050
Remove unused dependency from Maven integration test
2 years ago
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
2 years ago
Scott Frederick
f9c341c75a
Revert "Generate the AutoConfiguration.imports file from annotations"
...
This reverts commit da4de7d67d
.
2 years ago
Scott Frederick
d62d7ca75d
Revert "Generate ManagementContextConfiguration.imports file from annotations"
...
This reverts commit 6b3b0dd3a6
.
2 years ago
Scott Frederick
1f53eb7df9
Revert "Sort the contents of generated imports files"
...
This reverts commit 95e62b7ff8
.
2 years ago
Scott Frederick
910e9c9fcc
Revert "Fix windows build"
...
This reverts commit 9fe24fe692
.
2 years ago
Andy Wilkinson
4a80b36160
Configure native image classpath outside of task realisation
...
Closes gh-32465
2 years ago
Andy Wilkinson
6175c4210d
Fix skipping of processAot when there is no main source
...
See gh-32424
2 years ago
Andy Wilkinson
fa81e8ca79
Skip processAot and processTestAot if there is no main or test code
...
Closes gh-32424
2 years ago
Andy Wilkinson
e8aa5680d6
Support file-based reachability metadata repositories
...
See gh-32408
2 years ago
Andy Wilkinson
8323f24ccc
Make classes generated by AOT test processing available to nativeTest
...
Closes gh-32428
2 years ago
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
2 years ago
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
2 years ago
Phillip Webb
20b91c5ae2
Include 'classesDirectory' in ProcessTestAotMojo classpath
...
Update `ProcessTestAotMojo` so that the classesDirectory and
the testClassesDirectory are on the classpath when compiling
code.
See gh-32191
2 years ago
Stephane Nicoll
88f2b33cc1
Add AOT-generated classes to classpath of the compiler
...
See gh-32304
2 years ago
Andy Wilkinson
867c49337a
Add AOT-generated classes to classpath of AOT JavaCompile tasks
...
See gh-32304
2 years ago
Stephane Nicoll
9fe24fe692
Fix windows build
...
This commit makes sure that files that are generated in a temporary
directory are closed once the related test completes.
2 years ago
Andy Wilkinson
aafceb3868
Merge branch '2.7.x'
...
Closes gh-32285
2 years ago
Andy Wilkinson
f17df7bf30
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32284
2 years ago
Andy Wilkinson
23c2f73b3f
Update tests to allow them to run on Java 19
...
Closes gh-32280
2 years ago
Andy Wilkinson
144fdaa703
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32283
2 years ago
Andy Wilkinson
78f4242e46
Build with Gradle 7.5 while still supporting Gradle 6.8+
...
Closes gh-32281
2 years ago
Phillip Webb
46be4a3f30
Merge branch '2.7.x'
2 years ago
Phillip Webb
e88a682220
Merge branch '2.6.x' into 2.7.x
2 years ago
Phillip Webb
85697ac482
Update copyright year of changed files
2 years ago
Stephane Nicoll
5e24b5a110
Stop using RuntimeHintsUtils#registerAnnotation
2 years ago