sbt/project/Dependencies.scala

73 lines
3.1 KiB
Scala
Raw Normal View History

2015-08-19 09:56:08 +02:00
import sbt._
import Keys._
import sbt.contraband.ContrabandPlugin.autoImport._
2015-08-19 09:56:08 +02:00
object Dependencies {
2018-09-28 10:42:20 +02:00
val scala212 = "2.12.7"
2015-09-02 09:03:20 +02:00
2018-10-29 19:25:01 +01:00
private val ioVersion = "1.3.0-M4"
private val utilVersion = "1.3.0-M2"
2018-10-15 11:34:14 +02:00
private val coursierVersion = "1.1.0-M7"
2017-01-05 14:32:44 +01:00
private val sbtIO = "org.scala-sbt" %% "io" % ioVersion
private val utilPosition = "org.scala-sbt" %% "util-position" % utilVersion
2017-04-26 22:55:38 +02:00
private val utilLogging = "org.scala-sbt" %% "util-logging" % utilVersion
private val utilCache = "org.scala-sbt" %% "util-cache" % utilVersion
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
}
2017-04-26 22:55:38 +02:00
lazy val sbtIoPath = getSbtModulePath("sbtio.path", "sbt/io")
lazy val sbtUtilPath = getSbtModulePath("sbtutil.path", "sbt/util")
2017-06-21 14:59:31 +02:00
def addSbtModule(p: Project, path: Option[String], projectName: String, m: ModuleID) =
path match {
2017-06-21 14:59:31 +02:00
case Some(f) => p dependsOn ProjectRef(file(f), projectName)
case None => p settings (libraryDependencies += m)
}
2017-01-05 14:32:44 +01:00
def addSbtIO(p: Project): Project = addSbtModule(p, sbtIoPath, "io", sbtIO)
def addSbtUtilPosition(p: Project): Project =
addSbtModule(p, sbtUtilPath, "utilPosition", utilPosition)
2017-04-26 22:55:38 +02:00
def addSbtUtilLogging(p: Project): Project =
addSbtModule(p, sbtUtilPath, "utilLogging", utilLogging)
def addSbtUtilCache(p: Project): Project = addSbtModule(p, sbtUtilPath, "utilCache", utilCache)
2015-08-19 09:56:08 +02:00
2017-01-05 14:32:44 +01:00
val launcherInterface = "org.scala-sbt" % "launcher-interface" % "1.0.0"
val ivy = "org.scala-sbt.ivy" % "ivy" % "2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310"
2017-11-14 10:57:29 +01:00
val coursier = "io.get-coursier" %% "coursier" % coursierVersion
val coursierCache = "io.get-coursier" %% "coursier-cache" % coursierVersion
val sbtV = "1.0"
val scalaV = "2.12"
val jsch = "com.jcraft" % "jsch" % "0.1.54" intransitive ()
2017-01-05 14:32:44 +01:00
val scalaReflect = Def.setting { "org.scala-lang" % "scala-reflect" % scalaVersion.value }
val scalaCompiler = Def.setting { "org.scala-lang" % "scala-compiler" % scalaVersion.value }
2017-01-05 14:32:44 +01:00
val scalaXml = scala211Module("scala-xml", "1.0.5")
val scalaTest = "org.scalatest" %% "scalatest" % "3.0.5"
val scalaCheck = "org.scalacheck" %% "scalacheck" % "1.14.0"
val sjsonnew = Def.setting {
"com.eed3si9n" %% "sjson-new-core" % contrabandSjsonNewVersion.value
}
val sjsonnewScalaJson = Def.setting {
"com.eed3si9n" %% "sjson-new-scalajson" % contrabandSjsonNewVersion.value
}
2017-05-15 22:34:38 +02:00
val gigahorseOkhttp = "com.eed3si9n" %% "gigahorse-okhttp" % "0.3.0"
val okhttpUrlconnection = "com.squareup.okhttp3" % "okhttp-urlconnection" % "3.7.0"
private def scala211Module(name: String, moduleVersion: String) =
Def.setting {
scalaVersion.value match {
case sv if (sv startsWith "2.9.") || (sv startsWith "2.10.") => Nil
2017-04-26 22:55:38 +02:00
case _ => ("org.scala-lang.modules" %% name % moduleVersion) :: Nil
}
}
2015-08-19 09:56:08 +02:00
}