diff --git a/build.sc b/build.sc index dd1c1fb..af4294e 100644 --- a/build.sc +++ b/build.sc @@ -1,6 +1,10 @@ import mill._, scalalib._, publish._ -object core extends ScalaModule with PublishModule { +import $ivy.`io.github.davidgregory084::mill-tpolecat:0.1.4` + +import io.github.davidgregory084.TpolecatModule + +object core extends TpolecatModule with PublishModule { override def scalaVersion = "2.13.3" override def artifactName = "fancade-core" @@ -21,3 +25,79 @@ object core extends ScalaModule with PublishModule { ), ) } + +object tagless extends TpolecatModule with PublishModule { + override def scalaVersion = "2.13.3" + + override def artifactName = "fancade-tagless" + override def publishVersion = "2.0.0" + override def pomSettings = PomSettings( + description = "A tagless DSL for building Fancade scripts", + organization = "tf.bug", + url = "https://gitdab.com/s/fancadescala", + licenses = Seq(License.MIT), + versionControl = VersionControl( + browsableRepository = Some("https://gitdab.com/s/fancadescala"), + connection = Some(VersionControlConnection.gitGit("gitdab.com", "s/fancadescala.git")), + developerConnection = Some(VersionControlConnection.gitSsh("ssh.gitdab.com", ":s/fancadescala.git", username = Some("git"))), + tag = None, + ), + developers = Seq( + Developer("sorenbug", "Soren", "https://gitdab.com/s"), + ), + ) + + override def moduleDeps = Seq(core) + + override def scalacPluginIvyDeps = Agg(ivy"org.typelevel:::kind-projector:0.11.0", ivy"com.olegpy::better-monadic-for:0.3.1") +} + +object scodec extends TpolecatModule with PublishModule { + override def scalaVersion = "2.13.3" + + override def artifactName = "fancade-scodec" + override def publishVersion = "2.0.0" + override def pomSettings = PomSettings( + description = "A library for reading and writing the Fancade level format", + organization = "tf.bug", + url = "https://gitdab.com/s/fancadescala", + licenses = Seq(License.MIT), + versionControl = VersionControl( + browsableRepository = Some("https://gitdab.com/s/fancadescala"), + connection = Some(VersionControlConnection.gitGit("gitdab.com", "s/fancadescala.git")), + developerConnection = Some(VersionControlConnection.gitSsh("ssh.gitdab.com", ":s/fancadescala.git", username = Some("git"))), + tag = None, + ), + developers = Seq( + Developer("sorenbug", "Soren", "https://gitdab.com/s"), + ), + ) + + override def moduleDeps = Seq(core) +} + +object recipe extends TpolecatModule with PublishModule { + override def scalaVersion = "2.13.3" + + override def artifactName = "fancade-recipe" + override def publishVersion = "2.0.0" + override def pomSettings = PomSettings( + description = "An application that creates Fancade levels from other data", + organization = "tf.bug", + url = "https://gitdab.com/s/fancadescala", + licenses = Seq(License.MIT), + versionControl = VersionControl( + browsableRepository = Some("https://gitdab.com/s/fancadescala"), + connection = Some(VersionControlConnection.gitGit("gitdab.com", "s/fancadescala.git")), + developerConnection = Some(VersionControlConnection.gitSsh("ssh.gitdab.com", ":s/fancadescala.git", username = Some("git"))), + tag = None, + ), + developers = Seq( + Developer("sorenbug", "Soren", "https://gitdab.com/s"), + ), + ) + + override def moduleDeps = Seq(tagless, scodec) + + override def scalacPluginIvyDeps = Agg(ivy"org.typelevel:::kind-projector:0.11.0", ivy"com.olegpy::better-monadic-for:0.3.1") +}