docspell/project/Dependencies.scala

345 lines
9.5 KiB
Scala
Raw Normal View History

package docspell.build
2019-07-17 20:03:10 +00:00
import sbt._
2021-02-21 11:04:48 +00:00
import org.portablescala.sbtplatformdeps.PlatformDepsPlugin.autoImport._
2019-07-17 20:03:10 +00:00
object Dependencies {
2021-09-22 15:23:24 +00:00
val BcryptVersion = "0.4"
val BetterMonadicForVersion = "0.3.1"
val BinnyVersion = "0.9.1"
val CalevVersion = "0.7.0"
val CatsVersion = "2.7.0"
2023-09-28 06:29:25 +00:00
val CatsEffectVersion = "3.5.2"
2023-06-26 06:16:55 +00:00
val CatsParseVersion = "0.3.10"
val CirceVersion = "0.14.6"
2022-10-25 06:50:59 +00:00
val CirceGenericExtrasVersion = "0.14.3"
2022-10-28 06:15:46 +00:00
val CirceYamlVersion = "0.14.2"
2023-01-10 06:20:36 +00:00
val ClipboardJsVersion = "2.0.11"
val DoobieVersion = "1.0.0-RC2"
val EmilVersion = "0.13.0"
2023-05-24 06:13:22 +00:00
val FlexmarkVersion = "0.64.8"
val FlywayVersion = "9.22.3"
2023-02-10 06:22:51 +00:00
val Fs2Version = "3.6.1"
2023-09-19 06:26:06 +00:00
val H2Version = "2.2.224"
val Http4sVersion = "0.23.18"
2023-06-14 06:13:40 +00:00
val Icu4jVersion = "73.2"
2022-08-01 06:28:46 +00:00
val JavaOtpVersion = "0.4.0"
2023-10-20 06:26:54 +00:00
val JsoupVersion = "1.16.2"
2023-02-16 06:19:50 +00:00
val JwtScalaVersion = "9.2.0"
2021-09-22 15:23:24 +00:00
val KindProjectorVersion = "0.10.3"
2022-09-17 06:17:01 +00:00
val KittensVersion = "3.0.0"
2021-09-22 15:23:24 +00:00
val LevigoJbig2Version = "2.0"
val Log4sVersion = "1.10.0"
2021-12-23 15:56:33 +00:00
val LogbackVersion = "1.2.10"
2023-08-26 06:15:39 +00:00
val MariaDbVersion = "3.2.0"
2021-09-22 15:23:24 +00:00
val MUnitVersion = "0.7.29"
2021-12-05 21:18:03 +00:00
val MUnitCatsEffectVersion = "1.0.7"
2021-11-05 05:21:13 +00:00
val OrganizeImportsVersion = "0.6.0"
2023-07-02 06:13:35 +00:00
val PdfboxVersion = "2.0.29"
val PdfjsViewerVersion = "2.12.313"
2021-09-22 15:23:24 +00:00
val PoiVersion = "4.1.2"
2023-03-18 06:17:10 +00:00
val PostgresVersion = "42.6.0"
2023-05-12 06:11:39 +00:00
val PureConfigVersion = "0.17.4"
2022-11-27 06:14:13 +00:00
val ScalaJavaTimeVersion = "2.5.0"
2023-02-28 06:20:31 +00:00
val ScodecBitsVersion = "1.1.37"
2023-08-04 06:15:02 +00:00
val ScribeVersion = "3.11.9"
2023-09-04 06:14:36 +00:00
val Slf4jVersion = "2.0.9"
2023-09-23 06:23:23 +00:00
val SourcecodeVersion = "0.3.1"
2023-09-25 06:25:46 +00:00
val StanfordNlpVersion = "4.5.5"
2023-08-28 20:13:11 +00:00
val TikaVersion = "2.9.0"
val YamuscaVersion = "0.10.0"
2023-10-16 06:27:58 +00:00
val SwaggerUIVersion = "5.9.0"
val TestContainerVersion = "0.40.14"
val TwelveMonkeysVersion = "3.9.4"
2021-09-22 15:23:24 +00:00
val JQueryVersion = "3.5.1"
val scribe = Seq(
"com.outr" %% "scribe" % ScribeVersion,
"com.outr" %% "scribe-slf4j2" % ScribeVersion
)
2022-02-19 13:00:47 +00:00
val sourcecode = Seq(
"com.lihaoyi" %% "sourcecode" % SourcecodeVersion
)
val jwtScala = Seq(
"com.github.jwt-scala" %% "jwt-circe" % JwtScalaVersion
)
val scodecBits = Seq(
"org.scodec" %% "scodec-bits" % ScodecBitsVersion
)
val javaOtp = Seq(
"com.eatthepath" % "java-otp" % JavaOtpVersion
)
val testContainer = Seq(
2021-09-22 15:23:24 +00:00
"com.dimafeng" %% "testcontainers-scala-munit" % TestContainerVersion,
"com.dimafeng" %% "testcontainers-scala-mariadb" % TestContainerVersion,
"com.dimafeng" %% "testcontainers-scala-postgresql" % TestContainerVersion
)
val cats = Seq(
"org.typelevel" %% "cats-core" % CatsVersion
)
val catsEffect = Seq(
"org.typelevel" %% "cats-effect" % CatsEffectVersion
)
2021-02-21 11:04:48 +00:00
val catsParse = Seq(
"org.typelevel" %% "cats-parse" % CatsParseVersion
)
val catsParseJS =
Def.setting("org.typelevel" %%% "cats-parse" % CatsParseVersion)
val scalaJsStubs =
2021-08-09 20:36:16 +00:00
"org.scala-js" %% "scalajs-stubs" % "1.1.0" % "provided"
2021-02-21 11:04:48 +00:00
2021-02-23 00:24:24 +00:00
val catsJS = Def.setting("org.typelevel" %%% "cats-core" % "2.4.2")
val scalaJavaTime =
Def.setting("io.github.cquiroz" %%% "scala-java-time" % ScalaJavaTimeVersion)
val kittens = Seq(
"org.typelevel" %% "kittens" % KittensVersion
)
val calevCore = Seq(
2020-04-17 22:50:46 +00:00
"com.github.eikek" %% "calev-core" % CalevVersion
)
val calevFs2 = Seq(
2022-03-13 18:24:00 +00:00
"com.github.eikek" %% "calev-fs2" % CalevVersion
)
2020-04-17 22:50:46 +00:00
val calevCirce = Seq(
"com.github.eikek" %% "calev-circe" % CalevVersion
)
2020-02-16 20:37:26 +00:00
val jclOverSlf4j = Seq(
"org.slf4j" % "jcl-over-slf4j" % Slf4jVersion
)
val poi = Seq(
2021-09-22 15:23:24 +00:00
"org.apache.poi" % "poi" % PoiVersion,
"org.apache.poi" % "poi-ooxml" % PoiVersion,
2020-06-22 22:28:04 +00:00
"org.apache.poi" % "poi-scratchpad" % PoiVersion
).map(
_.excludeAll(
ExclusionRule("commons-logging")
)
) ++ jclOverSlf4j
// https://github.com/vsch/flexmark-java
// BSD 2-Clause
val flexmark = Seq(
2021-09-22 15:23:24 +00:00
"com.vladsch.flexmark" % "flexmark" % FlexmarkVersion,
"com.vladsch.flexmark" % "flexmark-ext-tables" % FlexmarkVersion,
"com.vladsch.flexmark" % "flexmark-ext-gfm-strikethrough" % FlexmarkVersion
2020-06-22 22:28:04 +00:00
).map(
_.excludeAll(
ExclusionRule("junit"),
ExclusionRule("hamcrest-core")
)
)
2020-02-18 20:32:21 +00:00
val twelvemonkeys = Seq(
"com.twelvemonkeys.imageio" % "imageio-jpeg" % TwelveMonkeysVersion,
"com.twelvemonkeys.imageio" % "imageio-tiff" % TwelveMonkeysVersion
)
val levigoJbig2 = Seq(
"com.levigo.jbig2" % "levigo-jbig2-imageio" % LevigoJbig2Version
)
val pdfbox = Seq(
2020-06-22 22:28:04 +00:00
("org.apache.pdfbox" % "pdfbox" % PdfboxVersion).excludeAll(
2020-02-16 20:37:26 +00:00
ExclusionRule("org.bouncycastle"),
ExclusionRule("commons-logging")
)
) ++ jclOverSlf4j ++ levigoJbig2
2019-07-17 20:03:10 +00:00
val emilCommon = Seq(
2020-06-22 22:28:04 +00:00
"com.github.eikek" %% "emil-common" % EmilVersion
)
2020-01-04 23:12:23 +00:00
val emil = Seq(
2021-09-22 15:23:24 +00:00
"com.github.eikek" %% "emil-common" % EmilVersion,
2020-06-22 22:28:04 +00:00
"com.github.eikek" %% "emil-javamail" % EmilVersion
2020-01-04 23:12:23 +00:00
)
val emilDoobie = Seq(
2020-06-22 22:28:04 +00:00
"com.github.eikek" %% "emil-doobie" % EmilVersion
)
val emilTnef = Seq(
2021-01-24 22:24:33 +00:00
("com.github.eikek" %% "emil-tnef" % EmilVersion).excludeAll(
2021-01-24 19:06:53 +00:00
ExclusionRule("org.apache.poi")
)
)
val emilMarkdown = Seq(
2020-06-22 22:28:04 +00:00
"com.github.eikek" %% "emil-markdown" % EmilVersion
)
val emilJsoup = Seq(
2020-06-22 22:28:04 +00:00
"com.github.eikek" %% "emil-jsoup" % EmilVersion
)
val jsoup = Seq(
"org.jsoup" % "jsoup" % JsoupVersion
)
2020-01-04 23:12:23 +00:00
val stanfordNlpCore = Seq(
2020-06-22 22:28:04 +00:00
("edu.stanford.nlp" % "stanford-corenlp" % StanfordNlpVersion).excludeAll(
ExclusionRule("com.io7m.xom", "xom"),
ExclusionRule("javax.servlet", "javax.servlet-api"),
ExclusionRule("org.apache.lucene", "lucene-queryparser"),
ExclusionRule("org.apache.lucene", "lucene-queries"),
ExclusionRule("org.apache.lucene", "lucene-analyzers-common"),
ExclusionRule("org.apache.lucene", "lucene-core"),
ExclusionRule("com.sun.xml.bind", "jaxb-impl"),
ExclusionRule("com.sun.xml.bind", "jaxb-core"),
ExclusionRule("javax.xml.bind", "jaxb-api"),
ExclusionRule("javax.activation"),
ExclusionRule("junit", "junit"),
ExclusionRule("de.jollyday", "jollyday"),
ExclusionRule("com.apple", "AppleJavaExtensions"),
ExclusionRule("org.glassfish", "javax.json")
)
)
val stanfordNlpModels = {
val artifact = "edu.stanford.nlp" % "stanford-corenlp" % StanfordNlpVersion
Seq(
artifact.classifier("models"),
artifact.classifier("models-german"),
artifact.classifier("models-french"),
artifact.classifier("models-english"),
artifact.classifier("models-spanish")
)
}
val tika = Seq(
"org.apache.tika" % "tika-core" % TikaVersion
)
2020-02-16 20:37:26 +00:00
val commonsIO = Seq(
2023-09-30 06:24:41 +00:00
"commons-io" % "commons-io" % "2.14.0"
2020-02-16 20:37:26 +00:00
)
val tikaParser = Seq(
"org.apache.tika" % "tika-parsers" % TikaVersion
)
val bcrypt = Seq(
"org.mindrot" % "jbcrypt" % BcryptVersion
)
2019-07-17 20:03:10 +00:00
2022-02-19 13:00:47 +00:00
val fs2Core = Seq(
"co.fs2" %% "fs2-core" % Fs2Version
)
val fs2Io = Seq(
2021-09-22 15:23:24 +00:00
"co.fs2" %% "fs2-io" % Fs2Version
2019-07-17 20:03:10 +00:00
)
2022-02-19 13:00:47 +00:00
val fs2 = fs2Core ++ fs2Io
2019-07-17 20:03:10 +00:00
val http4sClient = Seq(
"org.http4s" %% "http4s-blaze-client" % "0.23.14"
)
2019-07-17 20:03:10 +00:00
2020-06-18 22:43:35 +00:00
val http4sCirce = Seq(
"org.http4s" %% "http4s-circe" % Http4sVersion
)
val http4sDsl = Seq(
"org.http4s" %% "http4s-dsl" % Http4sVersion
)
val http4sServer = Seq(
"org.http4s" %% "http4s-blaze-server" % "0.23.14"
2020-06-18 22:43:35 +00:00
)
val circeCore = Seq(
"io.circe" %% "circe-core" % CirceVersion
)
val circeParser = Seq(
2021-09-22 15:23:24 +00:00
"io.circe" %% "circe-parser" % CirceVersion
2019-07-17 20:03:10 +00:00
)
val circe =
circeCore ++ circeParser ++ Seq(
"io.circe" %% "circe-generic" % CirceVersion
)
2022-05-21 12:49:43 +00:00
val circeGenericExtra = circeCore ++ Seq(
"io.circe" %% "circe-generic-extras" % CirceGenericExtrasVersion
)
2022-05-21 12:49:43 +00:00
val circeYaml = circeCore ++ Seq(
"io.circe" %% "circe-yaml" % CirceYamlVersion
)
2019-07-17 20:03:10 +00:00
// https://github.com/melrief/pureconfig
// MPL 2.0
val pureconfig = Seq(
"com.github.pureconfig" %% "pureconfig" % PureConfigVersion
)
// https://github.com/h2database/h2database
// MPL 2.0 or EPL 1.0
val h2 = Seq(
"com.h2database" % "h2" % H2Version
)
val mariadb = Seq(
2021-09-12 17:28:23 +00:00
"org.mariadb.jdbc" % "mariadb-java-client" % MariaDbVersion
2019-07-17 20:03:10 +00:00
)
val postgres = Seq(
"org.postgresql" % "postgresql" % PostgresVersion
)
2020-05-05 18:39:11 +00:00
val databases = h2 ++ mariadb ++ postgres
2019-07-17 20:03:10 +00:00
// https://github.com/tpolecat/doobie
// MIT
val doobie = Seq(
2021-09-22 15:23:24 +00:00
"org.tpolecat" %% "doobie-core" % DoobieVersion,
2019-07-17 20:03:10 +00:00
"org.tpolecat" %% "doobie-hikari" % DoobieVersion
)
val binny = Seq(
2021-09-22 15:23:24 +00:00
"com.github.eikek" %% "binny-core" % BinnyVersion,
"com.github.eikek" %% "binny-jdbc" % BinnyVersion,
2022-03-07 11:06:29 +00:00
"com.github.eikek" %% "binny-minio" % BinnyVersion,
"com.github.eikek" %% "binny-fs" % BinnyVersion
2019-07-17 20:03:10 +00:00
)
// https://github.com/flyway/flyway
// ASL 2.0
val flyway = Seq(
2021-12-11 21:00:30 +00:00
"org.flywaydb" % "flyway-core" % FlywayVersion,
"org.flywaydb" % "flyway-mysql" % FlywayVersion
2019-07-17 20:03:10 +00:00
)
val yamusca = Seq(
"com.github.eikek" %% "yamusca-core" % YamuscaVersion,
"com.github.eikek" %% "yamusca-derive" % YamuscaVersion
2019-07-17 20:03:10 +00:00
)
val yamuscaCirce = Seq(
"com.github.eikek" %% "yamusca-circe" % YamuscaVersion
)
2019-07-17 20:03:10 +00:00
2021-02-28 20:15:21 +00:00
val munit = Seq(
2021-09-22 15:23:24 +00:00
"org.scalameta" %% "munit" % MUnitVersion,
"org.scalameta" %% "munit-scalacheck" % MUnitVersion,
"org.typelevel" %% "munit-cats-effect-3" % MUnitCatsEffectVersion
2021-02-28 20:15:21 +00:00
)
2021-08-19 06:50:30 +00:00
val kindProjectorPlugin = "org.typelevel" %% "kind-projector" % KindProjectorVersion
val betterMonadicFor = "com.olegpy" %% "better-monadic-for" % BetterMonadicForVersion
2019-07-17 20:03:10 +00:00
val webjars = Seq(
2021-09-22 15:23:24 +00:00
"org.webjars" % "swagger-ui" % SwaggerUIVersion,
"org.webjars" % "clipboard.js" % ClipboardJsVersion,
"org.webjars.npm" % "pdfjs-dist-viewer-min" % PdfjsViewerVersion
)
2019-07-17 20:03:10 +00:00
val icu4j = Seq(
"com.ibm.icu" % "icu4j" % Icu4jVersion
)
2020-06-28 18:47:19 +00:00
val organizeImports = Seq(
"com.github.liancheng" %% "organize-imports" % OrganizeImportsVersion
)
2019-07-17 20:03:10 +00:00
}