-
Notifications
You must be signed in to change notification settings - Fork 5
/
build.sbt
58 lines (43 loc) · 1.55 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
import de.heikoseeberger.sbtheader.license.Apache2_0
import sbtrelease.ReleaseStateTransformations._
name := "crdt"
version := "0.0.4-SNAPSHOT"
scalaVersion := "2.11.8"
organization := "com.machinomy"
libraryDependencies ++= Seq(
"org.typelevel" %% "cats" % "0.6.1",
"com.github.nscala-time" %% "nscala-time" % "2.10.0",
"org.scala-graph" %% "graph-core" % "1.11.2",
"org.scalatest" %% "scalatest" % "3.0.0" % "test",
"org.scalacheck" %% "scalacheck" % "1.13.1" % "test",
"com.typesafe.akka" %% "akka-testkit" % "2.4.9" % "test",
"com.typesafe.akka" %% "akka-actor" % "2.4.9" % "test"
)
releaseUseGlobalVersion := false
def whenRelease(releaseStep: ReleaseStep): ReleaseStep =
releaseStep.copy(state => if (Project.extract(state).get(isSnapshot)) state else releaseStep.action(state))
releaseProcess := Seq[ReleaseStep](
checkSnapshotDependencies,
runClean,
runTest,
whenRelease(tagRelease),
publishArtifacts,
whenRelease(pushChanges)
)
publishTo := {
val base = "http://artifactory.machinomy.com/artifactory"
if (isSnapshot.value) {
val timestamp = new java.util.Date().getTime
Some("Machinomy" at s"$base/snapshot;build.timestamp=$timestamp")
} else {
Some("Machinomy" at s"$base/release")
}
}
credentials += Credentials(new File("credentials.properties"))
licenses := Seq("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0"))
headers := Map(
"scala" -> Apache2_0("2016", "Machinomy")
)
autoAPIMappings := true
scalacOptions := Seq("-feature")
scalacOptions in (Compile,doc) ++= Seq("-groups", "-implicits")