mdeinum / spring-aot-smoke-tests

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

./gradlew :<name of the smoke test>:jvmAotTest

for example

./gradlew :actuator-webmvc:jvmAotTest

Run a single test

./gradlew :<name of the smoke test>:build

for example

./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

./gradlew :<name of the smoke test>:build --include-build /path/to/your/project

Gradle 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:

./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 Gradle dependency constraints. Say, for example, you want to update the version of Spring Session JDBC to 3.0.0-SNAPSHOT:

dependencies {
    // ...
    constraints {
        implementation('org.springframework.session:spring-session-jdbc:3.0.0-SNAPSHOT')
    }
}

This works for direct and transitive dependencies.

About

License:Apache License 2.0


Languages

Language:Java 97.5%Language:Shell 1.2%Language:Kotlin 0.6%Language:HTML 0.5%Language:Mustache 0.2%Language:Dockerfile 0.1%