-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.sbt
100 lines (92 loc) · 2.8 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
import build._
lazy val httpz = module("httpz").settings(
scalapropsWithScalaz,
name := httpzName,
scalapropsVersion := "0.9.1",
buildInfoPackage := "httpz",
buildInfoObject := "BuildInfoHttpz",
libraryDependencies ++= Seq(
"org.scalaz" %% "scalaz-core" % Common.ScalazVersion,
"io.argonaut" %% "argonaut" % "6.3.10"
)
)
lazy val async = module("async")
.settings(
name := asyncName,
testSetting,
buildInfoPackage := "httpz.async",
buildInfoObject := "BuildInfoHttpzAsync",
libraryDependencies ++= Seq(
"org.asynchttpclient" % "async-http-client" % "3.0.0"
)
)
.dependsOn(httpz, tests % "test")
lazy val scalaj = module("scalaj")
.settings(
name := scalajName,
testSetting,
buildInfoPackage := "httpz.scalajhttp",
buildInfoObject := "BuildInfoHttpzScalaj",
libraryDependencies ++= Seq(
"org.scalaj" %% "scalaj-http" % "2.4.2" cross CrossVersion.for3Use2_13
)
)
.dependsOn(httpz, tests % "test")
lazy val apache = module("apache")
.settings(
name := apacheName,
testSetting,
buildInfoPackage := "httpz.apachehttp",
buildInfoObject := "BuildInfoHttpzApache",
libraryDependencies ++= Seq(
"org.apache.httpcomponents" % "httpclient" % "4.5.14"
)
)
.dependsOn(httpz, tests % "test")
lazy val nativeClient = module("native-client").settings(
name := nativeClientName,
buildInfoPackage := "httpz.native",
buildInfoObject := "BuildInfoHttpzNative",
javacOptions ++= Seq("-source", "1.7", "-target", "1.7"),
libraryDependencies ++= (
("junit" % "junit" % "4.13.2" % "test") ::
("com.github.sbt" % "junit-interface" % "0.13.3" % "test") ::
("com.github.kristofa" % "mock-http-server" % "4.1" % "test") ::
Nil
)
)
lazy val native = Project("native", file("native"))
.settings(
Common.baseSettings,
name := nativeName,
testSetting
)
.dependsOn(httpz, nativeClient, tests % "test")
lazy val tests = Project("tests", file("tests"))
.settings(
Common.baseSettings,
libraryDependencies ++= {
("filter" :: "jetty" :: Nil).map(m => "ws.unfiltered" %% s"unfiltered-$m" % "0.10.4")
},
publishArtifact := false,
publish := {},
publishLocal := {}
)
.dependsOn(httpz)
lazy val root = {
Project("root", file("."))
.settings(
Common.baseSettings,
name := "httpz-all",
artifacts := Nil,
packagedArtifacts := Map.empty,
artifacts ++= Classpaths.artifactDefs(Seq(Compile / packageDoc)).value,
packagedArtifacts ++= Classpaths.packaged(Seq(Compile / packageDoc)).value,
Defaults.packageTaskSettings(
Compile / packageDoc,
(Compile / unidoc).map { _.flatMap(Path.allSubpaths) }
),
)
.enablePlugins(ScalaUnidocPlugin)
.aggregate(httpz, scalaj, async, apache, native, nativeClient, tests)
}