// scalafmt: { runner.dialect = scala213 } package build import mill._, scalalib._ import coursier.maven.MavenRepository val sonatypeSnapshots = Seq( MavenRepository("https://oss.sonatype.org/content/repositories/snapshots") ) object Versions { val zio = "2.1.15" val zioJson = "0.7.33" val zioSchema = "1.6.3" val zioHttp = "3.0.1+97-29d12531-SNAPSHOT" val zioPrelude = "1.0.0-RC39" } trait CommonModule extends ScalaModule { def scalaVersion = "3.6.3" def ivyDeps = Agg( ivy"dev.zio::zio:${Versions.zio}", ivy"dev.zio::zio-schema:${Versions.zioSchema}", ivy"dev.zio::zio-schema-derivation:${Versions.zioSchema}", ivy"dev.zio::zio-prelude:${Versions.zioPrelude}" ) def repositoriesTask = Task.Anon { super.repositoriesTask() ++ sonatypeSnapshots } } object model extends CommonModule object core extends CommonModule { def moduleDeps = Seq(model) } object api extends CommonModule { def moduleDeps = Seq(core) def ivyDeps = Agg( ivy"dev.zio::zio:${Versions.zio}", ivy"dev.zio::zio-http:${Versions.zioHttp}", ivy"dev.zio::zio-json:${Versions.zioJson}", ivy"dev.zio::zio-schema-json:${Versions.zioSchema}" ) }