There are two problems with the current approach:
1. The DSL uses dependsOn to try to inform Gradle of the dependency
relationship between tasks. This isn't recommended and inputs and
outputs should be used instead.
2. The generated build-info.properties file doesn't appear on the
classpath when running an application in an IDE, unless that IDE
delegates the execution to Gradle.
This commit addresses both of these shortcomings by configuring the
bootBuildInfo task's output to be a src dir of the main source set's
resources. This gives Gradle the preferred input- and output-based
view of the tasks' interdependencies. It also causes the generated
build-info.properties to appear on the classpath in IDEs that don't
delegate to Gradle. For example, the Eclipse Buildship plugin
automatically configures build/bootBuildInfo as a source folder on
the project's build path.
Closes gh-49547
Accumulate command line --environment values in a ListProperty and
merge them with the configured environment when building the
effective environment map. Add a test that verifies multiple entries
are accepted and propagated.
See gh-48792
Signed-off-by: HuitaePark <qkrgmlxo3174@gmail.com>
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
Change `spring-boot-tomcat-runtime` and `spring-boot-jetty-runtime`
into starter POMs and reduce the number of dependencies needed for
`spring-boot-tomcat` and `spring-boot-jetty`.
The runtime starters provide only the jars required to run the
embedded server along with the module jar itself (excluding transitive
dependencies) and `spring-boot-webserver` (excluding transitive
dependencies).
The build setup required for an executable jar is slightly different
between Maven and Gradle. For Maven, the regular module is put in the
`provided` scope. For Gradle, the regular module remains in main
configuration and the runtime jar is put in the `providedRuntime`
configuration. The reference documentation has been updated to
show how to configure things if starters are being used.
Manual testing has been performed to ensure that wars build with Maven
and Gradle work with both Tomcat and Jetty in both deployed and
`java -jar` modes.
Closes gh-48175
* Update dependencies name
Modules are prefixed with `testcontainers-`
* Update container classes
Container classes are under `org.testcontainers.<module-name>` package
See gh-47664
Signed-off-by: Eddú Meléndez <eddu.melendez@gmail.com>