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
Andy Wilkinson
867c49337a
Add AOT-generated classes to classpath of AOT JavaCompile tasks
...
See gh-32304
2022-09-13 13:03:24 +01:00
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.
2022-09-10 16:24:29 +02:00
Andy Wilkinson
aafceb3868
Merge branch '2.7.x'
...
Closes gh-32285
2022-09-09 16:47:06 +01:00
Andy Wilkinson
f17df7bf30
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32284
2022-09-09 16:46:43 +01:00
Andy Wilkinson
23c2f73b3f
Update tests to allow them to run on Java 19
...
Closes gh-32280
2022-09-09 16:46:14 +01: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
Phillip Webb
46be4a3f30
Merge branch '2.7.x'
2022-09-08 19:38:18 -07:00
Phillip Webb
e88a682220
Merge branch '2.6.x' into 2.7.x
2022-09-08 19:37:52 -07:00
Phillip Webb
85697ac482
Update copyright year of changed files
2022-09-08 19:36:59 -07:00
Stephane Nicoll
5e24b5a110
Stop using RuntimeHintsUtils#registerAnnotation
2022-09-06 15:44:15 +02:00
Andy Wilkinson
3dfe28c9f1
Ensure that a test engine is available to AOT test processing
...
See gh-32192
2022-09-05 09:41:28 +01:00
Andy Wilkinson
cf84ae7ad8
Exclude non-existent test classes dirs from AOT test processing
...
See gh-32192
2022-09-05 09:41:21 +01:00
Scott Frederick
95e62b7ff8
Sort the contents of generated imports files
...
The list of class names generated by annotation processors should be
sorted before being written to `AutoConfiguration.imports` and
`ManagementContextConfiguration.imports` files to make the build more
deterministic.
See gh-31228
2022-09-02 17:26:15 -05:00
Scott Frederick
6b3b0dd3a6
Generate ManagementContextConfiguration.imports file from annotations
...
This commit adds the
`ManagementContextConfigurationImportsAnnotationProcessor` to
the `spring-boot-autoconfigure-processor` annotation processor
module.
Closes gh-32222
2022-09-02 16:27:59 -05:00
Scott Frederick
da4de7d67d
Generate the AutoConfiguration.imports file from annotations
...
This commit adds the `AutoConfigurationImportsAnnotationProcessor` to
the `spring-boot-autoconfigure-processor` annotation processor
module. When added to a project build, the annotation processor will
generate the
`org.springframework.boot.autoconfigure.AutoConfiguration.imports`
file automatically from `@AutoConfiguration`-annotated classes. It
also applies the annotation processor to the Spring Boot build.
Closes gh-31228
2022-09-02 15:10:22 -05:00
Andy Wilkinson
fc979397be
Polish SpringBootAotPlugin
2022-09-02 16:37:15 +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
Andy Wilkinson
746ed84120
Polish ProcessTestAotMojo
2022-09-02 12:06:54 +01:00
Phillip Webb
09bd531fe5
Add Maven plugin support for processing test contexts Ahead-of-time
...
Refactor and update the Spring Boot Maven Plugin so that it can
be used to perform AOT processing of test classes.
Closes gh-32191
2022-08-30 20:41:30 -07:00
Phillip Webb
c0b3d36205
Rename 'generateAotSources' task to processAot'
...
See gh-31918
2022-08-25 15:10:48 -07:00
Phillip Webb
2f6354f633
Rename 'aot-generate' goal to process-aot'
...
See gh-31918
2022-08-25 15:02:28 -07:00
Scott Frederick
c0cbaa1460
Merge branch '2.7.x'
2022-08-24 13:18:22 -05:00
Scott Frederick
257e236b06
Fix image-building unit tests on Windows
...
See gh-32000
2022-08-24 13:14:39 -05:00
Stephane Nicoll
c67010ddd1
Make test more robust
2022-08-23 14:45:52 +02:00
Scott Frederick
2cdaab59f6
Merge branch '2.7.x'
...
Closes gh-32122
2022-08-19 13:57:26 -05:00
Scott Frederick
c16094e04b
Disable SELinux label security policy when building images
...
When using the Gradle `bootBuildImage` task or Maven
`spring-boot:build-image` goal on a Linux distribution with SELinux
enabled, binding the Docker socket in the builder container might
fail. This commit disables the `label` security policy in the builder
container to prevent this type of failure.
Fixes gh-32000
2022-08-19 13:56:34 -05:00
Phillip Webb
07c0a8bced
Fix SecurityManager deprecation issues
...
See gh-32086
2022-08-17 13:22:40 -07:00
Phillip Webb
4ec2e357d9
Merge branch '2.7.x'
...
See gh-32086
2022-08-17 12:49:52 -07:00
Phillip Webb
60e1cc510c
Merge branch '2.6.x' into 2.7.x
...
See gh-32085
2022-08-17 12:48:21 -07:00
Phillip Webb
bd74344025
Revert "Don't close jar files early"
...
This reverts commit b42f056ddb
.
2022-08-17 11:38:42 -07:00
Phillip Webb
674022d401
Revert "Don't close nested jars or wrapper when parent is closed"
...
This reverts commit 360eb027be
.
2022-08-17 11:37:19 -07:00
Stephane Nicoll
2e3c3efd44
Merge branch '2.7.x'
...
Closes gh-32098
2022-08-17 08:34:52 +02:00
Stephane Nicoll
1c6624db44
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32097
2022-08-17 08:34:38 +02:00
Stephane Nicoll
e94ddfa589
Polish "Explicit error message if source is not an archive"
...
See gh-31997
2022-08-17 08:33:54 +02:00
Nils Hartmann
a0f273a041
Explicit error message if source is not an archive
...
This commit split the existing assertion to provide an explicit error
message if the source file is not an archive.
See gh-31997
2022-08-17 08:30:03 +02:00
Phillip Webb
ee2bd9e065
Merge branch '2.7.x'
...
Closes gh-32086
2022-08-15 17:59:28 -07:00
Phillip Webb
ef7aac8c14
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32085
2022-08-15 17:59:06 -07:00
Phillip Webb
360eb027be
Don't close nested jars or wrapper when parent is closed
...
Update `JarFile` so that the `close()` method no longer closes nested
jars or the wrapper. Prior to this commit it was possible for a parent
jar file to be garbage collected and closed even though references still
existed to the nested jars. When this happened the nested jars would get
closed and any access to entries would result in `JarFile.ensureOpen()`
throwing an `IllegalStateException`. The user would often not see this
exception directly, but rather find `ClassNotFoundException` being
thrown.
Fixes gh-31853
2022-08-15 17:55:25 -07:00
Andy Wilkinson
a8ae7a1e44
Fix Gradle AOT integration test on Windows
...
See gh-31970
2022-08-15 10:21:42 +01:00
Stephane Nicoll
4a00d76b85
Adapt integration tests to proxy changes in Spring Framework
2022-08-13 13:56:09 +02:00
Stephane Nicoll
332419e3a7
Remove extra 'build' directory
...
See gh-32069
2022-08-12 17:47:38 +02:00
Stephane Nicoll
e21041ce65
Harmonize location of generated classes processed Ahead-of-time
...
Closes gh-32069
2022-08-11 17:07:16 +02:00
Andy Wilkinson
9caad3d31b
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32059
2022-08-10 12:28:26 +01:00
Andy Wilkinson
c9e69f555e
Test our Gradle plugin against Gradle 7.5.1
...
Closes gh-32058
2022-08-10 12:27:47 +01:00
Andy Wilkinson
cb18eb095b
Make transitive runtime dependencies available to AOT processing
...
Closes gh-31970
2022-08-03 13:54:50 +01:00
Johnny Lim
6a4681baf5
Polish
...
See gh-31948
2022-08-02 15:14:23 +02:00
Andy Wilkinson
8a2cdb9759
Merge branch '2.7.x'
...
Closes gh-31950
2022-08-01 20:51:40 +01:00
Andy Wilkinson
012fbb3a57
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31949
2022-08-01 20:51:18 +01:00
Andy Wilkinson
c0daede1aa
Ensure that jarmode jar added to an app has same SHA as published jar
...
Closes gh-31862
2022-08-01 20:49:10 +01:00
Phillip Webb
22144987e9
Update copyright year of changed files
2022-07-29 12:10:03 +01:00
Phillip Webb
e08c16dfd6
Polish
2022-07-29 12:10:02 +01:00
Stephane Nicoll
41e8697445
Polish
2022-07-29 10:00:54 +02:00
Stephane Nicoll
da324c8b03
Merge branch '2.7.x'
2022-07-28 16:07:26 +02:00
Stephane Nicoll
6786659aae
Merge branch '2.6.x' into 2.7.x
2022-07-28 16:07:18 +02:00
Stephane Nicoll
7d860df5f0
Polish
2022-07-28 16:05:16 +02:00
Stephane Nicoll
b0bc7cd85b
Reuse JavaProcessExecutor
...
See gh-31682
2022-07-28 16:00:06 +02:00
Stephane Nicoll
c3ae6519f4
Reuse SpringApplicationClassFinder
...
See gh-31682
2022-07-28 16:00:05 +02:00
Stephane Nicoll
472b0b8bcb
Remove AbstractApplicationRunMojo intermediate layer
...
This commit reverts the intermediate layer that was created to
accommodate with the AOT use case.
See gh-31682
2022-07-28 16:00:05 +02:00
Stephane Nicoll
6f8b9288f3
Extract AotGenerateMojo to its own structure
...
This commit stops AotGenerateMojo from being an extension of the
regular run infrastructure and used the opportunity to extract a
number of utility classes to run a Java process.
As a result, not all features of running an application is supported
and exposed options now are targeted against AOT.
See gh-31682
2022-07-28 16:00:05 +02:00
Phillip Webb
35a65cf82e
Merge branch '2.7.x'
...
Closes gh-31876
2022-07-26 17:48:00 +01:00
Phillip Webb
fd076ab9ef
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31875
2022-07-26 17:46:20 +01:00
aoyvx
8c93d2e8a7
Ensure PROTOCOL_HANDLER system property is reset
...
See gh-31870
2022-07-26 17:20:55 +01:00
Phillip Webb
7377d85096
Merge branch '2.7.x'
...
Closes gh-31866
2022-07-26 12:18:14 +01:00
Phillip Webb
a4ef6a7c5c
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31865
2022-07-26 12:13:16 +01:00
Phillip Webb
f8412847dc
Update copyright year for "Fix typos in code and documentation"
...
See gh-31734
2022-07-26 12:08:30 +01:00
Marc Wrobel
dbfc6bded4
Fix typos in code and documentation
...
See gh-31734
2022-07-26 12:08:07 +01:00
Phillip Webb
b93dbd56e8
Merge branch '2.7.x'
2022-07-26 10:51:17 +01:00
Phillip Webb
3931e82841
Merge branch '2.6.x' into 2.7.x
2022-07-26 10:50:42 +01:00
Phillip Webb
4bcec6e0ee
Polish
2022-07-26 10:50:01 +01:00
Andy Wilkinson
6c28156b29
Avoid config-time creation of AOT source set's tasks
...
Closes gh-31844
2022-07-22 14:14:03 +01:00
Scott Frederick
6f65777035
Merge branch '2.7.x'
...
Closes gh-31827
2022-07-20 17:31:37 -05:00
Scott Frederick
9da38c8d2d
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31826
2022-07-20 17:29:58 -05:00
Scott Frederick
4e0b3aad9f
Clarify how docker image publishing registry is determined
...
Closes gh-31820
2022-07-20 17:29:40 -05:00
Scott Frederick
cf7a163c6d
Merge branch '2.7.x'
2022-07-20 16:07:32 -05:00