-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.sbt
96 lines (88 loc) · 2.73 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
//Core deps
val catsV = "2.6.1"
val catsEffectV = "3.2.8"
val refinedV = "0.9.27"
//Test/build deps
val munitV = "0.7.29"
val munitCatsEffectV = "1.0.5"
val scalaCheckV = "1.15.4"
val scalaCheckEffectV = "1.0.2"
val betterMonadicForV = "0.3.1"
val kindProjectorV = "0.13.0"
val catsCore = "org.typelevel" %% "cats-core" % catsV
val refinedCore = "eu.timepit" %% "refined" % refinedV
val munitCatsEffect = "org.typelevel" %% "munit-cats-effect-3" % munitCatsEffectV % "test"
val munitScalacheck = "org.scalameta" %% "munit-scalacheck" % munitV
val scalaCheck = "org.scalacheck" %% "scalacheck" % scalaCheckV % "test"
val scalaCheckEffect = "org.typelevel" %% "scalacheck-effect-munit" % scalaCheckEffectV % "test"
val scala213 = "2.13.4"
val scala212 = "2.12.12"
val scala3 = "3.0.2"
inThisBuild(
List(
developers := List(
Developer("sloshy", "Ryan Peters", "me@rpeters.dev", url("https://github.com/sloshy"))
),
homepage := Some(url("https://github.com/rewards-network/combos")),
licenses := List("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")),
githubWorkflowJavaVersions := Seq("adopt@1.8"),
githubWorkflowTargetTags ++= Seq("v*"),
githubWorkflowPublishTargetBranches := Seq(RefPredicate.StartsWith(Ref.Tag("v"))),
githubWorkflowPublish := Seq(
WorkflowStep.Sbt(
List("ci-release"),
env = Map(
"PGP_PASSPHRASE" -> "${{ secrets.PGP_PASSPHRASE }}",
"PGP_SECRET" -> "${{ secrets.PGP_SECRET }}",
"SONATYPE_PASSWORD" -> "${{ secrets.SONATYPE_PASSWORD }}",
"SONATYPE_USERNAME" -> "${{ secrets.SONATYPE_USERNAME }}"
)
)
)
)
)
val commonSettings = Seq(
scalaVersion := scala213,
crossScalaVersions := Seq(scala212, scala213, scala3),
organization := "com.rewardsnetwork",
name := "combos",
libraryDependencies ++= {
if (scalaVersion.value.startsWith("2")) {
Seq(
compilerPlugin("com.olegpy" %% "better-monadic-for" % betterMonadicForV),
compilerPlugin("org.typelevel" %% "kind-projector" % kindProjectorV cross CrossVersion.full)
)
} else {
Seq.empty
}
}
)
lazy val root = (project in file("."))
.aggregate(core, refined)
.settings(
commonSettings,
publish / skip := true
)
lazy val core = (project in file("core"))
.settings(
commonSettings,
name := "combos",
libraryDependencies ++= Seq(
//Core deps
catsCore,
//Test deps
munitCatsEffect,
munitScalacheck,
scalaCheck,
scalaCheckEffect
)
)
lazy val refined = (project in file("refined"))
.settings(
commonSettings,
name := "combos-refined",
libraryDependencies ++= Seq(
refinedCore
)
)
.dependsOn(core % "compile->compile;test->test")