forked from metabolicdata/core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
83 lines (60 loc) · 2.92 KB
/
build.sbt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name := "metabolic-core"
version := "SNAPSHOT"
scalaVersion := "2.12.17"
/* Reusable versions */
val sparkVersion = "3.3.0"
val awsVersion = "1.12.401"
val testContainersVersion = "0.40.12"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-sql" % sparkVersion % Provided,
"org.apache.spark" %% "spark-sql-kafka-0-10" % sparkVersion,
"org.apache.kafka" % "kafka-clients" % "3.3.2",
"io.delta" %% "delta-core" % "2.1.1",
"org.apache.logging.log4j" %% "log4j-api-scala" % "12.0",
"com.typesafe" % "config" % "1.4.0",
"net.liftweb" %% "lift-json" % "3.5.0",
"io.lemonlabs" %% "scala-uri" % "1.4.10",
"org.yaml" % "snakeyaml" % "1.29",
"com.amazonaws" % "aws-java-sdk-s3" % awsVersion % Provided,
"com.amazonaws" % "aws-java-sdk-secretsmanager" % awsVersion % Provided,
"com.amazonaws" % "aws-java-sdk-glue" % awsVersion % Provided,
"com.amazonaws" % "aws-java-sdk-kinesis" % awsVersion % Provided,
"com.amazonaws" % "aws-java-sdk-athena" % awsVersion % Provided,
"org.scalaj" %% "scalaj-http" % "2.4.2",
"com.typesafe.play" %% "play-json" % "2.9.4",
"io.starburst.openx.data" % "json-serde" % "1.3.9-e.10"
)
pomIncludeRepository := { x => false }
/* Uncomment for glue libs
resolvers += "aws-glue-etl-artifacts" at "https://aws-glue-etl-artifacts.s3.amazonaws.com/release/"
libraryDependencies += "com.amazonaws" % "AWSGlueETL" % "1.0.0" % Provided
*/
assembly / assemblyMergeStrategy := {
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => MergeStrategy.first
}
dependencyOverrides ++= {
Seq(
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.13.0",
"com.fasterxml.jackson.core" % "jackson-databind" % "2.13.0",
"org.antlr" % "antlr4-runtime" % "4.8",
"org.scala-lang.modules" %% "scala-xml" % "1.3.0"
)
}
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.9" % Test
libraryDependencies += "com.holdenkarau" %% "spark-testing-base" % s"${sparkVersion}_1.4.0" % Test
dependencyOverrides += "org.xerial.snappy" % "snappy-java" % "1.1.8.2" % Test
libraryDependencies += "com.dimafeng" %% "testcontainers-scala-scalatest" % testContainersVersion % Test
libraryDependencies += "com.dimafeng" %% "testcontainers-scala-mysql" % testContainersVersion % Test
libraryDependencies += "com.dimafeng" %% "testcontainers-scala-kafka" % testContainersVersion % Test
libraryDependencies += "com.dimafeng" %% "testcontainers-scala-localstack" % testContainersVersion % Test
libraryDependencies += "org.apache.hadoop" % "hadoop-aws" % "3.3.4" % Test
libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.49" % "test"
libraryDependencies += "org.mockito" % "mockito-core" % "2.21.0" % "test"
Test / fork := true
Test / coverageEnabled := true
Test / parallelExecution := false
coverageHighlighting := true
javaOptions ++= Seq("-Xms512M", "-Xmx2048M","-XX:+CMSClassUnloadingEnabled")
scalacOptions += "-target:jvm-1.8"
scalacOptions ++= Seq("-deprecation", "-unchecked")