Deprecate the `useTestClasspath` flag in favor of a `testClasspath`
parameter on the `run` and `start` goals. It accepts `off`,
`dependencies`, or `all`, with `all` also adding the project's test
classes directory to the classpath so that a main class located in
`src/test/java` can be found and run, matching the `test-run` goal's
existing behaviour.
Closes gh-36115
This commit reverts partially what was done in gh-49397 to let docker
tests have access to additional maven repositories. Unfortunately, maven
build executions with the Spring Boot Maven Plugin do not use the BOM
for dependency management. As such, if one of the dependency requires
a dependency that has not been prepared in the local repository, it will
need to be able to download it from the relevant repository.
This is the case with spring-core that the maven plugin depends on when
Spring Framework and Spring Boot do not use the same Micrometer version:
the build prepares the version that Spring Boot uses, but the build
execution attempts to download the one that Spring Framework relies on.
Closes gh-51266
Added a new image cache option that uses the lifecycle's
`-cache-image` argument for the creator, analyzer, restorer and
exporter phases, so the build cache can be stored in an image and
shared between hosts via an image registry.
Exposed the option in the Maven (`<buildCache><image>`) and Gradle
(`buildCache { image { } }`) plugins.
Reject image caches configured for the launch cache, which the
lifecycle does not support.
See gh-50899
Signed-off-by: Tim Ysewyn <Tim.Ysewyn@me.com>
This commit introduces an alternative to load layers configuration from
the classpath. This lets user package their custom layers XML at
META-INF/spring/layers/<name>.xml in a plugin dependency rather than
referencing a file path directly.
The name of the layers configuration can then be referenced using the
new `configurationName` property.
Closes gh-32466
This commit stop skipping AOT processing of tests when tests execution
is skipped. With this commit, only the presence of maven.test.skip makes
the processing to skip.
This harmonize the behavior with other standard plugins that do react
to the property. For instance, the compiler plugin will not compile the
tests if that property is set, but would do so if skipTests was
provided.
Closes gh-46929