aboutsummaryrefslogtreecommitdiff
path: root/project/Build.scala
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2014-10-03 23:22:10 +0200
committerJakob Odersky <jodersky@gmail.com>2014-10-03 23:22:10 +0200
commitab19a9d1a3124f310bbb48de0779b5b96801940e (patch)
tree9392461ee5605dc10deae89d96ded417c26dc9a2 /project/Build.scala
parente269a40911f901cac415269916d34032e167a618 (diff)
downloadmavigator-ab19a9d1a3124f310bbb48de0779b5b96801940e.tar.gz
mavigator-ab19a9d1a3124f310bbb48de0779b5b96801940e.tar.bz2
mavigator-ab19a9d1a3124f310bbb48de0779b5b96801940e.zip
modularize project
Diffstat (limited to 'project/Build.scala')
-rw-r--r--project/Build.scala61
1 files changed, 30 insertions, 31 deletions
diff --git a/project/Build.scala b/project/Build.scala
index af78ff5..9c6789b 100644
--- a/project/Build.scala
+++ b/project/Build.scala
@@ -1,66 +1,65 @@
import sbt._
import sbt.Keys._
+import util._
import play._
import play.PlayImport.PlayKeys._
import scala.scalajs.sbtplugin.ScalaJSPlugin
import scala.scalajs.sbtplugin.ScalaJSPlugin.ScalaJSKeys._
+import Dependencies._
object ApplicationBuild extends Build {
val common = Seq(
scalaVersion := "2.11.2",
- scalacOptions ++= Seq("-feature")
+ scalacOptions ++= Seq("-feature"),
+ unmanagedSourceDirectories in Compile += (baseDirectory in ThisBuild).value / "vfd-shared" / "src" / "main" / "scala",
+ unmanagedResourceDirectories in Compile += (baseDirectory in ThisBuild).value / "vfd-shared" / "src" / "main" / "resources"
)
lazy val root = Project("root", file(".")).aggregate(
+ uav,
backend,
frontend
)
+ lazy val uav = (
+ Project("vfd-uav", file("vfd-uav"))
+ settings(common: _*)
+ settings(
+ libraryDependencies ++= Seq(
+ akkaActor,
+ flow,
+ flowNative
+ )
+ )
+ )
+
lazy val backend = (
- Project("vfd-backend", file("backend"))
+ Project("vfd-backend", file("vfd-backend"))
enablePlugins(PlayScala)
settings(common: _*)
settings(
- libraryDependencies ++= Dependencies.backend
+ libraryDependencies ++= Seq(
+ bootstrap,
+ fontawesome,
+ jquery
+ )
)
+ dependsOn(uav)
dependsOnJs(frontend)
)
lazy val frontend = (
- Project("vfd-frontend", file("frontend"))
+ Project("vfd-frontend", file("vfd-frontend"))
settings(ScalaJSPlugin.scalaJSSettings: _*)
settings(common: _*)
settings(
- libraryDependencies ++= Dependencies.frontend
+ libraryDependencies ++= Seq(
+ rx,
+ dom
+ )
)
)
-
-
- implicit class ScalaJSPlayProject(val project: Project) {
- def dependsOnJs(reference: Project): Project = project.settings(
- resourceGenerators in Compile += Def.task{
- val outDir: File = (resourceManaged in Compile).value / "public" / "lib"
-
- val optimized: Seq[File] = (fastOptJS in (reference, Compile)).value.allCode.map(_.path).map(file(_))
-
- val outFiles = optimized.map(file => outDir / file.name)
-
- for ((opt, out) <- optimized zip outFiles) {
- if (!out.exists || out.lastModified < opt.lastModified) {
- IO.copyFile(opt, out, true)
- val map = opt.getParentFile / (out.name + ".map")
- IO.copyFile(map, outDir / map.name)
- }
- }
- outFiles
- }.taskValue,
- playMonitoredFiles ++= (watchSources in reference).value.map(_.getCanonicalPath)
- )
- }
-
-
-
} \ No newline at end of file