aboutsummaryrefslogtreecommitdiff
path: root/project/MavigatorBuild.scala
blob: e46d5f2731e1a19bbe18776128d49ef24c0b4408 (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
package mavigator

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

object MavigatorBuild 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, uav, server, cockpit)
  )

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

  // main akka http server project
  lazy val server = Project(
    id = "mavigator-server",
    base = file("mavigator-server"),
    dependencies = Seq(bindings, uav)
  )

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

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

}