forked from jetlore/spark-opentsdb-sink
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
56 lines (48 loc) · 2.34 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
name := "spark-opentsdb-sink"
organization in ThisBuild := "nullm4ri"
scalaVersion in ThisBuild := "2.11.12"
lazy val global = project
.in(file("."))
.settings(settings,
libraryDependencies ++= commonDependencies)
lazy val settings = resolverSetting ++ assemblySettings
lazy val resolverSetting = Seq(
resolvers ++= Seq(
Resolver.sonatypeRepo("releases"),
Resolver.sonatypeRepo("snapshots")
)
)
lazy val dependencies =
new {
val sparkVersion = "2.4.0"
val asyncHttpClientVersion = ""
val jacksonVersion = ""
val sparkCore = "org.apache.spark" %% "spark-core" % sparkVersion % "provided"
val asyncHttpClient = "org.asynchttpclient" % "async-http-client" % "2.8.1"// withSources() excludeAll (ExclusionRule(organization = "io.netty") :: excludeSlf4J: _*)
val jacksonCore = "com.fasterxml.jackson.core" % "jackson-core" % "2.9.8"// withSources() excludeAll (excludeSlf4J: _*)
}
lazy val commonDependencies = Seq(
dependencies.sparkCore
, dependencies.asyncHttpClient
, dependencies.jacksonCore
)
lazy val assemblySettings = Seq(
test in assembly := {},
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false),
assemblyMergeStrategy in assembly := {
case PathList("javax", "xml", xs@_*) => MergeStrategy.first
case PathList("org", "slf4j", xs@_*) => MergeStrategy.first
case PathList("org", "apache", "log4j", xs@_*) => MergeStrategy.first
case PathList("javax", "annotation", xs@_*) => MergeStrategy.first
case "library.properties" => MergeStrategy.discard
case "asm-license.txt" => MergeStrategy.rename
case s: String if s.startsWith("META-INF/maven/com.fasterxml.jackson.core") => MergeStrategy.filterDistinctLines
case s: String if s.startsWith("META-INF/maven/com.sun.jersey") => MergeStrategy.filterDistinctLines
case s: String if s.startsWith("META-INF/maven/org.codehaus.jettison") => MergeStrategy.filterDistinctLines
case s: String if s.startsWith("META-INF/maven/org.slf4j") => MergeStrategy.filterDistinctLines
case s: String if s.startsWith("META-INF/maven/ch.qos.logback") => MergeStrategy.filterDistinctLines
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => (assemblyMergeStrategy in assembly).value(x)
},
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false)
)