-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
130 lines (93 loc) · 2.85 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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
ThisBuild / version := "0.1.0-SNAPSHOT"
ThisBuild / scalaVersion := "2.13.10"
Compile / PB.targets := Seq(
scalapb.gen() -> (Compile / sourceManaged).value / "scalapb"
)
val catsCoreVersion = "2.9.0"
val catsEffectVersion = "3.4.0"
val cirisVersion = "3.0.0"
val fs2Version = "3.3.0"
val kafkaStreamsVersion = "3.3.1"
val fs2KafkaStreamsVersion = "3.0.0-M8"
val scalaScraperVersion = "3.0.0"
val circeVersion = "0.15.0-M1"
val xs4sVersion = "0.9.1"
val canoeVersion = "0.6.0"
val logbackVersion = "1.4.5"
val elastic4sVersion = "8.5.0"
val redisVersion = "3.41"
lazy val root = (project in file("."))
.settings(
name := "CarMeta",
idePackagePrefix := Some("ru.red.car_meta")
)
// Modules
lazy val aggregation = project
.settings(
name := "Aggregation",
idePackagePrefix := Some("ru.red.car_meta.aggregation")
)
.dependsOn(root)
lazy val scraper = project
.settings(
name := "Scraper",
idePackagePrefix := Some("ru.red.car_meta.scraper")
)
.dependsOn(root)
lazy val telegram = project
.settings(
name := "Telegram",
idePackagePrefix := Some("ru.red.car_meta.telegram")
)
.dependsOn(root)
lazy val warehouse = project
.settings(
name := "Warehouse",
idePackagePrefix := Some("ru.red.car_meta.warehouse")
)
.dependsOn(root)
// Typelevel
libraryDependencies ++= Seq(
"org.typelevel" %% "cats-core" % catsCoreVersion,
"org.typelevel" %% "cats-effect" % catsEffectVersion,
"org.typelevel" %% "cats-effect-testkit" % catsEffectVersion % Test
)
// Configuration
libraryDependencies ++= Seq(
"is.cir" %% "ciris" % cirisVersion,
"is.cir" %% "ciris-circe" % cirisVersion,
"is.cir" %% "ciris-circe-yaml" % cirisVersion
)
// FS2
libraryDependencies += "co.fs2" %% "fs2-core" % fs2Version
// Kafka
libraryDependencies ++= Seq(
"org.apache.kafka" %% "kafka-streams-scala" % kafkaStreamsVersion,
"com.github.fd4s" %% "fs2-kafka" % fs2KafkaStreamsVersion
)
// gRPC
enablePlugins(Fs2Grpc)
libraryDependencies ++= Seq(
"com.thesamet.scalapb" %% "scalapb-runtime" % scalapb.compiler.Version.scalapbVersion % "protobuf",
"io.grpc" % "grpc-netty-shaded" % scalapb.compiler.Version.grpcJavaVersion
)
// Scraping and Parsing
libraryDependencies ++= Seq(
"net.ruippeixotog" %% "scala-scraper" % scalaScraperVersion,
"com.scalawilliam" %% "xs4s-core" % xs4sVersion,
"io.circe" %% "circe-core" % circeVersion,
"io.circe" %% "circe-generic" % circeVersion
)
// Telegram
libraryDependencies += "org.augustjune" %% "canoe" % canoeVersion
// Logging
libraryDependencies += "ch.qos.logback" % "logback-classic" % logbackVersion
// Elastic
libraryDependencies ++= Seq(
"com.sksamuel.elastic4s" %% "elastic4s-client-esjava" % elastic4sVersion,
"com.sksamuel.elastic4s" %% "elastic4s-testkit" % elastic4sVersion % "test"
)
// Redis
libraryDependencies ++= Seq(
"net.debasishg" %% "redisclient" % redisVersion
)