plugins { `java-gradle-plugin` } repositories { mavenCentral() } testing { suites { val test by getting(JvmTestSuite::class) { useJUnitJupiter() } val functionalTest by registering(JvmTestSuite::class) { dependencies { implementation(project()) } targets { all { testTask.configure { shouldRunAfter(test) } } } } } } gradlePlugin { val greeting by plugins.creating { id = "org.example.greeting" implementationClass = "org.example.GradlePluginPlugin" } } gradlePlugin.testSourceSets.add(sourceSets["functionalTest"]) tasks.named("check") { dependsOn(testing.suites.named("functionalTest")) }