-
Notifications
You must be signed in to change notification settings - Fork 64
/
build.sbt
95 lines (86 loc) · 3.04 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
import zio.sbt.githubactions.Job
import zio.sbt.githubactions.Step.SingleStep
enablePlugins(ZioSbtEcosystemPlugin, ZioSbtCiPlugin)
inThisBuild(
List(
name := "ZIO Redis",
ciEnabledBranches := List("master"),
developers := List(
Developer("jdegoes", "John De Goes", "john@degoes.net", url("https://degoes.net")),
Developer("mijicd", "Dejan Mijic", "dmijic@acm.org", url("https://github.com/mijicd"))
),
scala213 := "2.13.15",
startYear := Some(2021)
)
)
lazy val root =
project
.in(file("."))
.settings(
name := "zio-redis",
crossScalaVersions := Nil,
publish / skip := true
)
.aggregate(benchmarks, client, docs, embedded, example, integrationTest)
lazy val benchmarks =
project
.in(file("modules/benchmarks"))
.enablePlugins(JmhPlugin)
.dependsOn(client)
.settings(stdSettings(name = Some("benchmarks"), packageName = Some("zio.redis.benchmarks")))
.settings(
crossScalaVersions -= scala3.value,
libraryDependencies ++= Dependencies.Benchmarks,
publish / skip := true
)
lazy val client =
project
.in(file("modules/redis"))
.settings(addOptionsOn("2.13")("-Xlint:-infer-any"))
.settings(stdSettings(name = Some("zio-redis"), packageName = Some("zio.redis")))
.settings(enableZIO(enableStreaming = true))
.settings(libraryDependencies ++= Dependencies.redis(zioVersion.value))
lazy val docs = project
.in(file("zio-redis-docs"))
.settings(
libraryDependencies ++= Dependencies.docs(zioVersion.value),
scalacOptions --= List("-Yno-imports", "-Xfatal-warnings"),
publish / skip := true
)
.settings(
moduleName := "zio-redis-docs",
projectName := (ThisBuild / name).value,
mainModuleName := (client / moduleName).value,
projectStage := ProjectStage.Development,
ScalaUnidoc / unidoc / unidocProjectFilter := inProjects(client)
)
.dependsOn(client, embedded)
.enablePlugins(WebsitePlugin)
lazy val embedded =
project
.in(file("modules/embedded"))
.settings(stdSettings(name = Some("zio-redis-embedded"), packageName = Some("zio.redis.embedded")))
.settings(enableZIO())
.settings(libraryDependencies ++= Dependencies.Embedded)
.dependsOn(client)
lazy val example =
project
.in(file("modules/example"))
.dependsOn(client)
.settings(stdSettings(name = Some("example"), packageName = Some("zio.redis.example")))
.settings(enableZIO(enableStreaming = true))
.settings(
publish / skip := true,
libraryDependencies ++= Dependencies.Example
)
lazy val integrationTest =
project
.in(file("modules/redis-it"))
.settings(stdSettings(name = Some("zio-redis-it")))
.settings(enableZIO(enableStreaming = true))
.settings(
libraryDependencies ++= Dependencies.redis(zioVersion.value),
publish / skip := true,
Test / fork := false
)
.dependsOn(client)