-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathbuild.mill
60 lines (51 loc) · 1.88 KB
/
build.mill
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
57
58
59
60
import $ivy.`de.tototec::de.tobiasroeser.mill.vcs.version::0.4.1`
import mill._, scalalib._, publish._
import de.tobiasroeser.mill.vcs.version.VcsVersion
object Deps {
val scala211 = Seq("2.11.12")
val scala212 = 14.to(20).map("2.12." + _)
val scala213 = 1.to(16).map("2.13." + _)
val scala33 = 0.to(3).map("3.3." + _)
val scala34 = 0.to(3).map("3.4." + _)
val scala35 = 0.to(2).map("3.5." + _)
val scala36 = 0.to(3).map("3.6." + _)
val unreleased = scala33 ++ scala34 ++ scala35 ++ scala36
def scalaCompiler(scalaVersion: String) =
if (scalaVersion.startsWith("3.")) ivy"org.scala-lang::scala3-compiler:$scalaVersion"
else ivy"org.scala-lang:scala-compiler:$scalaVersion"
val utest = ivy"com.lihaoyi::utest:0.8.2"
}
val crosses =
Deps.scala211 ++
Deps.scala212 ++
Deps.scala213 ++
Deps.scala33 ++
Deps.scala34 ++
Deps.scala35 ++
Deps.scala36
object acyclic extends Cross[AcyclicModule](crosses)
trait AcyclicModule extends CrossScalaModule with PublishModule {
override def crossFullScalaVersion = true
override def artifactName = "acyclic"
def publishVersion = VcsVersion.vcsState().format()
def pomSettings = PomSettings(
description = artifactName(),
organization = "com.lihaoyi",
url = "https://github.com/com-lihaoyi/acyclic",
licenses = Seq(License.MIT),
versionControl = VersionControl.github(owner = "com-lihaoyi", repo = "acyclic"),
developers = Seq(
Developer("lihaoyi", "Li Haoyi", "https://github.com/lihaoyi")
)
)
override def compileIvyDeps =
Agg(Deps.scalaCompiler(crossScalaVersion))
object test extends ScalaTests with TestModule.Utest {
override def sources = T.sources(super.sources() :+ PathRef(millSourcePath / "resources"))
override def ivyDeps = Agg(
Deps.utest,
Deps.scalaCompiler(crossScalaVersion)
)
override def scalacPluginIvyDeps = Agg.empty[Dep]
}
}