-
Notifications
You must be signed in to change notification settings - Fork 17
/
build.sbt
123 lines (121 loc) · 3.52 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
import LibraryDependencies._
val MUnitFramework = new TestFramework("munit.Framework")
lazy val kinesisMock = project
.in(file("."))
.enablePlugins(DockerImagePlugin, DockerComposePlugin)
.settings(
name := "kinesis-mock",
organization := "io.github.etspaceman",
description := "A Mock API for AWS Kinesis",
scalaVersion := "2.13.7",
libraryDependencies ++= Seq(
Aws.utils,
Borer.circe,
Borer.core,
Cats.core,
Cats.effect,
CatsRetry,
Circe.core,
Circe.derivation,
Circe.parser,
Circe.jackson,
PureConfig.core,
PureConfig.enumeratum,
Enumeratum.cats,
Enumeratum.core,
Enumeratum.circe,
Http4s.emberServer,
Http4s.circe,
Http4s.dsl,
JaxbApi,
Logback,
Log4Cats.slf4j,
GraalSvm % "compile-internal",
OsLib,
PureConfig.catsEffect,
PureConfig.core,
PureConfig.enumeratum,
UUIDCreator,
Enumeratum.scalacheck % Test,
Munit.core % Test,
Munit.catsEffect2 % Test,
Munit.scalacheck % Test,
Munit.scalacheckEffect % Test,
Refined.scalacheck % Test,
ScalacheckGenRegexp % Test,
Aws.kinesis % FunctionalTest,
Aws.kpl % FunctionalTest,
Aws.kcl % FunctionalTest
),
semanticdbEnabled := true,
semanticdbVersion := scalafixSemanticdb.revision,
ThisBuild / scalafixDependencies += OrganizeImports,
javacOptions += "-XDignore.symbol.file",
scalacOptions ++= ScalacSettings.settings,
Compile / console / scalacOptions ~= {
_.filterNot(Set("-Ywarn-unused-import", "-Ywarn-unused:imports"))
},
addCompilerPlugin(KindProjector cross CrossVersion.full),
addCompilerPlugin(BetterMonadicFor),
testFrameworks += MUnitFramework,
Test / testOptions ++= {
List(Tests.Argument(MUnitFramework, "+l"))
},
assembly / test := {},
assembly / assemblyMergeStrategy := {
case PathList("module-info.class", _ @_*) => MergeStrategy.discard
case x => MergeStrategy.defaultMergeStrategy(x)
},
coverageExcludedPackages := "org\\.typelevel\\.log4cats.*"
)
.configs(FunctionalTest)
.settings(
inConfig(FunctionalTest)(
ScalafmtPlugin.scalafmtConfigSettings ++
scalafixConfigSettings(FunctionalTest) ++
BloopSettings.default ++
DockerImagePlugin.settings ++
DockerComposePlugin.settings(FunctionalTest) ++
Defaults.testSettings ++
Seq(parallelExecution := false)
)
)
.settings(DockerImagePlugin.settings)
.settings(DockerComposePlugin.settings(FunctionalTest))
.settings(
Seq(
addCommandAlias("cpl", ";Test / compile;Fun / compile"),
addCommandAlias(
"fixCheck",
";Compile / scalafix --check;Test / scalafix --check;Fun / scalafix --check"
),
addCommandAlias(
"fix",
";Compile / scalafix;Test / scalafix;Fun / scalafix"
),
addCommandAlias(
"fmt",
";Compile / scalafmt;Test / scalafmt;Fun / scalafmt;scalafmtSbt"
),
addCommandAlias(
"fmtCheck",
";Compile / scalafmtCheck;Test / scalafmtCheck;Fun / scalafmtCheck;scalafmtSbtCheck"
),
addCommandAlias(
"pretty",
";fix;fmt"
),
addCommandAlias(
"prettyCheck",
";fixCheck;fmtCheck"
),
addCommandAlias(
"cov",
";clean;coverage;test;coverageReport;coverageOff"
),
addCommandAlias(
"validate",
";cov;Fun / dockerComposeTestQuick;prettyCheck"
)
).flatten
)