// scalafmt: { runner.dialect = scala213 } package build import mill._, scalalib._ object Versions { val zio = "2.1.15" val zioJson = "0.7.33" val zioSchema = "1.6.3" val zioHttp = "3.0.1" 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}" ) } 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}" ) }