diff options
author | Jakob Odersky <jodersky@gmail.com> | 2015-03-21 13:02:13 +0100 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2015-03-21 13:58:48 +0100 |
commit | 68506291fb99108fd0d9305cff28dba4cd0a51f2 (patch) | |
tree | b7d09c4fbf86c759dcba0073d1a1be1fb7b8bb99 /project/Build.scala | |
parent | 5b81969b7bad3d16e3dfce2820e5ee0074909688 (diff) | |
download | mavigator-68506291fb99108fd0d9305cff28dba4cd0a51f2.tar.gz mavigator-68506291fb99108fd0d9305cff28dba4cd0a51f2.tar.bz2 mavigator-68506291fb99108fd0d9305cff28dba4cd0a51f2.zip |
Use vmunier's sbt-play-scalajs plugin. Fixes #7.
Diffstat (limited to 'project/Build.scala')
-rw-r--r-- | project/Build.scala | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/project/Build.scala b/project/Build.scala index c2eaabe..60a3edc 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -1,14 +1,21 @@ import sbt._ import sbt.Keys._ -import util._ +import sbt.Project.projectToRef + import play._ import play.PlayImport.PlayKeys._ + import org.scalajs.sbtplugin.ScalaJSPlugin import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._ import com.github.jodersky.mavlink.sbt._ import com.github.jodersky.mavlink.sbt.MavlinkKeys._ +import playscalajs.ScalaJSPlay +import playscalajs.PlayScalaJS.autoImport._ +import com.typesafe.sbt.web.Import._ + + object ApplicationBuild extends Build { //settings common to all projects @@ -18,12 +25,20 @@ object ApplicationBuild extends Build { mavlinkDialect := (baseDirectory in ThisBuild).value / "mavlink" / "concise.xml" ) - lazy val root = Project("root", file(".")).aggregate( - main, - uav, - dashboard + //root super-project + lazy val root = ( + Project("root", file(".")).aggregate( + main, + uav, + dashboard + ) + settings( + //goto main project on load + onLoad in Global := (Command.process("project vfd-main", _: State)) compose (onLoad in Global).value + ) ) + //main play project lazy val main = ( Project("vfd-main", file("vfd-main")) enablePlugins(PlayScala) @@ -31,6 +46,8 @@ object ApplicationBuild extends Build { settings(common: _*) settings( resolvers += Resolver.url("scala-js-releases", url("http://dl.bintray.com/content/scala-js/scala-js-releases"))(Resolver.ivyStylePatterns), + scalaJSProjects := Seq(dashboard), + pipelineStages := Seq(scalaJSProd), libraryDependencies ++= Seq( "org.webjars" % "bootstrap" % "3.3.1", "org.webjars" % "font-awesome" % "4.2.0", @@ -38,9 +55,10 @@ object ApplicationBuild extends Build { ) ) dependsOn(uav) - dependsOnJs(dashboard) + aggregate(projectToRef(dashboard)) ) + //communication backend lazy val uav = ( Project("vfd-uav", file("vfd-uav")) enablePlugins(SbtMavlink) @@ -54,9 +72,11 @@ object ApplicationBuild extends Build { ) ) + //web frontend lazy val dashboard = ( Project("vfd-dashboard", file("vfd-dashboard")) enablePlugins(ScalaJSPlugin) + enablePlugins(ScalaJSPlay) enablePlugins(SbtMavlink) settings(common: _*) settings( |