Moritz Halbritter
725337f976
Make fields final
...
Closes gh-33537
2022-12-16 14:28:44 +01:00
peter-janssen
9a74c862dd
Fix documented Java compiler level
...
See gh-33505
2022-12-12 11:34:25 +01:00
Scott Frederick
9ed8b25e6b
Make AOT goals release option mutually exclusive with source and target
...
Fixes gh-33382
2022-11-30 17:18:02 -06:00
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
2022-11-22 12:33:52 +01:00
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
2022-11-22 10:42:26 +01:00
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
2022-11-14 15:05:13 -06:00
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
2022-11-14 15:05:12 -06:00
Andy Wilkinson
112bed886c
Merge branch '2.7.x'
...
Closes gh-33085
2022-11-09 10:37:40 +00:00
Andy Wilkinson
b1494d4a39
Merge branch '2.6.x' into 2.7.x
...
Closes gh-33084
2022-11-09 10:37:06 +00:00
Andy Wilkinson
6423535f67
Delete temp directory after MavenBuild has exected
...
Closes gh-33083
2022-11-09 10:35:56 +00:00
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
2022-11-07 17:33:38 +00:00
Scott Frederick
67af4c0a65
Polish documentation
2022-11-03 15:45:09 -05: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
eebe23a081
Make all AOT-generated resources available to native-compile
...
Fixes gh-32841
2022-10-21 16:38:52 +01:00
Stephane Nicoll
4b778ff4c1
Polish Maven documentation to mention native profile
2022-10-18 15:36:38 +02: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
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
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
Madhura Bhave
afce559050
Remove unused dependency from Maven integration test
2022-09-22 14:07:26 -07: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
Stephane Nicoll
5e24b5a110
Stop using RuntimeHintsUtils#registerAnnotation
2022-09-06 15:44:15 +02: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
2f6354f633
Rename 'aot-generate' goal to process-aot'
...
See gh-31918
2022-08-25 15:02:28 -07:00
Stephane Nicoll
c67010ddd1
Make test more robust
2022-08-23 14:45:52 +02:00
Stephane Nicoll
4a00d76b85
Adapt integration tests to proxy changes in Spring Framework
2022-08-13 13:56:09 +02: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
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
Marc Wrobel
dbfc6bded4
Fix typos in code and documentation
...
See gh-31734
2022-07-26 12:08:07 +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
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
dreis2211
5db04da275
Use pattern matching for instanceof where appropriate
...
See gh-31475
2022-06-20 17:55:36 +01:00
dreis2211
fb45fc4819
Use Files.writeString() and Files.readString() where possible
...
See gh-31459
2022-06-20 09:05:09 +02:00
dreis2211
a639685053
Remove obsolete Java compatibility code
...
See gh-31452
2022-06-19 10:22:23 +02:00
Stephane Nicoll
e2c42e4bbf
Merge branch '2.7.x'
...
Closes gh-31262
2022-06-07 09:16:19 +02:00
Stephane Nicoll
8e550933a8
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31261
2022-06-07 09:16:10 +02:00
Stephane Nicoll
bbb5966bca
Upgrade integration tests to Apache Maven 3.8.5
...
Closes gh-31260
2022-06-07 09:15:41 +02:00
Stephane Nicoll
1c94f835c7
Copy AOT-generated classes
...
Closes gh-31245
2022-06-07 08:59:57 +02:00
Stephane Nicoll
0dbcb5f6d3
Start building against Spring Framework 6.0.0-M5 snapshots
...
See gh-31241
2022-06-02 16:19:58 +02:00
Andy Wilkinson
36a60d8e2e
Merge branch '2.7.x'
...
Closes gh-31181
2022-05-26 19:49:53 +01:00
Andy Wilkinson
137318a845
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31180
2022-05-26 19:49:35 +01:00
Damiano Albani
3f91ed037f
Fix Custom Layers Configuration section title in Maven plugin docs
...
See gh-31172
2022-05-26 19:46:11 +01:00
Andy Wilkinson
935d1264e0
Merge branch '2.6.x' into 2.7.x
2022-05-26 18:13:08 +01:00
Andy Wilkinson
14af1bb2dc
Polish
2022-05-26 16:54:31 +01:00
Andy Wilkinson
5dfa5adb75
Merge branch '2.7.x'
...
Closes gh-31178
2022-05-26 15:54:58 +01:00
Andy Wilkinson
455ee0ce22
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31177
2022-05-26 15:53:38 +01:00
Andy Wilkinson
ee45fd2fc8
Remove redundant throws declarations from internal APIs
...
Closes gh-31176
2022-05-26 15:47:35 +01:00
Phillip Webb
68bd9d6b6d
Merge branch '2.7.x'
2022-05-19 18:09:29 -07:00
Phillip Webb
06679a4c46
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31128
2022-05-19 18:07:17 -07:00
Phillip Webb
9fa33e5645
Merge branch '2.5.x' into 2.6.x
...
Closes gh-31127
2022-05-19 18:04:54 -07:00
Phillip Webb
05a6447a8d
Polish "Resolve errors in layers.xsd"
...
Validate loaded `layer.xml` files against the XSD and additionally
update `<layers>` sub elements to have a 'minOccurs' of 0.
See gh-31126
2022-05-19 18:01:55 -07:00
Liuzh
0d78323b60
Resolve errors in layers.xsd
...
Update `layer-*.xsd` files with following fixes:
- Rename <includeProjectDependencies> to <includeModuleDependencies>
- Rename <excludeProjectDependencies> to <excludeModuleDependencies>
See gh-31126
2022-05-19 18:00:25 -07:00
Andy Wilkinson
c4beca3e01
Fix Maven-based AOT generation on Windows
...
Closes gh-30525
2022-05-18 10:54:35 +01:00
Phillip Webb
f8a41d34aa
Merge branch '2.7.x'
2022-05-17 22:22:08 -07:00
Andy Wilkinson
bcc27c5d22
Deleting existing output before running AOT processing
...
Closes gh-30981
2022-05-17 15:33:45 +01:00
Andy Wilkinson
08768b5821
Join compile classpath using system-dependent separator
...
See gh-30525
2022-05-16 12:37:30 +01:00
Andy Wilkinson
0ce6e437a9
Align AotGenerateTests with spring.factories changes in Framework
2022-05-11 11:08:26 +01:00
Phillip Webb
8cf63a28b8
Update AOT work to latest Framework code
2022-05-05 15:19:33 -07:00
Andy Wilkinson
541ab69aff
Merge branch '2.7.x'
2022-05-03 15:18:20 +01:00
Andy Wilkinson
4cd850cfc0
Merge branch '2.6.x' into 2.7.x
...
Closes gh-30851
2022-05-03 15:17:13 +01:00
Andy Wilkinson
fa327a783d
Merge branch '2.5.x' into 2.6.x
...
Closes gh-30850
2022-05-03 15:14:00 +01:00
Andy Wilkinson
4fd2e0c916
Polish "Fix typos"
...
See gh-30773
2022-05-03 14:09:53 +01:00
Andy Wilkinson
f6d24dc1a8
Fix typos
...
See gh-30773
2022-05-03 14:09:37 +01:00
Stephane Nicoll
e81c6337c6
Add support for invoking AOT to the Maven Plugin
...
This commit adds an `aot-generate` goal to the Maven Plugin that
triggers AOT generation on the application. The new goal shares a
number of properties with the existing `run` goal and uses the same
algorithm to detect the main class to use.
Closes gh-30525
2022-04-28 13:48:52 +01:00
Phillip Webb
7a6ca8ce25
Merge branch '2.7.x'
2022-04-20 15:30:01 -07:00
Phillip Webb
dd5696b59b
Update copyright year of changed files
2022-04-20 15:26:30 -07:00
Scott Frederick
e32511516e
Merge branch '2.7.x'
2022-04-04 16:29:52 -05:00
Scott Frederick
ef79a18514
Use provided scope for Maven core dependencies in Maven plugin
...
Fixes gh-29520
2022-04-04 16:00:15 -05:00
Stephane Nicoll
5f66019706
Remove the ability to run an application in the Maven process
...
Closes gh-30501
2022-04-01 15:26:21 +02:00
Stephane Nicoll
13c9c1adb5
Merge branch '2.7.x'
2022-04-01 11:58:27 +02:00
Stephane Nicoll
2c5398898b
Polish "Deprecate running an application in the Maven JVM"
...
See gh-30479
2022-04-01 11:57:59 +02:00
Stephane Nicoll
c21b4a5280
Merge branch '2.7.x'
2022-04-01 11:35:48 +02:00
Stephane Nicoll
09696c90c7
Deprecate running an application in the Maven JVM
...
This commit deprecates the "fork" property so that the application
always runs in a dedicated process. This aligns with the behaviour of
the Gradle plugin, and simplifies the lifecycle of certain features that
would not work in a non-forked process.
Closes gh-30479
2022-04-01 11:35:34 +02:00
Scott Frederick
377b13c048
Merge branch '2.7.x'
2022-03-11 16:39:49 -06:00
Scott Frederick
de321b00b7
Support podman for building images
...
Closes gh-30196
2022-03-11 16:39:07 -06:00
Scott Frederick
5e07db7d21
Merge branch '2.7.x'
2022-03-11 15:59:16 -06:00
Scott Frederick
7ad538cd84
Add option to use configured Docker host in builder
...
This commit adds support for a `docker.bindHostToBuilder` option in
the Maven and Gradle image building goal and task.
Fixes gh-29384
2022-03-11 15:27:22 -06:00
Stephane Nicoll
41fb9cf562
Merge branch '2.7.x'
2022-02-01 11:15:49 +01:00
Stephane Nicoll
f812b33cbd
Merge branch '2.6.x' into 2.7.x
...
Closes gh-29613
2022-02-01 11:07:31 +01:00