package build import mill._, javalib._, errorprone._ object `package` extends RootModule with JavaModule with ErrorProneModule { def artifactName = "vavr-effect" def javacOptions = super.javacOptions() ++ Seq( "-Xlint:unchecked", "-Xlint:rawtypes") def errorProneVersion = "2.28.0" def errorProneOptions = Seq( "-Xep:NullAway:ERROR", "-XepOpt:NullAway:AnnotatedPackages=com.github.tonivade.vavr.effect", "-XepOpt:NullAway:SuggestSuppressions=true", "-XDcompilePolicy=simple", "-XDshould-stop.ifError=FLOW", "-XDshouldStopPolicyIfError=FLOW" ) def errorProneDeps = super.errorProneDeps() ++ Agg(ivy"com.uber.nullaway:nullaway:0.12.7") def ivyDeps = super.ivyDeps() ++ Agg(ivy"io.vavr:vavr:0.10.6") def sources = Task.Sources { Seq(PathRef(millSourcePath / "src" / "main" / "java")) } def compileIvyDeps = super.compileIvyDeps() ++ Agg(ivy"org.jspecify:jspecify:1.0.0") def publishVersion = "0.1-SNAPSHOT" object test extends JavaTests with TestModule.Junit5 { def ivyDeps = super.ivyDeps() ++ Agg( ivy"org.junit.jupiter:junit-jupiter:5.12.2", ivy"org.mockito:mockito-core:5.18.0", ivy"org.mockito:mockito-junit-jupiter:5.18.0" ) def sources = Task.Sources { Seq(PathRef(millSourcePath / "src" / "test" / "java")) } def testSandboxWorkingDir = false def testEnableWorkStealing = false } }