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

64 lines
1.5 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",
ivy"org.apache.logging.log4j:log4j-core:2.19.0",
ivy"org.apache.logging.log4j:log4j-api: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-streams:2.0.6",
ivy"com.github.jwt-scala::jwt-zio-json:9.1.2"
)
}
/**
* Simple module whose only job is to generate JWT Tokens
* */
object JWTEmitter extends HttpModule
/**
* Business layer of a server
* */
object Core extends HttpModule { //also handles http
override def ivyDeps = super.ivyDeps() ++ Agg(
ivy"io.getquill::quill-jdbc-zio:4.6.0",
ivy"org.xerial:sqlite-jdbc:3.40.0.0",
ivy"io.circe::circe-core:0.14.3",
ivy"io.circe::circe-parser:0.14.3",
ivy"io.circe::circe-generic:0.14.3",
)
}
object tests extends TestModule with ServerModule {
override def ivyDeps = Agg(
ivy"dev.zio::zio-test:2.0.6",
ivy"dev.zio::zio-test-sbt:2.0.6",
ivy"dev.zio::zio-test-magnolia:2.0.6",
)
override def testFramework = "zio.test.sbt.ZTestFramework"
override def finalMainClass = "org.tbasket.test.pages.LoginPageHandlerTests"
override def moduleDeps = Seq(Core, JWTEmitter)
}