-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
78 lines (73 loc) · 2.36 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
val Version = new {
val Cats = "2.12.0"
val Circe = "0.14.10"
val Ciris = "3.7.0"
val Munit = "1.0.3"
val Scala = "3.3.4"
}
inThisBuild(
Def.settings(
developers := List(Developer("taig", "Niklas Klein", "[email protected]", url("https://taig.io/"))),
dynverVTagPrefix := false,
homepage := Some(url("https://github.com/taig/enumeration-ext/")),
licenses := List("MIT" -> url("https://raw.githubusercontent.com/taig/enumeration-ext/main/LICENSE")),
organization := "io.taig",
organizationHomepage := Some(url("https://taig.io/")),
versionScheme := Some("early-semver"),
scalaVersion := Version.Scala
)
)
lazy val root = crossProject(JVMPlatform)
.in(file("."))
.enablePlugins(BlowoutYamlPlugin)
.settings(noPublishSettings)
.settings(
blowoutGenerators ++= {
val workflows = file(".github") / "workflows"
BlowoutYamlGenerator.lzy(workflows / "main.yml", GitHubActionsGenerator.main) ::
BlowoutYamlGenerator.lzy(workflows / "pull-request.yml", GitHubActionsGenerator.pullRequest) ::
BlowoutYamlGenerator.lzy(workflows / "taig.yml", GitHubActionsGenerator.tag) ::
Nil
},
name := "enumeration-ext"
)
.aggregate(core, circe, ciris)
lazy val core = crossProject(JVMPlatform, JSPlatform)
.crossType(CrossType.Pure)
.withoutSuffixFor(JVMPlatform)
.in(file("modules/core"))
.settings(
Compile / scalacOptions ++=
"-source:future" ::
"-rewrite" ::
"-new-syntax" ::
"-Wunused:all" ::
Nil,
libraryDependencies ++=
"org.typelevel" %%% "cats-core" % Version.Cats ::
"org.scalameta" %%% "munit" % Version.Munit % "test" ::
Nil,
name := "enumeration-ext-core"
)
lazy val circe = crossProject(JVMPlatform, JSPlatform)
.crossType(CrossType.Pure)
.withoutSuffixFor(JVMPlatform)
.in(file("modules/circe"))
.settings(
libraryDependencies ++=
"io.circe" %%% "circe-core" % Version.Circe ::
Nil,
name := "enumeration-ext-circe"
)
.dependsOn(core % "compile->compile;test->test")
lazy val ciris = crossProject(JVMPlatform, JSPlatform)
.crossType(CrossType.Pure)
.withoutSuffixFor(JVMPlatform)
.in(file("modules/ciris"))
.settings(
libraryDependencies ++=
"is.cir" %% "ciris" % Version.Ciris ::
Nil,
name := "enumeration-ext-ciris"
)
.dependsOn(core % "compile->compile;test->test")