fancadescala/build.sc

114 lines
4.2 KiB
Scala

import mill._, scalalib._, publish._
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"
override def publishVersion = "2.0.0"
override def pomSettings = PomSettings(
description = "A library for representing and transforming 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 ivyDeps = Agg(
ivy"org.typelevel::cats-core:2.2.0",
ivy"io.higherkindness::droste-core:0.8.0",
ivy"org.scala-graph::graph-core:1.13.2",
)
}
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 ivyDeps = Agg(
ivy"org.typelevel::cats-tagless-macros:0.11",
)
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")
}