-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuild.sbt
105 lines (97 loc) · 3.3 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
import Dependencies._
import Settings._
import net.scalytica.sbt.plugin.{
DockerTasksPlugin,
ExtLibTaskPlugin,
PrometheusConfigPlugin
}
import sbtrelease.ReleaseStateTransformations._
import scala.language.postfixOps
// scalastyle:off
name := "kafka-websocket-proxy"
releaseProcess := Seq[ReleaseStep](
checkSnapshotDependencies, // : ReleaseStep
inquireVersions, // : ReleaseStep
runClean, // : ReleaseStep
runTest, // : ReleaseStep
setReleaseVersion, // : ReleaseStep
commitReleaseVersion, // : ReleaseStep, performs the initial git checks
tagRelease, // : ReleaseStep
setNextVersion, // : ReleaseStep
commitNextVersion // : ReleaseStep
// NOTE: For release during CI/CD we want to push manually.
// pushChanges // : ReleaseStep, also checks that an upstream branch is properly configured
)
Global / excludeLintKeys ++= Set(
releaseProcess,
packageDoc / publishArtifact,
server / externalJars,
server / dockerRepository
)
lazy val root = (project in file("."))
.enablePlugins(DockerTasksPlugin)
.settings(BaseSettings: _*)
.settings(NoPublish)
.aggregate(server)
lazy val server = (project in file("server"))
.enablePlugins(
ExtLibTaskPlugin,
JavaServerAppPackaging,
DockerPlugin,
PrometheusConfigPlugin
)
.settings(externalJars := Dependencies.Monitoring.All)
.settings(NoPublish)
.settings(BaseSettings: _*)
.settings(dockerSettings(8078))
.settings(scalastyleFailOnWarning := true)
.settings(
coverageExcludedPackages :=
"<empty>" +
""";net\.scalytica\.kafka\.wsproxy\.*ServerBindings""" +
""";net\.scalytica\.kafka\.wsproxy\.*Server""" +
""";net\.scalytica\.kafka\.wsproxy\.Configuration\..*Cfg""" +
""";net\.scalytica\.kafka\.wsproxy\.*LoggerExtensions""" +
""";net\.scalytica\.kafka\.wsproxy\.errors\..*""" +
""";net\.scalytica\.kafka\.wsproxy\.auth\..*OpenIdConnectConfig.*"""
)
.settings(libraryDependencies ++= Config.All)
.settings(libraryDependencies ++= Circe.All)
.settings(libraryDependencies ++= Logging.All)
.settings(libraryDependencies ++= OAuth.All)
.settings(
libraryDependencies ++= Seq(
Pekko.Actor,
Pekko.ActorTyped,
Pekko.Slf4j,
Pekko.Stream,
Pekko.StreamTyped,
Pekko.Http,
Pekko.Kafka,
Avro.Avro4sKafka,
Kafka.Clients,
ConfluentKafka.AvroSerializer,
ConfluentKafka.MonitoringInterceptors,
Logging.Log4jOverSlf4j % Test,
Logging.JulToSlf4j % Test,
Testing.ScalaTest % Test,
Testing.EmbeddedKafka % Test,
Testing.PekkoTestKit % Test,
Testing.PekkoTypedTestKit % Test,
Testing.PekkoHttpTestKit % Test,
Testing.PekkoStreamTestKit % Test,
Testing.PekkoStreamKafkaTestKit % Test,
Testing.Scalactic % Test
)
)
.settings(dependencyOverrides ++= Overrides.Deps: _*)
lazy val docs = (project in file("kafka-websocket-proxy-docs"))
.enablePlugins(MdocPlugin, DocusaurusPlugin)
.settings(
organization := "net.scalytica",
scalaVersion := Versions.ScalaVersion,
moduleName := "kafka-websocket-proxy-docs",
mdocVariables := Map(
"VERSION" -> version.value
)
)