This repository has been archived by the owner on Sep 16, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.sbt
93 lines (79 loc) · 2.53 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
val scalaV = "3.0.0-RC1"
val catsEffectV = "3.0.2"
val flywayV = "7.8.2"
// Test
val specs2V = "4.12.0"
val testContainersScalaV = "0.39.4" // https://github.com/testcontainers/testcontainers-scala/releases
val testContainersPostgresV = "1.15.3" // https://github.com/testcontainers/testcontainers-java/releases
val postgresV = "42.2.20"
lazy val `flutterby` =
(project in file("."))
.aggregate(`flutterby-core`, `flutterby-cats`)
.settings(noPublishSettings)
.settings(commonSettings, releaseSettings)
lazy val `flutterby-core` = project
.in(file("modules/core"))
.settings(name := "flutterby-core")
.settings(commonSettings, releaseSettings)
lazy val `flutterby-cats` = project
.in(file("modules/cats"))
.dependsOn(`flutterby-core`)
.settings(name := "flutterby-cats")
.settings(commonSettings, releaseSettings)
.settings(
libraryDependencies ++= Seq(
"org.typelevel" %% "cats-effect" % catsEffectV,
"com.dimafeng" %% "testcontainers-scala" % testContainersScalaV % Test,
"org.testcontainers" % "postgresql" % testContainersPostgresV % Test,
"org.postgresql" % "postgresql" % postgresV % Test
)
)
lazy val commonSettings = Seq(
organization := "dev.shawngarner",
scalaVersion := scalaV ,
// scalacOptions ++= Seq(
// "-rewrite",
// "-new-syntax",
// "-source:3.0-migration"
// ),
libraryDependencies ++= Seq(
"org.flywaydb" % "flyway-core" % flywayV,
("org.specs2" %% "specs2-core" % specs2V % Test).cross(CrossVersion.for3Use2_13),
("org.specs2" %% "specs2-scalacheck" % specs2V % Test).cross(CrossVersion.for3Use2_13)
)
)
lazy val contributors = Seq(
"BusyByte" -> "Shawn Garner"
)
lazy val releaseSettings = Seq(
Test / publishArtifact := false,
scmInfo := Some(
ScmInfo(
url("https://github.com/BusyByte/flutterby"),
"[email protected]:BusyByte/flutterby.git"
)
),
homepage := Some(url("https://github.com/BusyByte/flutterby")),
licenses := Seq("Apache-2.0" -> url("https://www.apache.org/licenses/LICENSE-2.0.html")),
pomIncludeRepository := { _ =>
false
},
pomExtra := {
<developers>
{
for ((username, name) <- contributors)
yield <developer>
<id>{username}</id>
<name>{name}</name>
<url>http://github.com/{username}</url>
</developer>
}
</developers>
}
)
lazy val noPublishSettings =
Seq(
publish := {},
publishLocal := {},
publishArtifact := false
)