import mill._ import mill.scalalib._ import mill.scalalib.publish._ import $ivy.`com.lihaoyi::mill-contrib-twirllib:`, mill.twirllib._ object astral extends Module { def scalaVersion = "3.3.0" def compile = compiler.compile object compiler extends ScalaModule with PublishModule with TwirlModule { val VERSION = "0.0.1-SNAPSHOT" def scalaVersion = astral.scalaVersion def twirlScalaVersion = scalaVersion def twirlVersion = "1.6.0-RC4" def mainClass = Some("com.astraldb.Astral") def generatedSources = T{ Seq(compileTwirl().classes) } /************************************************* *** Twirl Config *************************************************/ def twirlFormats = super.twirlFormats() ++ Map( "scala" -> "play.twirl.api.TxtFormat" ) /************************************************* *** Backend Dependencies *************************************************/ def ivyDeps = Agg( ivy"com.typesafe.play::twirl-api::${twirlVersion()}" ) def publishVersion = VERSION override def pomSettings = PomSettings( description = "The Astral Compiler Compiler", organization = "com.astraldb", url = "http://astraldb.com", licenses = Seq(License.`Apache-2.0`), versionControl = VersionControl.github("UBOdin", "astral"), developers = Seq( Developer("okennedy", "Oliver Kennedy", "https://odin.cse.buffalo.edu"), ) ) } object catalyst extends ScalaModule { def scalaVersion = astral.scalaVersion def mainClass = Some("com.astraldb.catalyst.Astral") def moduleDeps = Seq(astral.compiler) } }