Andy Wilkinson
fce6016399
Merge branch '2.7.x'
...
See gh-33016
2022-11-07 13:36:48 +00:00
Andy Wilkinson
7c0f397129
Merge branch '2.6.x' into 2.7.x
...
See gh-33015
2022-11-07 13:36:11 +00:00
Andy Wilkinson
ac6ad7c0f1
Fix ModifiedClassPathExtension with parameterized tests
...
Closes gh-33014
2022-11-07 13:34:54 +00:00
Phillip Webb
3bd945766f
Merge branch '2.7.x'
2022-11-05 17:03:10 -07:00
Phillip Webb
b4283d45c5
Merge branch '2.6.x' into 2.7.x
2022-11-05 17:03:02 -07:00
Phillip Webb
d2cceb6b77
Polish
2022-11-05 17:02:57 -07:00
Phillip Webb
262c30ddc1
Improve error message when DirtiesUrlFactoriesExtension fails
...
See gh-33019
2022-11-05 16:44:53 -07:00
Phillip Webb
34b4ae8e05
Merge branch '2.7.x'
...
Closes gh-33019
2022-11-05 16:36:55 -07:00
Phillip Webb
2ab1f49442
Merge branch '2.6.x' into 2.7.x
...
Closes gh-33018
2022-11-05 16:35:26 -07:00
Phillip Webb
caf46043c6
Add @DirtiesUrlFactories annotation
...
Add `@DirtiesUrlFactories` annotation that can be used to reset URL
factories.
Closes gh-33017
2022-11-05 16:30:27 -07:00
Phillip Webb
fb3c095e35
Merge branch '2.7.x'
...
Closes gh-33016
2022-11-05 16:06:13 -07:00
Phillip Webb
948893f36d
Merge branch '2.6.x' into 2.7.x
...
Closes gh-33015
2022-11-05 16:04:40 -07:00
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
2022-11-05 16:04:19 -07: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
Scott Frederick
bb684cc0ad
Add support for CNB platform API 0.10
...
Fixes gh-32949
2022-11-03 11:29:02 -05:00
Andy Wilkinson
9ccc1e8d62
Merge branch '2.7.x'
...
Closes gh-32988
2022-11-03 10:27:42 +00: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
Phillip Webb
c8676a81de
Merge branch '2.6.x' into 2.7.x
2022-10-25 15:48:04 -07:00
Phillip Webb
d7ac20cd6c
Update copyright year of changed files
2022-10-25 15:47:30 -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
99edda735e
Polish
2022-10-25 12:57:58 +01:00
Andy Wilkinson
9e6259cd37
Remove development-only dependencies from native image classpath
...
Fixes gh-32843
2022-10-24 09:22:13 +01:00
Andy Wilkinson
eebe23a081
Make all AOT-generated resources available to native-compile
...
Fixes gh-32841
2022-10-21 16:38:52 +01:00
Phillip Webb
d8c4aec946
Merge branch '2.6.x' into 2.7.x
2022-10-20 17:04:37 -07:00
Phillip Webb
1a14f39f83
Polish
2022-10-20 17:04:29 -07: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
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
2022-10-20 10:19:57 -07: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
Madhura Bhave
ce3c933f77
Adapt to Spring Security changes
...
Closes gh-32604
2022-10-19 11:46:27 -07:00
Andy Wilkinson
8621be6bba
Make consistent use of Property for Gradle task configuration
...
Closes gh-32769
2022-10-19 19:08:45 +01:00
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
2022-10-18 11:39:03 -07:00
Stephane Nicoll
4b778ff4c1
Polish Maven documentation to mention native profile
2022-10-18 15:36:38 +02: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
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
2022-10-18 00:59:46 -07:00
Phillip Webb
754f39e6ef
Polish
2022-10-18 00:59:45 -07: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
3d5c864bc9
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32758
2022-10-17 17:11:59 +01:00
Andy Wilkinson
dade5ec3aa
Test against Gradle 6.9.3
...
Closes gh-32757
2022-10-17 17:11:37 +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
Scott Frederick
3ea18f07fa
Polish "Use NBT plugin version from gradle.properties in image tests"
...
See gh-32643
2022-10-13 15:05:06 -05:00
Phillip Webb
7e8ed075c0
Merge branch '2.7.x'
...
Closes gh-32682
2022-10-11 23:21:52 -07:00
Phillip Webb
ed01a77a99
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32681
2022-10-11 23:19:34 -07:00
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
2022-10-11 23:18:44 -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
Andy Wilkinson
0e23fbe30b
Use Neo4j 4.4.11 for integration testing
...
See gh-32620
2022-10-06 19:53:46 +01:00
Andy Wilkinson
188cac6540
Protect against null run process customizer
...
See 0ee277b8c3
See gh-32607
2022-10-06 11:55:41 +01:00
Andy Wilkinson
0ee277b8c3
Ensure that run mojo's child process is killed when Maven is killed
...
Fixes gh-32607
2022-10-06 10:19:22 +01:00
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
2022-10-05 16:36:38 +02:00
Stephane Nicoll
39cf17ed81
Add missing integration test for profile management in process-aot
2022-10-05 16:22:44 +02: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
Scott Frederick
d25a99692f
Replace Spring Boot TestCompiler with Spring Framework's version
...
See gh-31266
2022-09-30 15:58:11 -05:00
Stephane Nicoll
e2dd0ef9a4
Adapt AotProcessor to changes in Spring Framework
...
Closes gh-32560
2022-09-30 16:47:03 +02:00
Andy Wilkinson
51df7813a5
Remove code deprecated in 2.x and add since and forRemoval attributes
...
Closes gh-32548
Closes gh-32549
2022-09-30 14:39:05 +01:00
dreis2211
65ef8fc51a
Use ByteArrayOutputStream.toString where possible
...
See gh-32534
2022-09-29 15:03:24 +02:00
Andy Wilkinson
17953eeb33
Merge branch '2.7.x'
...
Closes gh-32544
2022-09-29 11:41:15 +01:00
Andy Wilkinson
3ef633b096
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32543
2022-09-29 11:39:42 +01:00
Andy Wilkinson
84a25c7dcf
Configure Log4j2 classpath overrides consistently
...
Closes gh-32537
2022-09-29 11:25:21 +01:00
dreis2211
f0b4a65546
Avoid usage of StringBuffer where possible
...
See gh-32519
2022-09-29 09:29:10 +02:00
Andy Wilkinson
0bfa9cd704
Upgrade to Logback 1.4 and SLF4J 2.0
...
Closes gh-12649
2022-09-28 21:14:08 +01: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
f67db3d9ad
Move spring-boot-cli into spring-boot-tools
...
Closes gh-32492
2022-09-23 16:44:57 +01:00
Andy Wilkinson
4a05230d5d
Move spring-boot-properties-migrator into spring-boot-tools
...
Closes gh-32491
2022-09-23 16:18:30 +01:00
Madhura Bhave
afce559050
Remove unused dependency from Maven integration test
2022-09-22 14:07:26 -07: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
Scott Frederick
f9c341c75a
Revert "Generate the AutoConfiguration.imports file from annotations"
...
This reverts commit da4de7d67d .
2022-09-21 14:50:15 -05:00
Scott Frederick
d62d7ca75d
Revert "Generate ManagementContextConfiguration.imports file from annotations"
...
This reverts commit 6b3b0dd3a6 .
2022-09-21 14:50:15 -05:00
Scott Frederick
1f53eb7df9
Revert "Sort the contents of generated imports files"
...
This reverts commit 95e62b7ff8 .
2022-09-21 14:50:15 -05:00
Scott Frederick
910e9c9fcc
Revert "Fix windows build"
...
This reverts commit 9fe24fe692 .
2022-09-21 14:50:15 -05: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
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
2022-09-14 13:50:27 -07:00
Stephane Nicoll
88f2b33cc1
Add AOT-generated classes to classpath of the compiler
...
See gh-32304
2022-09-13 14:58:16 +02:00