a54be44ecc34c0e8d5ffef13ce60c992d111cfae
= Spring AOT Smoke Tests
A suite of tests for applications using AOT on the JVM and in GraalVM native images.
== How to
=== Run a single test on JVM
[source,]
----
./gradlew :<name of the smoke test>:jvmAotTest
----
for example
[source,]
----
./gradlew :actuator-webmvc:jvmAotTest
----
=== Run a single test
[source,]
----
./gradlew :<name of the smoke test>:build
----
for example
[source,]
----
./gradlew :actuator-webmvc:build
----
=== Add a new sample
1. Create a new directory for your sample
2. Include the directory in `settings.gradle`
3. Include the directory in `ci/smoke-tests.yaml`
=== Test against local changes
==== Your project uses Gradle
[source,]
----
./gradlew :<name of the smoke test>:build --include-build /path/to/your/project
----
Gradle https://docs.gradle.org/current/userguide/composite_builds.html#command_line_composite[will then substitute the dependency] with your provided version.
_Hint: You can use `--include-build` multiple times._
==== Your project uses Maven or --include-build does not work
First, install the snapshots into your local Maven cache.
You can now consume those snapshots using `-PfromMavenLocal` which takes a comma-separated list of group IDs:
[source,]
----
./gradlew :rest-template:build -PfromMavenLocal=org.springframework,org.springframework.data
----
The preceding example will run the `rest-template` smoke test, resolving Spring Framework and Spring Data modules from your local Maven cache.
=== Override a dependency version
As the test doesn't use the Spring Dependency Management Plugin, you can't use the `ext['...'] = '...'` method.
Instead, use https://docs.gradle.org/current/userguide/dependency_constraints.html[Gradle dependency constraints].
Say, for example, you want to update the version of Spring Session JDBC to `3.0.0-SNAPSHOT`:
[source,]
----
dependencies {
// ...
constraints {
implementation('org.springframework.session:spring-session-jdbc:3.0.0-SNAPSHOT')
}
}
----
This works for direct and transitive dependencies.
Description
Languages
Java
97.1%
Kotlin
2.6%
HTML
0.2%