-
-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathbuild.mill
More file actions
81 lines (67 loc) · 2.55 KB
/
Copy pathbuild.mill
File metadata and controls
81 lines (67 loc) · 2.55 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
//| mill-version: 1.1.3
//| mill-jvm-version: 21
//| mill-jvm-opts: ["-Xmx1g", "-Xms256m", "-Xss2m"]
//| mvnDeps:
//| - io.github.quafadas:millSite_mill1_3.8:0.0.56
//| - com.goyeau::mill-scalafix::0.6.0
//| - com.lihaoyi::mill-contrib-jmh:$MILL_VERSION
package build
import mill.*, mill.scalalib.*, mill.scalajslib.*
import mill.*, scalalib.*, publish.*
import com.goyeau.mill.scalafix.ScalafixModule
import mill.util.VcsVersion
// mill mill.scalalib.scalafmt/
object Config:
val oslib = mvn"com.lihaoyi::os-lib:0.11.8"
val scalatags = mvn"com.lihaoyi::scalatags::0.13.1"
val fansi = mvn"com.lihaoyi::fansi::0.5.1"
val laminar = mvn"com.raquo::laminar::17.2.1"
val munit = mvn"org.scalameta::munit::1.2.4"
val scalaVersion = "3.8.4"
val scalaJSVersion = "1.21.0"
val apachePoi = "5.5.1"
end Config
val extraCompilerOpts = Seq("-Xmax-inlines", "2048", "-Wunused:imports")
// mill __.compiledClassesAndSemanticDbFiles
trait Common extends ScalaModule, ScalafixModule:
def scalaVersion = Config.scalaVersion
override def mvnDeps = super.mvnDeps() ++ Seq(
Config.scalatags,
Config.fansi
)
override def scalacOptions = super.scalacOptions() ++ extraCompilerOpts
end Common
trait CommonJS extends Common with ScalaJSModule:
def scalaJSVersion = Config.scalaJSVersion
override def mvnDeps = super.mvnDeps() ++ Seq(
mvn"org.scala-js::scalajs-dom::2.8.1",
mvn"org.scala-js::scalajs-java-securerandom::1.0.0".withDottyCompat(scalaVersion()),
Config.laminar
)
end CommonJS
trait PublishModule extends mill.scalalib.PublishModule:
override def artifactName = "scautable"
override def publishVersion = Task(VcsVersion.vcsState().format())
override def pomSettings = Task {
PomSettings(
description = "Automatically generate html tables from scala case classes",
organization = "io.github.quafadas",
url = "https://github.com/Quafadas/scautable",
licenses = Seq(License.`Apache-2.0`),
versionControl = VersionControl.github("quafadas", "scautable"),
developers = Seq(
Developer("quafadas", "Simon Parten", "https://github.com/quafadas")
)
)
}
end PublishModule
trait CommonTests extends ScalaModule, TestModule.Munit, ScalafixModule:
// override def defaultTask(): String = "test"
override def scalacOptions = super.scalacOptions() ++ extraCompilerOpts
override def mvnDeps = super.mvnDeps() ++ Seq(
Config.munit
)
end CommonTests
trait ShareCompileResources extends ScalaModule:
override def compileResources = super.compileResources() ++ resources()
end ShareCompileResources