2014-12-18 13:57:05 +01:00
|
|
|
import sbt._
|
|
|
|
|
import Keys._
|
2017-07-01 04:08:30 +02:00
|
|
|
import sbt.contraband.ContrabandPlugin.autoImport._
|
2014-12-18 13:57:05 +01:00
|
|
|
|
|
|
|
|
object Dependencies {
|
2016-11-23 16:17:34 +01:00
|
|
|
val scala282 = "2.8.2"
|
|
|
|
|
val scala292 = "2.9.2"
|
|
|
|
|
val scala293 = "2.9.3"
|
|
|
|
|
val scala210 = "2.10.6"
|
|
|
|
|
val scala211 = "2.11.8"
|
2017-07-28 08:56:08 +02:00
|
|
|
val scala212 = "2.12.3"
|
2017-01-15 07:44:05 +01:00
|
|
|
val baseScalaVersion = scala212
|
2014-12-18 23:40:20 +01:00
|
|
|
|
2015-09-14 09:27:22 +02:00
|
|
|
// sbt modules
|
2017-08-10 05:56:59 +02:00
|
|
|
private val ioVersion = "1.0.0"
|
|
|
|
|
private val utilVersion = "1.0.0"
|
|
|
|
|
private val lmVersion = "1.0.0"
|
|
|
|
|
private val zincVersion = "1.0.0"
|
2016-11-23 17:19:22 +01:00
|
|
|
|
|
|
|
|
private val sbtIO = "org.scala-sbt" %% "io" % ioVersion
|
|
|
|
|
|
2017-06-26 12:38:37 +02:00
|
|
|
private val utilPosition = "org.scala-sbt" %% "util-position" % utilVersion
|
|
|
|
|
private val utilLogging = "org.scala-sbt" %% "util-logging" % utilVersion
|
2016-11-23 18:29:52 +01:00
|
|
|
private val utilCache = "org.scala-sbt" %% "util-cache" % utilVersion
|
|
|
|
|
private val utilControl = "org.scala-sbt" %% "util-control" % utilVersion
|
|
|
|
|
private val utilRelation = "org.scala-sbt" %% "util-relation" % utilVersion
|
|
|
|
|
private val utilTracking = "org.scala-sbt" %% "util-tracking" % utilVersion
|
2017-06-26 12:38:37 +02:00
|
|
|
private val utilScripted = "org.scala-sbt" %% "util-scripted" % utilVersion
|
2016-11-23 17:19:22 +01:00
|
|
|
|
2017-07-16 00:09:40 +02:00
|
|
|
private val libraryManagementCore = "org.scala-sbt" %% "librarymanagement-core" % lmVersion
|
|
|
|
|
private val libraryManagementIvy = "org.scala-sbt" %% "librarymanagement-ivy" % lmVersion
|
2016-11-23 16:17:34 +01:00
|
|
|
|
|
|
|
|
val launcherInterface = "org.scala-sbt" % "launcher-interface" % "1.0.0"
|
2016-11-23 18:29:52 +01:00
|
|
|
val rawLauncher = "org.scala-sbt" % "launcher" % "1.0.0"
|
|
|
|
|
val testInterface = "org.scala-sbt" % "test-interface" % "1.0"
|
2016-11-23 16:17:34 +01:00
|
|
|
|
2017-06-26 12:38:37 +02:00
|
|
|
private val compilerInterface = "org.scala-sbt" % "compiler-interface" % zincVersion
|
|
|
|
|
private val compilerClasspath = "org.scala-sbt" %% "zinc-classpath" % zincVersion
|
2016-11-23 18:29:52 +01:00
|
|
|
private val compilerApiInfo = "org.scala-sbt" %% "zinc-apiinfo" % zincVersion
|
|
|
|
|
private val compilerBridge = "org.scala-sbt" %% "compiler-bridge" % zincVersion
|
2016-11-23 17:19:22 +01:00
|
|
|
private val compilerIvyIntegration = "org.scala-sbt" %% "zinc-ivy-integration" % zincVersion
|
2016-11-23 18:29:52 +01:00
|
|
|
private val zinc = "org.scala-sbt" %% "zinc" % zincVersion
|
|
|
|
|
private val zincCompile = "org.scala-sbt" %% "zinc-compile" % zincVersion
|
2016-11-23 17:19:22 +01:00
|
|
|
|
|
|
|
|
def getSbtModulePath(key: String, name: String) = {
|
|
|
|
|
val localProps = new java.util.Properties()
|
|
|
|
|
IO.load(localProps, file("project/local.properties"))
|
|
|
|
|
val path = Option(localProps getProperty key) orElse (sys.props get key)
|
|
|
|
|
path foreach (f => println(s"Using $name from $f"))
|
|
|
|
|
path
|
|
|
|
|
}
|
|
|
|
|
|
2016-11-23 18:29:52 +01:00
|
|
|
lazy val sbtIoPath = getSbtModulePath("sbtio.path", "sbt/io")
|
2016-11-23 17:19:22 +01:00
|
|
|
lazy val sbtUtilPath = getSbtModulePath("sbtutil.path", "sbt/util")
|
2016-11-23 18:29:52 +01:00
|
|
|
lazy val sbtLmPath = getSbtModulePath("sbtlm.path", "sbt/lm")
|
2016-11-23 17:19:22 +01:00
|
|
|
lazy val sbtZincPath = getSbtModulePath("sbtzinc.path", "sbt/zinc")
|
|
|
|
|
|
2017-06-26 12:38:37 +02:00
|
|
|
def addSbtModule(p: Project, path: Option[String], projectName: String, m: ModuleID) =
|
2016-11-23 17:19:22 +01:00
|
|
|
path match {
|
2017-06-26 12:38:37 +02:00
|
|
|
case Some(f) => p dependsOn ProjectRef(file(f), projectName)
|
|
|
|
|
case None => p settings (libraryDependencies += m)
|
2016-11-23 17:19:22 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def addSbtIO(p: Project): Project = addSbtModule(p, sbtIoPath, "io", sbtIO)
|
|
|
|
|
|
2017-06-26 12:38:37 +02:00
|
|
|
def addSbtUtilPosition(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtUtilPath, "utilPosition", utilPosition)
|
2017-04-21 09:14:31 +02:00
|
|
|
def addSbtUtilLogging(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtUtilPath, "utilLogging", utilLogging)
|
2017-06-26 12:38:37 +02:00
|
|
|
def addSbtUtilCache(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtUtilPath, "utilCache", utilCache)
|
|
|
|
|
def addSbtUtilControl(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtUtilPath, "utilControl", utilControl)
|
2017-04-21 09:14:31 +02:00
|
|
|
def addSbtUtilRelation(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtUtilPath, "utilRelation", utilRelation)
|
|
|
|
|
def addSbtUtilTracking(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtUtilPath, "utilTracking", utilTracking)
|
2017-06-26 12:38:37 +02:00
|
|
|
def addSbtUtilScripted(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtUtilPath, "utilScripted", utilScripted)
|
2016-11-23 17:19:22 +01:00
|
|
|
|
2017-07-16 00:09:40 +02:00
|
|
|
def addSbtLmCore(p: Project): Project = addSbtModule(p, sbtLmPath, "lmCore", libraryManagementCore)
|
|
|
|
|
def addSbtLmIvy(p: Project): Project = addSbtModule(p, sbtLmPath, "lmIvy", libraryManagementIvy)
|
2016-11-23 17:19:22 +01:00
|
|
|
|
2017-06-26 12:38:37 +02:00
|
|
|
def addSbtCompilerInterface(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtZincPath, "compilerInterface", compilerInterface)
|
|
|
|
|
def addSbtCompilerClasspath(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtZincPath, "zincClasspath", compilerClasspath)
|
2017-04-21 09:14:31 +02:00
|
|
|
def addSbtCompilerApiInfo(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtZincPath, "zincApiInfo", compilerApiInfo)
|
|
|
|
|
def addSbtCompilerBridge(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtZincPath, "compilerBridge", compilerBridge)
|
|
|
|
|
def addSbtCompilerIvyIntegration(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtZincPath, "zincIvyIntegration", compilerIvyIntegration)
|
2016-11-23 18:29:52 +01:00
|
|
|
def addSbtZinc(p: Project): Project = addSbtModule(p, sbtZincPath, "zinc", zinc)
|
2017-04-21 09:14:31 +02:00
|
|
|
def addSbtZincCompile(p: Project): Project =
|
|
|
|
|
addSbtModule(p, sbtZincPath, "zincCompile", zincCompile)
|
2016-11-23 16:17:34 +01:00
|
|
|
|
2017-07-01 04:08:30 +02:00
|
|
|
val sjsonNewScalaJson = Def.setting { "com.eed3si9n" %% "sjson-new-scalajson" % contrabandSjsonNewVersion.value }
|
2017-06-26 12:38:37 +02:00
|
|
|
|
|
|
|
|
val jline = "jline" % "jline" % "2.14.4"
|
2017-05-24 17:27:18 +02:00
|
|
|
val scalatest = "org.scalatest" %% "scalatest" % "3.0.1"
|
2017-01-15 07:44:05 +01:00
|
|
|
val scalaCheck = "org.scalacheck" %% "scalacheck" % "1.13.4"
|
|
|
|
|
val specs2 = "org.specs2" %% "specs2" % "2.4.17"
|
2016-11-23 18:29:52 +01:00
|
|
|
val junit = "junit" % "junit" % "4.11"
|
2016-08-22 08:38:46 +02:00
|
|
|
val templateResolverApi = "org.scala-sbt" % "template-resolver" % "0.1"
|
2016-11-23 16:17:34 +01:00
|
|
|
|
|
|
|
|
private def scala211Module(name: String, moduleVersion: String) = Def setting (
|
|
|
|
|
scalaBinaryVersion.value match {
|
|
|
|
|
case "2.9" | "2.10" => Nil
|
|
|
|
|
case _ => ("org.scala-lang.modules" %% name % moduleVersion) :: Nil
|
2014-12-18 13:57:05 +01:00
|
|
|
}
|
2016-11-23 16:17:34 +01:00
|
|
|
)
|
|
|
|
|
|
2017-01-16 17:44:03 +01:00
|
|
|
val scalaXml = scala211Module("scala-xml", "1.0.6")
|
|
|
|
|
val scalaParsers = scala211Module("scala-parser-combinators", "1.0.5")
|
2017-07-28 06:08:27 +02:00
|
|
|
|
|
|
|
|
def log4jVersion = "2.8.1"
|
|
|
|
|
val log4jApi = "org.apache.logging.log4j" % "log4j-api" % log4jVersion
|
|
|
|
|
val log4jCore = "org.apache.logging.log4j" % "log4j-core" % log4jVersion
|
|
|
|
|
val log4jSlf4jImpl = "org.apache.logging.log4j" % "log4j-slf4j-impl" % log4jVersion
|
|
|
|
|
// specify all of log4j modules to prevent misalignment
|
|
|
|
|
val log4jDependencies = Vector(log4jApi, log4jCore, log4jSlf4jImpl)
|
2014-12-18 13:57:05 +01:00
|
|
|
}
|