forked from xebia-functional/macroid
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
74 lines (62 loc) · 2.41 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
val commonSettings = android.Plugin.androidBuildAar ++ Seq(
platformTarget in Android := "android-21",
organization := "org.macroid",
version := "2.0.0-SNAPSHOT",
licenses += ("MIT", url("http://opensource.org/licenses/MIT")),
scalaVersion := "2.10.5",
crossScalaVersions := Seq("2.10.5", "2.11.6"),
scalacOptions ++= Seq("-feature", "-deprecation"),
libraryDependencies += "org.scalatest" %% "scalatest" % "2.1.5" % "test"
)
val paradiseSettings = Seq(
libraryDependencies ++= Seq(
"org.scala-lang" % "scala-reflect" % scalaVersion.value,
compilerPlugin("org.scalamacros" % "paradise" % "2.0.1" cross CrossVersion.full)
),
libraryDependencies ++= (CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, 10)) ⇒
Seq("org.scalamacros" %% "quasiquotes" % "2.0.1")
case _ ⇒
Seq()
})
)
lazy val core = (project in file("macroid-core"))
.settings(commonSettings: _*)
.settings(paradiseSettings: _*)
.settings(
name := "macroid",
description := "A Scala GUI DSL for Android",
homepage := Some(url("http://macroid.github.io")),
unmanagedSourceDirectories in Test := Seq(baseDirectory.value / "src" / "test" / "scala"),
libraryDependencies ++= Seq(
"com.android.support" % "support-v4" % "21.0.3",
"org.scala-lang.modules" %% "scala-async" % "0.9.2",
"org.brianmckenna" %% "wartremover" % "0.10",
"org.scalatest" %% "scalatest" % "2.1.5" % "test"
)
)
lazy val viewable = (project in file("macroid-viewable"))
.settings(commonSettings: _*)
.settings(
name := "macroid-viewable",
description := "Typeclasses to turn data into Android layouts",
homepage := Some(url("http://macroid.github.io/related/Viewable.html"))
)
.dependsOn(core)
lazy val akka = (project in file("macroid-akka"))
.settings(commonSettings: _*)
.settings(
name := "macroid-akka",
description := "Helpers to attach Akka Actors to Android Fragments",
homepage := Some(url("http://macroid.github.io/related/AkkaFragments.html")),
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.3" % "provided"
)
.dependsOn(core)
lazy val root = (project in file("."))
.aggregate(core, viewable, akka)
.settings(
scalacOptions in (Compile, doc) ++= Seq(
"-sourcepath", baseDirectory.value.getAbsolutePath,
"-doc-source-url", "https://github.com/macroid/macroid/tree/master€{FILE_PATH}.scala"
)
)