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