forked from akka/alpakka-kafka
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
90 lines (81 loc) · 3.01 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
83
84
85
86
87
88
89
90
import scalariform.formatter.preferences.{CompactControlReadability, DoubleIndentClassDeclaration, PreserveSpaceBeforeArguments, SpacesAroundMultiImports}
import de.heikoseeberger.sbtheader.HeaderPattern
name := "akka-stream-kafka"
val akkaVersion = "2.4.3"
val kafkaVersion = "0.9.0.1"
val kafkaClients = "org.apache.kafka" % "kafka-clients" % kafkaVersion
val commonDependencies = Seq(
"com.typesafe.akka" %% "akka-testkit" % akkaVersion % "test"
)
val coreDependencies = Seq(
"com.typesafe.akka" %% "akka-stream" % akkaVersion,
kafkaClients,
"org.scalatest" %% "scalatest" % "2.2.4" % "test",
"org.reactivestreams" % "reactive-streams-tck" % "1.0.0" % "test",
"com.novocode" % "junit-interface" % "0.11" % "test",
"junit" % "junit" % "4.12" % "test",
"com.typesafe.akka" %% "akka-slf4j" % akkaVersion % "test",
"com.typesafe.akka" %% "akka-stream-testkit" % akkaVersion % "test",
"ch.qos.logback" % "logback-classic" % "1.1.3" % "test",
"org.slf4j" % "log4j-over-slf4j" % "1.7.12" % "test",
"org.mockito" % "mockito-core" % "1.10.19" % "test"
)
val commonSettings =
scalariformSettings ++ Seq(
organization := "com.typesafe.akka",
organizationName := "Lightbend",
startYear := Some(2014),
test in assembly := {},
licenses := Seq("Apache License 2.0" -> url("http://opensource.org/licenses/Apache-2.0")),
scalaVersion := "2.11.8",
crossVersion := CrossVersion.binary,
scalacOptions ++= Seq(
"-deprecation",
"-encoding", "UTF-8", // yes, this is 2 args
"-feature",
"-unchecked",
"-Xfatal-warnings",
"-Xlint",
"-Yno-adapted-args",
"-Ywarn-dead-code",
"-Ywarn-numeric-widen",
"-Xfuture"
),
testOptions += Tests.Argument(TestFrameworks.JUnit, "-q", "-v"),
ScalariformKeys.preferences := ScalariformKeys.preferences.value
.setPreference(DoubleIndentClassDeclaration, true)
.setPreference(PreserveSpaceBeforeArguments, true)
.setPreference(CompactControlReadability, true)
.setPreference(SpacesAroundMultiImports, false),
headers := headers.value ++ Map(
"scala" -> (
HeaderPattern.cStyleBlockComment,
"""|/*
| * Copyright (C) 2014 - 2016 Softwaremill <http://softwaremill.com>
| * Copyright (C) 2016 Lightbend Inc. <http://www.lightbend.com>
| */
|""".stripMargin
)
))
lazy val root =
project.in( file(".") )
.settings(commonSettings)
.settings(Seq(
publishArtifact := false,
publishTo := Some(Resolver.file("Unused transient repository", file("target/unusedrepo")))))
.aggregate(core, benchmarks)
lazy val core = project
.enablePlugins(AutomateHeaderPlugin)
.settings(commonSettings)
.settings(Seq(
name := "akka-stream-kafka",
libraryDependencies ++= commonDependencies ++ coreDependencies
))
lazy val benchmarks = project
.enablePlugins(AutomateHeaderPlugin)
.settings(commonSettings)
.settings(Seq(
publishArtifact := false,
name := "akka-stream-kafka-benchmarks",
libraryDependencies ++= commonDependencies ++ coreDependencies ++ Seq("ch.qos.logback" % "logback-classic" % "1.1.3")
)).dependsOn(core)