Newer
Older
vavr-effect / build.gradle
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")
        option("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()
}