import Common._
import play.Play.autoImport._
import play.PlayScala
import Dependencies._
import sbt.Keys._
import sbt._
name := "mainApp"
appSettings
mainAppSettings
libraryDependencies ++= Seq(
ws,
gson,
scalaTest,
jodaTime,
mockitoAll
)
lazy val root =
project.in(file(".")).enablePlugins(PlayScala)
.dependsOn(
precog, engine, codeParser,
repositorySystem, frameworkDependency,
dependencyBuilder, enginePlugins,
services, webServices,
databaseTestDependency
).aggregate(
precog, engine, codeParser,
repositorySystem, framework,
dependencyBuilder, enginePlugins,
services, webServices
)
lazy val precog = project.in(file("components/precog"))
.dependsOn(frameworkDependency, dependencyBuilder)
.aggregate(framework, dependencyBuilder)
lazy val engine = project.in(file("components/engine"))
.dependsOn(frameworkDependency, dependencyBuilder)
.aggregate(framework, dependencyBuilder)
lazy val codeParser = project.in(file("components/codeParser"))
.dependsOn(frameworkDependency, dependencyBuilder)
.aggregate(framework, dependencyBuilder)
lazy val repositorySystem = project.in(file("components/repositorySystem"))
.dependsOn(frameworkDependency, dependencyBuilder)
.aggregate(framework, dependencyBuilder)
lazy val enginePlugins = project.in(file("components/enginePlugins"))
.dependsOn(frameworkDependency)
.aggregate(framework)
lazy val dependencyBuilder = project.in(file("components/dependencyBuilder"))
.dependsOn(frameworkDependency)
.aggregate(framework)
lazy val services = project.in(file("components/services"))
.dependsOn(databaseDependency, frameworkDependency, rules)
.aggregate(framework, rules)
lazy val rules = project.in(file("components/rules"))
.dependsOn(databaseDependency, enginePlugins, dependencyBuilder, frameworkDependency)
.aggregate(database, enginePlugins, dependencyBuilder, framework)
lazy val database = project.in(file("components/database"))
.dependsOn(frameworkDependency)
.aggregate(framework)
lazy val framework = project.in(file("components/framework"))
lazy val webServices =
project.in(file("components/webServices")).enablePlugins(PlayScala)
.dependsOn(services)
.aggregate(services)
lazy val databaseDependency = database % "compile->compile;test->test"
lazy val databaseTestDependency = database % "test->test"
lazy val frameworkDependency = framework % "compile->compile;test->test"