-
Notifications
You must be signed in to change notification settings - Fork 26
/
build.sbt
104 lines (95 loc) · 3.27 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
import sbt.Project.projectToLocalProject
val mainScala = "2.13.7"
val allScala = Seq("2.12.15", mainScala)
val zioVersion = "2.0.0"
val akkaVersion = "2.6.19"
inThisBuild(
List(
organization := "dev.zio",
homepage := Some(url("https://zio.dev/zio-akka-cluster")),
licenses := List("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")),
scalaVersion := mainScala,
Test / parallelExecution := false,
Test / fork := true,
pgpPublicRing := file("/tmp/public.asc"),
pgpSecretRing := file("/tmp/secret.asc"),
scmInfo := Some(
ScmInfo(url("https://github.com/zio/zio-akka-cluster/"), "scm:git:[email protected]:zio/zio-akka-cluster.git")
),
developers := List(
Developer(
"ghostdogpr",
"Pierre Ricadat",
url("https://github.com/ghostdogpr")
)
),
scalacOptions ++= Seq(
"-deprecation",
"-encoding",
"UTF-8",
"-explaintypes",
"-Yrangepos",
"-feature",
"-language:higherKinds",
"-language:existentials",
"-unchecked",
"-Xlint:_,-type-parameter-shadow",
"-Ywarn-numeric-widen",
"-Ywarn-unused",
"-Ywarn-value-discard"
) ++ (CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, 12)) =>
Seq(
"-Xsource:2.13",
"-Yno-adapted-args",
"-Ypartial-unification",
"-Ywarn-extra-implicit",
"-Ywarn-inaccessible",
"-Ywarn-infer-any",
"-Ywarn-nullary-override",
"-Ywarn-nullary-unit",
"-opt-inline-from:<source>",
"-opt-warnings",
"-opt:l:inline",
"-Xfuture"
)
case _ => Nil
})
)
)
lazy val root =
project.in(file(".")).aggregate(`zio-akka-cluster`, docs)
lazy val `zio-akka-cluster` = project
.in(file("zio-akka-cluster"))
.settings(
name := "zio-akka-cluster",
libraryDependencies ++= Seq(
"dev.zio" %% "zio" % zioVersion,
"dev.zio" %% "zio-streams" % zioVersion,
"com.typesafe.akka" %% "akka-cluster-tools" % akkaVersion,
"com.typesafe.akka" %% "akka-cluster-sharding" % akkaVersion,
"dev.zio" %% "zio-test" % zioVersion % "test",
"dev.zio" %% "zio-test-sbt" % zioVersion % "test",
compilerPlugin("org.typelevel" %% "kind-projector" % "0.13.2" cross CrossVersion.full),
compilerPlugin("com.olegpy" %% "better-monadic-for" % "0.3.1")
),
testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework")
)
run / fork := true
crossScalaVersions := allScala
addCommandAlias("fmt", "all scalafmtSbt scalafmt test:scalafmt")
addCommandAlias("check", "all scalafmtSbtCheck scalafmtCheck test:scalafmtCheck")
lazy val docs = project
.in(file("zio-akka-cluster-docs"))
.settings(
publish / skip := true,
moduleName := "zio-akka-cluster-docs",
projectName := "ZIO Akka Cluster",
mainModuleName := (`zio-akka-cluster` / moduleName).value,
projectStage := ProjectStage.ProductionReady,
ScalaUnidoc / unidoc / unidocProjectFilter := inProjects(`zio-akka-cluster`),
docsPublishBranch := "series/2.x"
)
.enablePlugins(WebsitePlugin)
.dependsOn(`zio-akka-cluster`)