-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
128 lines (119 loc) · 4.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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
// *****************************************************************************
// Projects
// *****************************************************************************
lazy val `kartoffel-core` =
project
.in(file("./kartoffel-core"))
.enablePlugins(AutomateHeaderPlugin)
.settings(commonSettings)
.settings(
libraryDependencies ++= Seq(
library.scalaCheck % Test,
library.scalaTest % Test
)
)
lazy val `kartoffel-caffeine` =
project
.in(file("./kartoffel-caffeine"))
.enablePlugins(AutomateHeaderPlugin)
.dependsOn(`kartoffel-core`, `kartoffel-cats`, `kartoffel-zio`)
.settings(commonSettings)
.settings(
libraryDependencies ++= Seq(
library.caffeine,
library.zio % Test,
library.scalaCheck % Test,
library.scalaTest % Test
)
)
lazy val `kartoffel-redis` =
project
.in(file("./kartoffel-redis"))
.enablePlugins(AutomateHeaderPlugin)
.dependsOn(`kartoffel-core`, `kartoffel-cats`, `kartoffel-zio`)
.settings(commonSettings)
.settings(
libraryDependencies ++= Seq(
library.lettuce,
library.circeCore % Test,
library.circeGeneric % Test,
library.circeParser % Test,
library.scalaCheck % Test,
library.scalaTest % Test,
library.testContainer % Test,
library.zio % Test
)
)
lazy val `kartoffel-cats` =
project
.in(file("./kartoffel-cats"))
.enablePlugins(AutomateHeaderPlugin)
.dependsOn(`kartoffel-core`)
.settings(commonSettings)
.settings(
libraryDependencies ++= Seq(
library.catsEffect,
library.scalaCheck % Test,
library.scalaTest % Test
)
)
lazy val `kartoffel-zio` =
project
.in(file("./kartoffel-zio"))
.enablePlugins(AutomateHeaderPlugin)
.dependsOn(`kartoffel-core`)
.settings(commonSettings)
.settings(
libraryDependencies ++= Seq(
library.zio,
library.scalaCheck % Test,
library.scalaTest % Test
)
)
// *****************************************************************************
// Library dependencies
// *****************************************************************************
lazy val library =
new {
object Version {
val caffeine = "2.5.5"
val cats = "2.1.1"
val circe = "0.12.3"
val lettuce = "6.0.1.RELEASE"
val scalaCheck = "1.14.3"
val scalaTest = "3.2.2"
val testContainer = "0.38.8"
val zio = "1.0.3"
}
val caffeine = "com.github.ben-manes.caffeine" % "caffeine" % Version.caffeine
val catsEffect = "org.typelevel" %% "cats-effect" % Version.cats
val circeCore = "io.circe" %% "circe-core" % Version.circe
val circeGeneric = "io.circe" %% "circe-generic" % Version.circe
val circeParser = "io.circe" %% "circe-parser" % Version.circe
val lettuce = "io.lettuce" % "lettuce-core" % Version.lettuce
val scalaCheck = "org.scalacheck" %% "scalacheck" % Version.scalaCheck
val scalaTest = "org.scalatest" %% "scalatest" % Version.scalaTest
val testContainer = "com.dimafeng" %% "testcontainers-scala-scalatest" % Version.testContainer
val zio = "dev.zio" %% "zio" % Version.zio
}
// *****************************************************************************
// Settings
// *****************************************************************************
lazy val commonSettings =
Seq(
scalaVersion := "2.13.4",
organization := "codeeng",
organizationName := "codeeng",
startYear := Some(2021),
licenses += ("MIT", url("https://opensource.org/licenses/MIT")),
scalacOptions ++= Seq(
"-unchecked",
"-deprecation",
"-language:_",
"-target:jvm-11",
"-encoding",
"UTF-8",
"-Ywarn-unused:imports"
),
scalafmtOnCompile := true
)