forked from Nike-Inc/moirai
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
116 lines (109 loc) · 3.07 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
108
109
110
111
112
113
114
115
116
import sbt.Keys.javacOptions
import Dependencies._
lazy val commonSettings = Seq(
organization := "com.nike.moirai",
organizationName := "Nike",
organizationHomepage := Some(url("http://engineering.nike.com")),
scalaVersion := "2.12.3",
javacOptions ++= Seq("-source", "1.8"),
crossPaths := false,
autoScalaLibrary := false,
bintrayOrganization := Some("nike"),
bintrayReleaseOnPublish := false,
publishMavenStyle := true,
licenses += "Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt"),
homepage := Some(url("https://github.com/Nike-Inc/moirai")),
startYear := Some(2017),
description := "A feature-flag and resource-reloading library for the JVM",
scmInfo := Some(
ScmInfo(
url("https://github.com/Nike-Inc/moirai"),
"scm:git@github.com:Nike-Inc/moirai.git"
)
),
developers := List(
Developer(
id = "jrduncans",
name = "Stephen Duncan Jr",
email = "jrduncans@stephenduncanjr.com",
url = url("https://github.com/jrduncans")
)
)
)
lazy val moirai = (project in file("."))
.settings(commonSettings)
.settings(
skip in publish := true,
// Replace tasks to work around https://github.com/sbt/sbt-bintray/issues/93
bintrayRelease := (),
bintrayEnsureBintrayPackageExists := (),
bintrayEnsureLicenses := (),
jacocoAggregateReportSettings := JacocoReportSettings(
title = "Moirai Project Coverage",
formats = Seq(JacocoReportFormats.ScalaHTML, JacocoReportFormats.XML)
).withThresholds(
JacocoThresholds(
instruction = 65,
method = 80,
branch = 50,
complexity = 65,
line = 80,
clazz = 90)
)
)
.aggregate(`moirai-core`, `moirai-s3`, `moirai-typesafeconfig`, `moirai-riposte-example`)
lazy val `moirai-core` = project
.settings(commonSettings)
.settings(
libraryDependencies ++= Seq(
slf4jApi,
scalaTest,
equalsVerifier,
scalaJava8Compat,
scalaCheck,
logback
)
)
lazy val `moirai-s3` = project
.dependsOn(`moirai-core`)
.settings(commonSettings)
.settings(
description := "Support for loading Moirai resources from S3",
libraryDependencies ++= Seq(
awsS3,
scalaTest,
scalaMock
)
)
lazy val `moirai-typesafeconfig` = project
.dependsOn(`moirai-core`)
.settings(commonSettings)
.settings(
description := "Support for reading Moirai configuration using Typesafe Config",
libraryDependencies ++= Seq(
typesafeConfig,
scalaTest
)
)
lazy val `moirai-riposte-example` = project
.dependsOn(`moirai-core`, `moirai-typesafeconfig`)
.settings(commonSettings)
.settings(
description := "Moirai usage example using Riposte",
skip in publish := true,
libraryDependencies ++= Seq(
riposte,
riposteTypesafeConfig,
riposteCore,
riposteAsyncClient,
googleFindbugsJsr305Version,
elApi,
elImpl,
junit,
assertJ,
mockito,
junitInterface,
backstopper,
logback),
testOptions += Tests.Argument(TestFrameworks.JUnit, "+q", "+n", "+v")
)