plugins { id 'java-library' id "net.ltgt.errorprone" version "4.1.0" } group = 'com.github.tonivade' 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.enabled = false } } dependencies { errorprone 'com.google.errorprone:error_prone_core:2.36.0' errorprone 'com.uber.nullaway:nullaway:0.12.3' compileOnly 'org.jspecify:jspecify:1.0.0' api 'io.vavr:vavr:0.10.5' testImplementation 'org.junit.jupiter:junit-jupiter:5.11.4' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' testImplementation("org.mockito:mockito-core:5.14.2") testImplementation("org.mockito:mockito-junit-jupiter:5.14.2") } test { useJUnitPlatform() }