package flow
import sbt._
import Keys._
object FlowBuild extends Build {
val scalaVersions = List("2.11.7")// "2.12.0-M3")
lazy val commonSettings: Seq[Setting[_]] = Seq(
scalaVersion in ThisBuild := scalaVersions.head,
crossScalaVersions in ThisBuild := scalaVersions.reverse,
scalacOptions ++= Seq("-deprecation", "-unchecked", "-feature", "-target:jvm-1.8"),
organization := "com.github.jodersky",
licenses := Seq(("BSD New", url("http://opensource.org/licenses/BSD-3-Clause"))),
homepage := Some(url("https://jodersky.github.io/flow")),
pomIncludeRepository := { _ => false },
pomExtra := {
git@github.com:jodersky/flow.git
scm:git:git@github.com:jodersky/flow.git
jodersky
Jakob Odersky
}
)
lazy val root: Project = (
Project("root", file("."))
aggregate(core, native, stream)
settings(commonSettings: _*)
settings(
publishArtifact := false,
publish := (),
publishLocal := (),
publishTo := Some(Resolver.file("Unused transient repository", target.value / "unusedrepo")) // make sbt-pgp happy
)
)
lazy val core = Project(
id = "flow-core",
base = file("flow-core")
)
lazy val native = Project(
id = "flow-native",
base = file("flow-native")
)
lazy val stream = Project(
id = "flow-stream",
base = file("flow-stream"),
dependencies = Seq(core)
)
lazy val samplesTerminal = Project(
id = "samples-terminal",
base = file("flow-samples") / "terminal",
dependencies = Seq(core, native % Runtime)
)
lazy val samplesTerminalStream = Project(
id = "samples-terminal-stream",
base = file("flow-samples") / "terminal-stream",
dependencies = Seq(stream, native % Runtime)
)
lazy val samplesWatcher = Project(
id = "samples-watcher",
base = file("flow-samples") / "watcher",
dependencies = Seq(core, native % Runtime)
)
}