blob: 5c9de3901191508147bdd2fc28cc3911115e0ac6 [file] [log] [blame]
import com.typesafe.sbt.SbtNativePackager.Universal
import com.typesafe.sbt.packager.Keys._
name := "predictionio"
version in ThisBuild := "0.6.8"
organization in ThisBuild := "io.prediction"
scalaVersion in ThisBuild := "2.10.2"
scalacOptions in ThisBuild ++= Seq("-deprecation", "-unchecked", "-feature")
scalacOptions in (ThisBuild, Test) ++= Seq("-Yrangepos")
javacOptions in ThisBuild ++= Seq("-source", "1.6", "-target", "1.6", "-Xlint:deprecation", "-Xlint:unchecked")
libraryDependencies in ThisBuild ++= Seq(
"com.github.nscala-time" %% "nscala-time" % "0.6.0",
"org.slf4j" % "slf4j-log4j12" % "1.7.5" % "test",
"org.specs2" %% "specs2" % "1.14" % "test")
publishTo in ThisBuild := Some(Resolver.file("file", new File(Path.userHome.absolutePath+"/.m2/repository")))
publishMavenStyle in ThisBuild := true
parallelExecution in (ThisBuild, Test) := false
lazy val root = project.in(file(".")).aggregate(
commons,
output,
processHadoopScalding,
processEnginesCommonsEvalScalaParamGen,
processEnginesCommonsEvalScalaU2ITrainingTestSplit,
processEnginesItemRecAlgoScalaMahout,
processEnginesItemRecEvalScalaTopKItems,
processEnginesItemSimEvalScalaTopKItems,
toolsConncheck,
toolsSettingsInit,
toolsSoftwareManager,
toolsUsers)
// Commons and Output
lazy val commons = project in file("commons") settings(scalariformSettings: _*)
lazy val output = project.in(file("output")).dependsOn(commons).settings(scalariformSettings: _*)
// Process Assemblies
lazy val processHadoopScalding = project
.in(file("process"))
.aggregate(
processCommonsHadoopScalding,
processEnginesCommonsEvalHadoopScalding,
processEnginesItemRecAlgoHadoopScalding,
processEnginesItemRecEvalHadoopScalding,
processEnginesItemSimAlgoHadoopScalding,
processEnginesItemSimEvalHadoopScalding)
.dependsOn(
processCommonsHadoopScalding,
processEnginesCommonsEvalHadoopScalding,
processEnginesItemRecAlgoHadoopScalding,
processEnginesItemRecEvalHadoopScalding,
processEnginesItemSimAlgoHadoopScalding,
processEnginesItemSimEvalHadoopScalding)
lazy val processCommonsHadoopScalding = project
.in(file("process/commons/hadoop/scalding")).dependsOn(commons)
.settings(scalariformSettings: _*)
lazy val processEnginesCommonsEvalHadoopScalding = project
.in(file("process/engines/commons/evaluations/hadoop/scalding"))
.aggregate(processEnginesCommonsEvalHadoopScaldingU2ITrainingTestSplit)
.dependsOn(processEnginesCommonsEvalHadoopScaldingU2ITrainingTestSplit)
lazy val processEnginesCommonsEvalHadoopScaldingU2ITrainingTestSplit = project
.in(file("process/engines/commons/evaluations/hadoop/scalding/u2itrainingtestsplit"))
.dependsOn(processCommonsHadoopScalding)
lazy val processEnginesCommonsEvalScalaParamGen = project
.in(file("process/engines/commons/evaluations/scala/paramgen"))
.dependsOn(commons)
.settings(scalariformSettings: _*)
lazy val processEnginesCommonsEvalScalaU2ITrainingTestSplit = project
.in(file("process/engines/commons/evaluations/scala/u2itrainingtestsplit"))
.dependsOn(commons)
lazy val processEnginesItemRecAlgoHadoopScalding = project
.in(file("process/engines/itemrec/algorithms/hadoop/scalding"))
.aggregate(
processEnginesItemRecAlgoHadoopScaldingGeneric,
processEnginesItemRecAlgoHadoopScaldingKnnitembased,
processEnginesItemRecAlgoHadoopScaldingRandomrank,
processEnginesItemRecAlgoHadoopScaldingLatestrank,
processEnginesItemRecAlgoHadoopScaldingMahout)
.dependsOn(
processEnginesItemRecAlgoHadoopScaldingGeneric,
processEnginesItemRecAlgoHadoopScaldingKnnitembased,
processEnginesItemRecAlgoHadoopScaldingRandomrank,
processEnginesItemRecAlgoHadoopScaldingLatestrank,
processEnginesItemRecAlgoHadoopScaldingMahout)
lazy val processEnginesItemRecAlgoHadoopScaldingGeneric = project
.in(file("process/engines/itemrec/algorithms/hadoop/scalding/generic"))
.dependsOn(processCommonsHadoopScalding)
.settings(scalariformSettings: _*)
lazy val processEnginesItemRecAlgoHadoopScaldingKnnitembased = project
.in(file("process/engines/itemrec/algorithms/hadoop/scalding/knnitembased"))
.dependsOn(processCommonsHadoopScalding)
.settings(scalariformSettings: _*)
lazy val processEnginesItemRecAlgoHadoopScaldingRandomrank = project
.in(file("process/engines/itemrec/algorithms/hadoop/scalding/randomrank"))
.dependsOn(processCommonsHadoopScalding)
.settings(scalariformSettings: _*)
lazy val processEnginesItemRecAlgoHadoopScaldingLatestrank = project
.in(file("process/engines/itemrec/algorithms/hadoop/scalding/latestrank"))
.dependsOn(processCommonsHadoopScalding)
.settings(scalariformSettings: _*)
lazy val processEnginesItemRecAlgoHadoopScaldingMahout = project
.in(file("process/engines/itemrec/algorithms/hadoop/scalding/mahout"))
.dependsOn(processCommonsHadoopScalding)
.settings(scalariformSettings: _*)
lazy val processEnginesItemRecAlgoScalaMahout = project
.in(file("process/engines/itemrec/algorithms/scala/mahout"))
.aggregate(
processEnginesItemRecAlgoScalaMahoutCommons,
processEnginesItemRecAlgoScalaMahoutALSWR,
processEnginesItemRecAlgoScalaMahoutKNNUserBased,
processEnginesItemRecAlgoScalaMahoutSlopeOne,
processEnginesItemRecAlgoScalaMahoutSVDPlusPlus,
processEnginesItemRecAlgoScalaMahoutSVDSGD,
processEnginesItemRecAlgoScalaMahoutThresholdUserBased)
.dependsOn(
processEnginesItemRecAlgoScalaMahoutCommons,
processEnginesItemRecAlgoScalaMahoutALSWR,
processEnginesItemRecAlgoScalaMahoutKNNUserBased,
processEnginesItemRecAlgoScalaMahoutSlopeOne,
processEnginesItemRecAlgoScalaMahoutSVDPlusPlus,
processEnginesItemRecAlgoScalaMahoutSVDSGD,
processEnginesItemRecAlgoScalaMahoutThresholdUserBased)
lazy val processEnginesItemRecAlgoScalaMahoutCommons = project
.in(file("process/engines/itemrec/algorithms/scala/mahout/commons"))
.dependsOn(commons)
lazy val processEnginesItemRecAlgoScalaMahoutALSWR = project
.in(file("process/engines/itemrec/algorithms/scala/mahout/alswr"))
.dependsOn(processEnginesItemRecAlgoScalaMahoutCommons)
lazy val processEnginesItemRecAlgoScalaMahoutKNNUserBased = project
.in(file("process/engines/itemrec/algorithms/scala/mahout/knnuserbased"))
.dependsOn(processEnginesItemRecAlgoScalaMahoutCommons)
lazy val processEnginesItemRecAlgoScalaMahoutSlopeOne = project
.in(file("process/engines/itemrec/algorithms/scala/mahout/slopeone"))
.dependsOn(processEnginesItemRecAlgoScalaMahoutCommons)
lazy val processEnginesItemRecAlgoScalaMahoutSVDPlusPlus = project
.in(file("process/engines/itemrec/algorithms/scala/mahout/svdplusplus"))
.dependsOn(processEnginesItemRecAlgoScalaMahoutCommons)
lazy val processEnginesItemRecAlgoScalaMahoutSVDSGD = project
.in(file("process/engines/itemrec/algorithms/scala/mahout/svdsgd"))
.dependsOn(processEnginesItemRecAlgoScalaMahoutCommons)
lazy val processEnginesItemRecAlgoScalaMahoutThresholdUserBased = project
.in(file("process/engines/itemrec/algorithms/scala/mahout/thresholduserbased"))
.dependsOn(processEnginesItemRecAlgoScalaMahoutCommons)
lazy val processEnginesItemRecEvalHadoopScalding = project
.in(file("process/engines/itemrec/evaluations/hadoop/scalding"))
.aggregate(
processEnginesItemRecEvalHadoopScaldingMetricsMAP)
.dependsOn(
processEnginesItemRecEvalHadoopScaldingMetricsMAP)
lazy val processEnginesItemRecEvalHadoopScaldingMetricsMAP = project
.in(file("process/engines/itemrec/evaluations/hadoop/scalding/metrics/map"))
.dependsOn(processCommonsHadoopScalding)
lazy val processEnginesItemRecEvalScalaTopKItems = project
.in(file("process/engines/itemrec/evaluations/scala/topkitems"))
.dependsOn(commons, output)
lazy val processEnginesItemSimAlgoHadoopScalding = project
.in(file("process/engines/itemsim/algorithms/hadoop/scalding"))
.aggregate(
processEnginesItemSimAlgoHadoopScaldingItemSimCF,
processEnginesItemSimAlgoHadoopScaldingLatestRank,
processEnginesItemSimAlgoHadoopScaldingMahout,
processEnginesItemSimAlgoHadoopScaldingRandomRank)
.dependsOn(
processEnginesItemSimAlgoHadoopScaldingItemSimCF,
processEnginesItemSimAlgoHadoopScaldingLatestRank,
processEnginesItemSimAlgoHadoopScaldingMahout,
processEnginesItemSimAlgoHadoopScaldingRandomRank)
lazy val processEnginesItemSimAlgoHadoopScaldingItemSimCF = project
.in(file("process/engines/itemsim/algorithms/hadoop/scalding/itemsimcf"))
.dependsOn(processCommonsHadoopScalding)
lazy val processEnginesItemSimAlgoHadoopScaldingLatestRank = project
.in(file("process/engines/itemsim/algorithms/hadoop/scalding/latestrank"))
.dependsOn(processCommonsHadoopScalding)
lazy val processEnginesItemSimAlgoHadoopScaldingMahout = project
.in(file("process/engines/itemsim/algorithms/hadoop/scalding/mahout"))
.dependsOn(processCommonsHadoopScalding)
lazy val processEnginesItemSimAlgoHadoopScaldingRandomRank = project
.in(file("process/engines/itemsim/algorithms/hadoop/scalding/randomrank"))
.dependsOn(processCommonsHadoopScalding)
lazy val processEnginesItemSimEvalHadoopScalding = project
.in(file("process/engines/itemsim/evaluations/hadoop/scalding"))
.aggregate(
processEnginesItemSimEvalHadoopScaldingMetricsISMAP)
.dependsOn(
processEnginesItemSimEvalHadoopScaldingMetricsISMAP)
lazy val processEnginesItemSimEvalHadoopScaldingMetricsISMAP = project
.in(file("process/engines/itemsim/evaluations/hadoop/scalding/metrics/ismap"))
.dependsOn(processCommonsHadoopScalding)
lazy val processEnginesItemSimEvalScalaTopKItems = project
.in(file("process/engines/itemsim/evaluations/scala/topkitems"))
.dependsOn(commons, output)
// Tools Section
lazy val toolsConncheck = project.in(file("tools/conncheck"))
.dependsOn(commons)
lazy val toolsSettingsInit = project.in(file("tools/settingsinit"))
.dependsOn(commons)
lazy val toolsSoftwareManager = project.in(file("tools/softwaremanager"))
.dependsOn(commons)
lazy val toolsUsers = project.in(file("tools/users"))
.dependsOn(commons)