package build import mill._, javalib._, errorprone._, publish._ import $ivy.`de.tototec::de.tobiasroeser.mill.jacoco::0.0.4` import de.tobiasroeser.mill.jacoco._ import mill.scalalib.SonatypeCentralPublishModule object `package` extends RootModule with MavenModule with ErrorProneModule with SonatypeCentralPublishModule { 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 compileIvyDeps = super.compileIvyDeps() ++ Agg(ivy"org.jspecify:jspecify:1.0.0") def publishVersion = "0.2-SNAPSHOT" def pomSettings = PomSettings( description = "A library that provides scala-like effects for java", organization = "com.github.tonivade", url = "https://tonivade.es/gitbucket/tonivade/vavr-effect", licenses = Seq(License.MIT), versionControl = VersionControl.github("tonivade", "vavr-effect"), developers = Seq(Developer("tonivade", "Toni Muñoz", "https://github.com/tonivade")) ) object test extends MavenTests with TestModule.Junit5 with JacocoTestModule { def ivyDeps = super.ivyDeps() ++ Agg( ivy"org.mockito:mockito-core:5.18.0", ivy"org.mockito:mockito-junit-jupiter:5.18.0" ) def testSandboxWorkingDir = false def testEnableWorkStealing = false } }