aboutsummaryrefslogtreecommitdiff
path: root/project/VfdBuild.scala
blob: a80d62caa3f8bc0b63eadbcc8ecb10b30229aa34 (plain) (blame)
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
package vfd

import sbt._
import sbt.Keys._
import sbt.Project.projectToRef

object VfdBuild extends Build {

  // settings common to all projects
  val defaultSettings = Seq(
    scalaVersion := "2.11.7",
    scalacOptions ++= Seq("-feature", "-deprecation")
  )

  // root super-project
  lazy val root = Project(
    id = "root",
    base = file("."),
    aggregate = Seq(bindings, main, uav, dashboard, index)
  )

  // empty project that uses SbtMavlink to generate protocol bindings
  lazy val bindings = Project(
    id = "vfd-bindings",
    base = file("vfd-bindings")
  )

  // main play project
  lazy val main = Project(
    id = "vfd-main",
    base = file("vfd-main"),
    dependencies = Seq(bindings, uav),
    aggregate = Seq(
      projectToRef(dashboard),
      projectToRef(index)
    )
  )

  // communication backend
  lazy val uav = Project(
    id = "vfd-uav",
    base = file("vfd-uav"),
    dependencies = Seq(bindings)
  )

  // main cockpit front-end
  lazy val dashboard = Project(
    id = "vfd-dashboard",
    base = file("vfd-dashboard"),
    dependencies = Seq(bindings)
  )

  // landing page providing selection of drone
  lazy val index = Project(
    id = "vfd-index",
    base = file("vfd-index"),
    dependencies = Seq(bindings)
  )

}