-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuild.sbt
61 lines (48 loc) · 1.74 KB
/
build.sbt
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 Dependencies._
name := "scala-vdom root project"
resolvers := allResolvers
lazy val commonSettings = Seq(
organization := "org.im.vdom",
version := "0.1.1-SNAPSHOT",
scalaVersion := "2.11.7"
)
lazy val commonScalacOptions = Seq("-Xlint", "-deprecation", "-Xfatal-warnings", "-feature")
lazy val root = (project in file(".")).
aggregate(vdomJS, vdomJVM, component, reactive).
settings(name := "scala-vdom").
settings(
publish := {},
publishLocal := {})
// crossProject is a Project builder, not a project unto itself
lazy val vdom = crossProject.in(file(".")).
settings(scalacOptions ++= commonScalacOptions).
settings(commonSettings: _*).
settings(libraryDependencies ++= Seq("org.scalatest" %%% "scalatest" % "3.0.0-M15" % "test")).
jvmSettings(libraryDependencies ++= Seq(
"org.scala-lang.modules" %% "scala-xml" % "1.0.5" % "compile",
"org.scalacheck" %% "scalacheck" % "1.12.5" % "test"
)).
jsSettings(
relativeSourceMaps := true,
jsDependencies += RuntimeDOM % "test",
libraryDependencies ++= Seq("org.scala-js" %%% "scalajs-dom" % "latest.release"),
persistLauncher := true,
scalaJSStage in Global := FastOptStage
)
lazy val vdomJVM = vdom.jvm
lazy val vdomJS = vdom.js
lazy val component = (project in file("component")).
dependsOn(vdomJS).
settings(commonSettings: _*).
enablePlugins(ScalaJSPlugin).
settings(
persistLauncher := true,
scalaJSStage in Global := FastOptStage)
lazy val reactive = (project in file("reactive")).
dependsOn(vdomJS).
settings(commonSettings: _*).
settings(libraryDependencies += "org.monifu" %%% "monifu" % "latest.release").
enablePlugins(ScalaJSPlugin).
settings(
persistLauncher := true,
scalaJSStage in Global := FastOptStage)