import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { java } group = "org.example.algorithm" version = "1.0" java { sourceCompatibility = JavaVersion.VERSION_21 targetCompatibility = JavaVersion.VERSION_21 } configurations { compileOnly { extendsFrom(configurations.annotationProcessor.get()) } testCompileOnly { extendsFrom(configurations.testAnnotationProcessor.get()) } } sourceSets { main { java { srcDirs("src/main/java") } resources { srcDirs("src/main/resources") } } test { java { srcDirs("src/test/java") } resources { srcDirs("src/test/resources") } } } repositories { mavenLocal() mavenCentral() } dependencies { implementation("com.google.guava:guava:33.0.0-jre") implementation("org.javatuples:javatuples:1.2") // test testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.2") testImplementation("org.junit.jupiter:junit-jupiter-engine:5.10.2") testImplementation("org.junit.jupiter:junit-jupiter-params:5.10.2") testImplementation("org.hamcrest:hamcrest-library:2.2") testImplementation("org.mockito:mockito-junit-jupiter:5.10.0") // jmh annotationProcessor("org.openjdk.jmh:jmh-generator-annprocess:1.35") testImplementation("org.openjdk.jmh:jmh-core:1.35") testAnnotationProcessor("org.openjdk.jmh:jmh-generator-annprocess:1.35") // lombok compileOnly("org.projectlombok:lombok:1.18.30") annotationProcessor("org.projectlombok:lombok:1.18.30") testCompileOnly("org.projectlombok:lombok:1.18.30") testAnnotationProcessor("org.projectlombok:lombok:1.18.30") } tasks.withType { options.encoding = "UTF-8" } tasks.withType { useJUnitPlatform() testLogging { events( TestLogEvent.FAILED, TestLogEvent.PASSED, TestLogEvent.SKIPPED ) debug { events( TestLogEvent.FAILED, TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.STANDARD_OUT, TestLogEvent.STANDARD_ERROR ) showStackTraces = true exceptionFormat = TestExceptionFormat.FULL } } }