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
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
Update `layer-*.xsd` files with following fixes:
- Rename <includeProjectDependencies> to <includeModuleDependencies>
- Rename <excludeProjectDependencies> to <excludeModuleDependencies>
See gh-31126
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
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
Update the Maven and Gradle packaging for war files so that a
`classpath.idx` file is written into the archive that provides the
original order of the classpath, as was previously done for jar files.
The `WarLauncher` class will use this file when running as an exploded
archive to ensure that the classpath order is the same as when running
from the far war.
Fixes gh-19875
This commit adds configuration to the Maven and Gradle plugins to
allow specifying the names of build and launch cache volumes provided
to the CNB builder.
See gh-28292
Update Maven and Gradle plugins to allow build info properties to be
excluded.
Prior to this commit, the `BuildPropertiesWriter` would fail with an
NPE if the group, artifact, name or version properties were `null`.
This was specifically problematic with the Gradle plugin, since its
DSL allows `null` properties which would either be passed to the writer
or, in the case of `artifact`, converted into a string value of
"unspecified".
See gh-27412