diff options
author | Jakob Odersky <jodersky@gmail.com> | 2014-10-03 23:22:10 +0200 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2014-10-03 23:22:10 +0200 |
commit | ab19a9d1a3124f310bbb48de0779b5b96801940e (patch) | |
tree | 9392461ee5605dc10deae89d96ded417c26dc9a2 /project/Build.scala | |
parent | e269a40911f901cac415269916d34032e167a618 (diff) | |
download | mavigator-ab19a9d1a3124f310bbb48de0779b5b96801940e.tar.gz mavigator-ab19a9d1a3124f310bbb48de0779b5b96801940e.tar.bz2 mavigator-ab19a9d1a3124f310bbb48de0779b5b96801940e.zip |
modularize project
Diffstat (limited to 'project/Build.scala')
-rw-r--r-- | project/Build.scala | 61 |
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 |