-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.sc
67 lines (59 loc) · 1.77 KB
/
build.sc
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
import $file.dependencies
import $file.settings
import mill._
import mill.scalalib._
import mill.scalalib.scalafmt.ScalafmtModule
trait itsDapSyncModule extends ScalaModule with ScalafmtModule {
override def scalaVersion = settings.scalaVersion
override def scalacOptions = settings.defaultScalacOptions
override def repositories = super.repositories ++ settings.customRepositories
object test extends Tests with ScalafmtModule {
override def moduleDeps =
if (this == common.test) super.moduleDeps
else super.moduleDeps ++ Seq(common.test)
override def ivyDeps = Agg(dependencies.scalatest)
override def testFrameworks = Seq("org.scalatest.tools.Framework")
}
}
object cmdLineApp extends itsDapSyncModule {
override def moduleDeps = Seq(core)
override def ivyDeps = Agg(
dependencies.scopt,
)
}
object guiApp extends itsDapSyncModule {
override def moduleDeps = Seq(core)
override def ivyDeps = Agg(
dependencies.scalafx.jfxFxml,
dependencies.scalafx.jfxMedia,
dependencies.scalafx.core,
dependencies.scalafx.fxml,
)
}
object core extends itsDapSyncModule {
override def moduleDeps = Seq(ituneslib)
override def ivyDeps = Agg(
dependencies.scalaModules.parallelCollections,
dependencies.jaudiotagger,
dependencies.vlcj,
dependencies.jave,
)
}
object experiments extends itsDapSyncModule {
override def moduleDeps = Seq(core)
}
object ituneslib extends itsDapSyncModule {
override def moduleDeps = Seq(common)
override def ivyDeps = Agg(
dependencies.ddPlist,
)
}
object common extends itsDapSyncModule {
override def ivyDeps = Agg(
dependencies.logging.log4s,
dependencies.logging.slf4jApi,
dependencies.logging.slf4jSimple,
dependencies.playJson,
dependencies.enumeratum,
)
}