1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
import $ivy.`com.lihaoyi::mill-contrib-buildinfo:$MILL_VERSION`
import $ivy.`de.tototec::de.tobiasroeser.mill.vcs.version::0.1.4`
import de.tobiasroeser.mill.vcs.version.VcsVersion
import mill._
import mill.contrib.buildinfo.BuildInfo
import mill.scalalib._
import scalafmt._
object server extends ScalaModule with ScalafmtModule with BuildInfo {
def scalaVersion = "2.13.11"
def scalacOptions =
Seq(
// features
"-encoding",
"utf-8",
"-explaintypes",
"-language:higherKinds",
// warnings
"-deprecation",
"-Xlint:unused",
"-unchecked"
)
def ivyDeps =
Agg(
ivy"ch.qos.logback:logback-classic:1.4.9",
ivy"com.github.pureconfig::pureconfig:0.17.4",
ivy"com.github.scopt::scopt:4.1.0",
ivy"org.apache.pekko::pekko-stream:1.0.1",
ivy"org.bouncycastle:bcprov-jdk15to18:1.76",
ivy"org.log4s::log4s:1.10.0"
)
val name = "spacebeans"
def buildInfoMembers: T[Map[String, String]] =
T {
Map(
"name" -> name,
"version" -> VcsVersion.vcsState().format()
)
}
def buildInfoPackageName = Some("net.usebox.gemini.server")
def assembly =
T {
val version = VcsVersion.vcsState().format()
val spacePath = T.ctx.dest / (name + "-" + version + ".jar")
os.move(super.assembly().path, spacePath)
PathRef(spacePath)
}
object test extends Tests with TestModule.ScalaTest with ScalafmtModule {
def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.2.16")
}
}
|