-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.sbt
96 lines (89 loc) · 3.47 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
inThisBuild {
val scala212 = "2.12.18"
val scala213 = "2.13.11"
Seq(
scalaVersion := scala213,
crossScalaVersions := Seq(scala212, scala213),
versionScheme := Some("early-semver"),
githubWorkflowJavaVersions := List(JavaSpec.temurin("11")),
githubWorkflowTargetTags ++= Seq("v*"),
githubWorkflowPublishTargetBranches := Seq(
RefPredicate.StartsWith(Ref.Tag("v")),
RefPredicate.Equals(Ref.Branch("main"))
),
githubWorkflowPublish := Seq(
WorkflowStep.Sbt(
commands = List("ci-release"),
name = Some("Publish project"),
env = Map(
"PGP_PASSPHRASE" -> "${{ secrets.PGP_PASSPHRASE }}",
"PGP_SECRET" -> "${{ secrets.PGP_SECRET }}",
"SONATYPE_PASSWORD" -> "${{ secrets.SONATYPE_PASSWORD }}",
"SONATYPE_USERNAME" -> "${{ secrets.SONATYPE_USERNAME }}"
)
)
),
developers := List(
Developer("calvinlfer", "Calvin Fernandes", "[email protected]", url("https://www.kaizen-solutions.io")),
Developer("anakos", "Alex Nakos", "[email protected]", url("https://github.com"))
),
licenses := List("MIT" -> url("https://opensource.org/licenses/MIT")),
organization := "io.kaizen-solutions",
organizationName := "kaizen-solutions",
homepage := Some(url("https://www.kaizen-solutions.io")),
sonatypeCredentialHost := "s01.oss.sonatype.org",
sonatypeProfileName := "io.kaizen-solutions",
sonatypeRepository := "https://s01.oss.sonatype.org/service/local",
sonatypeCredentialHost := "s01.oss.sonatype.org"
)
}
ThisBuild / scalacOptions ++= {
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, minor @ (12 | 13))) =>
val base = Seq(
"-deprecation",
"-encoding",
"UTF-8",
"-feature",
"-language:implicitConversions",
"-unchecked",
"-language:higherKinds",
"-Xlint",
"-Ywarn-dead-code",
"-Ywarn-numeric-widen",
"-Ywarn-value-discard",
"-Ywarn-unused",
"-Xsource:3"
)
if (minor == 12) "-Ypartial-unification" +: base
else base
case Some((3, _)) =>
Seq.empty
case Some(_) | None =>
Seq.empty
}
}
resolvers ++= Seq("confluent".at("https://packages.confluent.io/maven/"))
lazy val root =
project
.in(file("."))
.settings(
name := "fs2-kafka-jsonschema-support",
libraryDependencies ++= {
val circe = "io.circe"
val fd4s = "com.github.fd4s"
val fs2KafkaV = "3.0.1"
Seq(
fd4s %% "fs2-kafka" % fs2KafkaV,
fd4s %% "fs2-kafka-vulcan" % fs2KafkaV,
"com.github.andyglow" %% "scala-jsonschema" % "0.7.9",
circe %% "circe-jackson212" % "0.14.0",
circe %% "circe-generic" % "0.14.5",
"org.scala-lang.modules" %% "scala-collection-compat" % "2.11.0",
"org.typelevel" %% "munit-cats-effect" % "2.0.0-M3" % Test,
"com.dimafeng" %% "testcontainers-scala-munit" % "0.40.17" % Test,
"ch.qos.logback" % "logback-classic" % "1.4.7" % Test,
"io.confluent" % "kafka-json-schema-serializer" % "7.4.0"
)
}
)