-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.sbt
107 lines (97 loc) · 2.87 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
val RootSettings =
Seq(
name := Option(System.getProperty("name")).getOrElse("commons"),
publish := {},
publishLocal := {},
)
val CommonsSettings =
Seq(
version := Option(System.getProperty("version")).getOrElse("0.1-SNAPSHOT"),
organization := "org.byrde",
scalaVersion := "2.13.6",
scalaModuleInfo ~=
(_.map(_.withOverrideScalaVersion(true))),
resolvers ++=
Seq(
Resolver.sonatypeRepo("releases"),
Resolver.bintrayRepo("hseeberger", "maven"),
Resolver.jcenterRepo,
),
javacOptions ++=
Seq(
"-source",
"1.8",
"-target",
"1.8",
"-Xlint:unchecked",
"-encoding",
"UTF-8",
),
scalacOptions ++=
Seq(
"-unchecked",
"-deprecation",
"-Xlint",
"-Ywarn-dead-code",
"-language:_",
"-target:jvm-1.8",
"-encoding",
"UTF-8",
"-Wconf:cat=lint-byname-implicit:silent",
"-Ymacro-annotations",
"-Xfatal-warnings",
),
packageOptions +=
Package.ManifestAttributes(
"Created-By" -> "Martin Allaire",
"Built-By" -> System.getProperty("user.name"),
"Build-Jdk" -> System.getProperty("java.version"),
"Specification-Title" -> name.value,
"Specification-Version" -> version.value,
"Specification-Vendor" -> organization.value,
"Implementation-Title" -> name.value,
"Implementation-Version" -> version.value,
"Implementation-Vendor-Id" -> organization.value,
"Implementation-Vendor" -> organization.value,
),
credentials += Credentials(Path.userHome / ".sbt" / ".credentials"),
pomIncludeRepository := (_ => false),
startYear := Some(2018),
licenses := Seq(("Apache 2", new URL("http://www.apache.org/licenses/LICENSE-2.0.txt"))),
publishTo := Some("GitHubPackages" at "https://maven.pkg.github.com/Byrde/commons"),
publishMavenStyle := true,
developers +=
Developer(
"mallaire77",
"Martin Allaire",
new URL("http://linkedin.com/allama"),
),
)
val slick = project.settings(CommonsSettings)
val logging = project.settings(CommonsSettings)
val `scala-logging` = project.dependsOn(logging).settings(CommonsSettings)
val commons = project.settings(CommonsSettings)
val pubsub =
project
.dependsOn(
logging,
commons,
)
.settings(CommonsSettings)
val smtp = project.dependsOn(commons).settings(CommonsSettings)
val `redis-client` = project.dependsOn(commons).settings(CommonsSettings)
val `jedis-client` = project.dependsOn(`redis-client`).settings(CommonsSettings)
val root =
Project("root", file("."))
.settings(RootSettings)
.aggregate(
pubsub,
smtp,
logging,
`scala-logging`,
`redis-client`,
`jedis-client`,
slick,
commons,
)