sbt/project/Dependencies.scala

61 lines
2.7 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 {
2017-06-14 07:56:08 +02:00
val scala211 = "2.11.11"
val scala212 = "2.12.2"
2015-09-02 09:03:20 +02:00
private val ioVersion = "1.0.0-M12"
private val utilVersion = "1.0.0-M25"
2017-01-05 14:32:44 +01:00
private val sbtIO = "org.scala-sbt" %% "io" % ioVersion
2017-01-05 14:32:44 +01:00
private val utilCollection = "org.scala-sbt" %% "util-collection" % 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)
2017-04-26 22:55:38 +02:00
def addSbtUtilCollection(p: Project): Project =
addSbtModule(p, sbtUtilPath, "utilCollection", utilCollection)
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-a3314352b638afbf0dca19f127e8263ed6f898bd"
2017-01-05 14:32:44 +01:00
val jsch = "com.jcraft" % "jsch" % "0.1.46" intransitive ()
val scalaReflect = Def.setting { "org.scala-lang" % "scala-reflect" % scalaVersion.value }
val scalaXml = scala211Module("scala-xml", "1.0.5")
2017-06-21 14:59:31 +02:00
val scalaTest = "org.scalatest" %% "scalatest" % "3.0.1" % Test
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
}