-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathbuild.sbt
124 lines (117 loc) · 4.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
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
/*
* Copyright (c) 2023 Snowplow Analytics Ltd. All rights reserved.
*
* This program is licensed to you under the Apache License Version 2.0,
* and you may not use this file except in compliance with the Apache License Version 2.0.
* You may obtain a copy of the Apache License Version 2.0 at
* http://www.apache.org/licenses/LICENSE-2.0.
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the Apache License Version 2.0 is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the Apache License Version 2.0 for the specific language governing permissions and
* limitations there under.
*/
import BuildSettings._
lazy val root = project.in(file(".")).settings(commonProjectSettings).aggregate(core, beam, flink, spark)
lazy val core = project
.settings(coreBuildSettings)
.configs(IntegrationTest)
.settings(Defaults.itSettings)
.settings(
libraryDependencies ++= (Seq(
Dependencies.thriftSchema.excludeAll(ExclusionRule(organization = "commons-logging")),
Dependencies
.badRows
.excludeAll(ExclusionRule(organization = "com.snowplowanalytics", name = "iglu-scala-client-data_2.12")),
Dependencies.igluClient,
Dependencies.atto,
Dependencies.catsCore,
Dependencies.catsEffect,
Dependencies.monocle,
Dependencies.scalaCheck,
Dependencies.scalaCheckShapeless,
Dependencies.scalaCheckToolbox,
Dependencies.scalaCheckSchema,
Dependencies.scalaCommonEnrich,
Dependencies.slf4jLog4j
) ++ Dependencies.circe
++ Dependencies.scalatest
++ SecurityOverrides.dependencies.map(_.excludeAll(ExclusionRule(organization = "commons-logging"))))
)
.enablePlugins(BuildInfoPlugin)
lazy val cli = project
.dependsOn(core % "compile->compile;test->test")
.enablePlugins(JavaAppPackaging)
.settings(dynVerSettings)
.settings(cliBuildSettings)
.settings(
libraryDependencies ++= Dependencies.cliDeps,
excludeDependencies ++= Seq(
ExclusionRule("com.snowplowanalytics", "iglu-scala-client-data_2.12")
)
)
lazy val beam = project
.dependsOn(core % "compile->compile;test->test")
.enablePlugins(JavaAppPackaging)
.settings(dynVerSettings)
.settings(beamBuildSettings)
.settings(
libraryDependencies ++= Seq(
Dependencies.scio,
Dependencies.scioGCP,
Dependencies.beam,
Dependencies.scioTest,
Dependencies.slf4jSimple
) ++ SecurityOverrides.dependencies.map(_.excludeAll(ExclusionRule(organization = "commons-logging")))
)
lazy val flink = project
.dependsOn(core % "compile->compile;test->test")
.settings(flinkBuildSettings)
.configs(IntegrationTest)
.settings(Defaults.itSettings)
.settings(
libraryDependencies ++= Seq(
Dependencies.mockito
) ++ Dependencies.decline
++ Dependencies
.flink
.map(
_.excludeAll(
ExclusionRule(organization = "commons-logging", name = "commons-logging"),
ExclusionRule(organization = "org.springframework", name = "spring-jcl"),
)
) ++ Dependencies.circe
++ Dependencies.testContainers
++ Dependencies.scalatestIT
:+ Dependencies.catsRetry
:+ Dependencies.kinesis.excludeAll(
ExclusionRule(organization = "commons-logging", name = "commons-logging"),
ExclusionRule(organization = "org.springframework", name = "spring-jcl"),
)
:+ Dependencies.cloudwatch.excludeAll(
ExclusionRule(organization = "commons-logging", name = "commons-logging"),
ExclusionRule(organization = "org.springframework", name = "spring-jcl"),
),
dependencyOverrides += Dependencies.jackson
)
lazy val spark =
project
.dependsOn(core % "compile->compile;test->test")
.configs(IntegrationTest)
.settings(Defaults.itSettings)
.settings(sparkBuildSettings)
.settings(
libraryDependencies ++= Seq(
Dependencies.awsKinesisSpark,
Dependencies.elephantBird,
Dependencies.hadoopLzo,
Dependencies.cloudwatch
).map(_.excludeAll(ExclusionRule(organization = "commons-logging")))
++ Dependencies.spark
++ Dependencies.decline
++ Dependencies.testContainers
++ Dependencies.scalatestIT
:+ Dependencies.catsRetry,
dependencyOverrides += Dependencies.jackson
)