Skip to content

Instantly share code, notes, and snippets.

@ianjuma
Created April 15, 2016 12:40
Show Gist options
  • Select an option

  • Save ianjuma/cda58844dc31294c97f249843319f8a9 to your computer and use it in GitHub Desktop.

Select an option

Save ianjuma/cda58844dc31294c97f249843319f8a9 to your computer and use it in GitHub Desktop.
import sbt._
import Keys._
import sbtassembly.AssemblyKeys._
object Build extends Build {
val akkaVersion = "2.3.3"
val sprayVersion = "1.3.1"
connectInput in run := true
val sharedSettings: Seq[sbt.Project.Setting[_]] = Seq(
organization := "com.africastalking.medusa",
version := "0.1.0",
scalaVersion := "2.10.4",
resolvers ++= Seq(
"RoundHeights" at "http://maven.spikemark.net/roundeights",
"rediscala" at "http://dl.bintray.com/etaty/maven",
"Artima Maven Repository" at "http://repo.artima.com/releases",
"Typesafe repository releases" at "http://repo.typesafe.com/typesafe/releases/"
),
unmanagedSourceDirectories in Compile <<= (scalaSource in Compile)(Seq(_)),
scalacOptions ++= Seq(
"-deprecation",
"-feature",
"-unchecked"
)
)
lazy val medusa = Project(
id = "medusa",
base = file("."),
settings = Project.defaultSettings ++ sharedSettings
).settings(
name := "medusa"
).aggregate(
medusaCore,
medusaHydra,
medusaCrunch,
medusaXero,
medusaMain
)
lazy val medusaCore = Project(
id = "medusa-core",
base = file("medusa-core"),
settings = Project.defaultSettings ++
sharedSettings
).settings(
name := "medusa-core",
libraryDependencies ++= Seq(
"io.spray" %% "spray-json" % "1.2.6",
"com.typesafe.akka" %% "akka-actor" % akkaVersion,
"com.typesafe.akka" %% "akka-slf4j" % akkaVersion,
"ch.qos.logback" % "logback-core" % "1.1.2",
"ch.qos.logback" % "logback-classic" % "1.1.2",
"com.typesafe" % "config" % "1.2.0",
"com.github.mauricio" % "mysql-async_2.10" % "0.2.18",
("com.websudos" % "phantom-dsl_2.10" % "1.2.2")
.exclude("com.typesafe.sbt", "sbt-pgp")
.exclude("com.typesafe.sbt", "sbt-git")
.exclude("net.virtual-void", "sbt-dependency-graph")
.exclude("com.github.mpeltonen", "sbt-idea"),
"org.xerial.snappy" % "snappy-java" % "1.1.0.1",
"net.jpountz.lz4" % "lz4" % "1.2.0",
"com.github.nscala-time" %% "nscala-time" % "1.0.0",
"com.etaty.rediscala" %% "rediscala" % "1.3.1",
"com.roundeights" %% "hasher" % "1.0.0",
"commons-daemon" % "commons-daemon" % "1.0.15",
"io.spray" % "spray-client" % sprayVersion,
"io.spray" % "spray-httpx" % sprayVersion,
"com.typesafe.akka" %% "akka-testkit" % akkaVersion % "test",
"org.specs2" %% "specs2" % "2.2.3" % "test",
"org.scalactic" %% "scalactic" % "2.2.6",
"org.scalatest" %% "scalatest" % "2.2.6" % "test"
)
)
lazy val medusaMain = Project(
id = "medusa-main",
base = file("medusa-main"),
settings = Project.defaultSettings ++
sharedSettings
).settings(
name := "medusa-main",
test in assembly := {},
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-testkit" % akkaVersion % "test",
"org.specs2" %% "specs2" % "2.2.3" % "test",
"org.scalactic" %% "scalactic" % "2.2.6",
"org.scalatest" %% "scalatest" % "2.2.6" % "test"
)
).dependsOn(
medusaCore,
medusaHydra,
medusaCrunch
)
lazy val medusaHydra = Project(
id = "medusa-hydra",
base = file("medusa-hydra"),
settings = Project.defaultSettings ++
sharedSettings
).settings(
name := "medusa-hydra",
test in assembly := {},
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-testkit" % akkaVersion % "test",
"org.specs2" %% "specs2" % "2.2.3" % "test",
"org.scalactic" %% "scalactic" % "2.2.6",
"org.scalatest" %% "scalatest" % "2.2.6" % "test"
)
).dependsOn(
medusaCore,
medusaCrunch
)
lazy val medusaCrunch = Project(
id = "medusa-crunch",
base = file("medusa-crunch"),
settings = Project.defaultSettings ++
sharedSettings
).settings(
name := "medusa-crunch",
test in assembly := {},
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-testkit" % akkaVersion % "test",
"org.specs2" %% "specs2" % "2.2.3" % "test",
"org.scalactic" %% "scalactic" % "2.2.6",
"org.scalatest" %% "scalatest" % "2.2.6" % "test",
"net.databinder.dispatch" %% "dispatch-core" % "0.11.2"
)
).dependsOn(
medusaCore
)
lazy val medusaXero = Project(
id = "medusa-xero",
base = file("medusa-xero"),
settings = Project.defaultSettings ++
sharedSettings
).settings(
name := "medusa-xero",
test in assembly := {},
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-testkit" % akkaVersion % "test",
"org.specs2" %% "specs2" % "2.2.3" % "test",
"org.scalactic" %% "scalactic" % "2.2.6",
"org.scalatest" %% "scalatest" % "2.2.6" % "test"
)
).dependsOn(
medusaCore
)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment