plugins {
id 'java-library'
id "net.ltgt.errorprone" version "3.1.0"
}
repositories {
mavenLocal()
mavenCentral()
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xlint:unchecked'
options.compilerArgs << '-Xlint:rawtypes'
options.release = 21
if (!name.toLowerCase().contains("test")) {
options.errorprone {
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
option("NullAway:AnnotatedPackages", "com.github.tonivade.vavr.effect")
option("NullAway:SuggestSuppressions", "true")
}
} else {
options.errorprone {
option("NullAway:AnnotatedPackages", "com.github.tonivade.vavr.effect")
excludedPaths = ".*/src/test/java/.*"
}
}
}
dependencies {
errorprone 'com.google.errorprone:error_prone_core:2.25.0'
errorprone 'com.uber.nullaway:nullaway:0.10.24'
compileOnly 'com.google.code.findbugs:jsr305:3.0.2'
api 'io.vavr:vavr:0.10.4'
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2'
testImplementation("org.mockito:mockito-core:5.10.0")
testImplementation("org.mockito:mockito-junit-jupiter:5.10.0")
}
tasks.named('test') {
useJUnitPlatform()
}