import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { id 'java' id 'se.thinkcode.cucumber-runner' version '0.0.8' } ext { junitVersion = '5.7.2' cucumberVersion = '6.10.4' } group 'com.baeldung' version '1.0-SNAPSHOT' repositories { mavenCentral() } java { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } dependencies { testImplementation "org.junit.jupiter:junit-jupiter-api:${junitVersion}" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junitVersion}" testImplementation "io.cucumber:cucumber-java:${cucumberVersion}" testImplementation "io.cucumber:cucumber-junit:${cucumberVersion}" testImplementation "org.junit.vintage:junit-vintage-engine:${junitVersion}" } configurations { cucumberRuntime { extendsFrom testImplementation } } task cucumberCli() { dependsOn assemble, testClasses doLast { javaexec { main = "io.cucumber.core.cli.Main" classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output args = [ '--plugin', 'pretty', '--plugin', 'html:target/cucumber-report.html', '--glue', 'com.baeldung.cucumber', 'src/test/resources'] } } } cucumber { main = 'io.cucumber.core.cli.Main' } test { useJUnitPlatform() testLogging { events TestLogEvent.FAILED, TestLogEvent.PASSED, TestLogEvent.SKIPPED } systemProperties(project.gradle.startParameter.systemPropertiesArgs) }