Getting Started
In build.gradle define the versions of Gradle that needs to be tested:
gradleTestSets {
testSets {
main {
versions '6.1', '7.3.3', '8.11.1'
}
}
}
Create a folder called src/gradleTest.
Beneath that add a folder – call it myExample for now.
Within that create a normal Gradle project i.e. drop a build.gradle file and fill it out with the kind of syntax that a person will use to run your plugin.
Finally, add a custom task called runGradleTest and make it depend on some task that your plugin provides.
If you have a multi-project layout, you do not need to place runGradleTest in the root build script - you can selectively place in build.gradle(.kts) in your subprojects if need be.
For example, here is one example from GradleTest’s test suite of how itself is being tested.
gradleTestSets {
testSets {
main {
versions '7.3.3', '8.9', '9.7.1'
expectedFailures 'expectedBuildFailure'
useCustomManifest()
}
}
}
tasks.register('runGradleTest') {
dependsOn 'gradleTest'
}
Using multiple build files
You can use multiple build files for a single project layout.
For you can add both build.gradle and a build.gradle.kts file.
GradleTest will generate two tests and use the two alternatively.
You can even add more build files, by using naming convention staged.<NAME>.build.gradle(.kts).
GradleTest will generate an additional test for each staged file and place the appropriate build.gradle or build.gradle.kts in that generate project directory.
Settings file
You should add either a settings.gradle or settings.gradle.kts file.
If you don’t do, GradleTest will place a blank settings.gradle in the target project directory.
| You should only use one of the two DSLs for the settings file. If you add a settings file in both Groovy & Kotlin, GradleTest will use the Groovy version. |