You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
4.8 KiB

  1. import sbt._
  2. object Dependencies {
  3. /* ********************************************************************** */
  4. /* Akka */
  5. /* ********************************************************************** */
  6. final val akkaVersion = "2.5.26"
  7. val akkaActor = "com.typesafe.akka" %% "akka-actor" % akkaVersion
  8. val akkaStream = "com.typesafe.akka" %% "akka-stream" % akkaVersion
  9. /* ********************************************************************** */
  10. /* Utility Dependencies */
  11. /* ********************************************************************** */
  12. final val slf4jVersion = "1.7.28"
  13. final val log4sVersion = "1.8.2"
  14. final val logbackVersion = "1.2.3"
  15. final val commonsVfsVersion = "2.2"
  16. final val commonsIoVersion = "2.4"
  17. final val spireVersion = "0.13.0"
  18. final val groovyVersion = "2.4.13"
  19. final val scalaJava8Version = "0.9.1"
  20. final val scalaParserVersion = "1.0.4"
  21. final val scalaXmlVersion = "1.0.5"
  22. final val gerweckUtilVersion = "5.0.1"
  23. final val catsVersion = "2.1.1"
  24. final val shapelessVersion = "2.3.3"
  25. final val scallopVersion = "1.0.1"
  26. val log4s = "org.log4s" %% "log4s" % log4sVersion
  27. val slf4j = "org.slf4j" % "slf4j-api" % slf4jVersion
  28. val jclBridge = "org.slf4j" % "jcl-over-slf4j" % slf4jVersion
  29. val log4jBridge = "org.slf4j" % "log4j-over-slf4j" % slf4jVersion
  30. val logback = "ch.qos.logback" % "logback-classic" % logbackVersion
  31. val spire = "org.spire-math" %% "spire" % spireVersion
  32. val commonsIo = "commons-io" % "commons-io" % commonsIoVersion
  33. // val groovy = "org.codehaus.groovy" % "groovy-all" % groovyVersion
  34. val gerweckUtil = "org.gerweck.scala" %% "gerweck-utils" % gerweckUtilVersion
  35. val gerweckUtilAkka = "org.gerweck.scala" %% "gerweck-utils-akka" % gerweckUtilVersion
  36. // val scalaJava8 = "org.scala-lang.modules" %% "scala-java8-compat" % scalaJava8Version
  37. val cats = "org.typelevel" %% "cats-core" % catsVersion
  38. val shapeless = "com.chuusai" %% "shapeless" % shapelessVersion
  39. val scallop = "org.rogach" %% "scallop" % scallopVersion
  40. val commonsVfs = {
  41. val base = "org.apache.commons" % "commons-vfs2" % commonsVfsVersion
  42. base.exclude("commons-logging", "commons-logging")
  43. .exclude("org.apache.maven.scm", "maven-scm-provider-svnexe")
  44. .exclude("org.apache.maven.scm", "maven-scm-api")
  45. base
  46. }
  47. /* Use like this: libraryDependencies <++= (scalaBinaryVersion) (scalaParser) */
  48. def scalaParser(optional: Boolean): String => Seq[ModuleID] = { scalaBinaryVersion: String =>
  49. optionalize(optional) {
  50. scalaBinaryVersion match {
  51. case "2.11" => Seq("org.scala-lang.modules" %% "scala-parser-combinators" % scalaParserVersion % "optional")
  52. case _ => Seq.empty
  53. }
  54. }
  55. }
  56. def scalaXml(optional: Boolean)(scalaBinaryVersion: String): String => Seq[ModuleID] = { scalaBinaryVersion: String =>
  57. optionalize(optional) {
  58. scalaBinaryVersion match {
  59. case "2.11" => Seq("org.scala-lang.modules" %% "scala-xml" % scalaXmlVersion % "optional")
  60. case _ => Seq.empty
  61. }
  62. }
  63. }
  64. /* ********************************************************************** */
  65. /* Testing Dependencies */
  66. /* ********************************************************************** */
  67. final val scalaCheckVersion = "1.12.2"
  68. final val scalaTestVersion = "2.2.4"
  69. val scalaCheck = "org.scalacheck" %% "scalacheck" % scalaCheckVersion
  70. val scalaTest = "org.scalatest" %% "scalatest" % scalaTestVersion
  71. /* ********************************************************************** */
  72. /* ScalaFX */
  73. /* ********************************************************************** */
  74. final val scalaFxVersion = "14-R19"
  75. val scalaFx = "org.scalafx" %% "scalafx" % scalaFxVersion
  76. /* ********************************************************************** */
  77. /* Helpers */
  78. /* ********************************************************************** */
  79. private[this] def optionalize(optional: Boolean)(f: => Seq[ModuleID]): Seq[ModuleID] = {
  80. if (optional) {
  81. f map { _ % "optional" }
  82. } else {
  83. f
  84. }
  85. }
  86. private[this] def noCL(m: ModuleID) = (
  87. m exclude("commons-logging", "commons-logging")
  88. exclude("commons-logging", "commons-logging-api")
  89. )
  90. }