You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Backend/build.sc

51 lines
1.2 KiB

import mill._, scalalib._, scalafmt._
trait ServerModule extends ScalaModule with ScalafmtModule {
//override def scalacOptions = Seq("-explain")
override final def scalaVersion = "3.2.0"
override def ivyDeps = Agg(
ivy"dev.zio::zio:2.0.6",
ivy"org.apache.logging.log4j:log4j-slf4j-impl:2.19.0"
)
}
trait HttpModule extends ServerModule {
override def ivyDeps = super.ivyDeps() ++ Agg(
ivy"dev.zio::zio-http:0.0.3",
ivy"dev.zio::zio-json:0.4.2",
ivy"dev.zio::zio-streams:2.0.6"
)
}
/**
* Simple module whose only job is to generate JWT Tokens
* */
object JWTEmitter extends HttpModule
/**
* module that handles the REST API endpoint
* */
object Endpoint extends HttpModule
/**
* Business layer of a server
* */
object Core extends ServerModule {
override def ivyDeps = super.ivyDeps() ++ Agg(
ivy"dev.zio::zio-json:0.4.2",
)
override def moduleDeps = Seq(Endpoint, DB)
}
/**
* Database module
* */
object DB extends ServerModule {
override def ivyDeps = super.ivyDeps() ++ Agg(
ivy"io.getquill::quill-jdbc-zio:4.6.0",
ivy"org.xerial:sqlite-jdbc:3.40.0.0",
)
}