-
Notifications
You must be signed in to change notification settings - Fork 4
/
build.sbt
87 lines (78 loc) · 2.51 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
name := "fla"
val benchmarksVersion = "0.1.1"
val scalazVersion = "7.2.20"
val spireVersion = "0.13.0"
val scalacheckVersion = "1.12.6" // remain on 1.12.x because scalaz-binding is built against this version
val cilibVersion = "2.0.1"
val shapelessVersion = "2.3.3"
lazy val buildSettings = Seq(
organization := "net.cilib",
scalaVersion := "2.12.6",
version := "0.0.3"
)
lazy val commonSettings = Seq(
autoAPIMappings := true,
scalacOptions ++= Seq(
"-deprecation",
"-encoding", "UTF-8",
"-feature",
"-language:existentials",
"-language:higherKinds",
"-language:experimental.macros",
"-unchecked",
//"-Xfatal-warnings",
"-Xlint",
"-Yno-adapted-args",
"-Ywarn-dead-code",
"-Ywarn-numeric-widen",
"-Ywarn-value-discard",
"-Ypartial-unification", // Enable partial unification in type constructor inference
"-Xfuture"
),
coverageExcludedPackages := "fla\\.example\\..*",
// resolvers += Resolver.sonatypeRepo("releases"),
// resolvers += Resolver.sonatypeRepo("snapshots"),
publishMavenStyle := true,
libraryDependencies += compilerPlugin("org.spire-math" %% "kind-projector" % "0.9.6")
)
lazy val flaSettings = buildSettings ++ commonSettings
lazy val fla = project.in(file("."))
.settings(flaSettings)
.aggregate(example, metrics, tests, walks)
.dependsOn(example, metrics, tests, walks)
lazy val walks = project
.settings(flaSettings ++ Seq(
moduleName := "fla-walks",
libraryDependencies ++= Seq(
"net.cilib" %% "cilib-core" % cilibVersion
)
))
lazy val metrics = project
.settings(flaSettings ++ Seq(
moduleName := "fla-metrics",
libraryDependencies ++= Seq(
"net.cilib" %% "cilib-core" % cilibVersion,
"net.cilib" %% "cilib-pso" % cilibVersion
)
))
lazy val example = project
.dependsOn(metrics, walks)
.settings(flaSettings ++ Seq(
moduleName := "fla-example",
libraryDependencies ++= Seq(
"net.cilib" %% "benchmarks" % benchmarksVersion,
"net.cilib" %% "cilib-core" % cilibVersion,
"com.chuusai" %% "shapeless" % shapelessVersion,
"eu.timepit" %% "refined" % "0.8.7"
)
))
lazy val tests = project
.dependsOn(metrics, walks)
.settings(flaSettings ++ Seq(
moduleName := "fla-tests",
libraryDependencies ++= Seq(
"net.cilib" %% "benchmarks" % benchmarksVersion,
"org.scalacheck" %% "scalacheck" % scalacheckVersion % "test",
"org.scalaz" %% "scalaz-scalacheck-binding" % scalazVersion % "test"
)
))