forked from xuwei-k/grpc-scala-sample
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
49 lines (44 loc) · 1.74 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
import com.trueaccord.scalapb.{ScalaPbPlugin => PB}
// https://github.com/grpc/grpc-java/blob/v0.9.0/build.gradle#L130
// https://github.com/grpc/grpc-java/blob/v0.9.0/examples/build.gradle#L21
val json = libraryDependencies += "org.glassfish" % "javax.json" % "1.0.4"
val unusedWarnings = (
"-Ywarn-unused" ::
"-Ywarn-unused-import" ::
Nil
)
lazy val root = project.in(file(".")).aggregate(
grpcJavaSample, grpcScalaSample
)
lazy val grpcScalaSample = project.in(file("grpc-scala")).settings(
PB.protobufSettings,
PB.runProtoc in PB.protobufConfig := { args =>
com.github.os72.protocjar.Protoc.runProtoc("-v300" +: args.toArray)
},
version in PB.protobufConfig := "3.0.0-beta-1",
watchSources ++= (((sourceDirectory in Compile).value / "protobuf") ** "*.proto").get,
libraryDependencies += "com.trueaccord.scalapb" %% "scalapb-runtime-grpc" % "0.5.18",
json,
unmanagedResourceDirectories in Compile += (baseDirectory in LocalRootProject).value / "grpc-java/examples/src/main/resources",
sourceDirectory in PB.protobufConfig := (baseDirectory in LocalRootProject).value / "grpc-java/examples/src/main/proto",
scalaVersion := "2.11.7",
scalacOptions ++= (
"-deprecation" ::
"-unchecked" ::
"-Xlint" ::
"-language:existentials" ::
"-language:higherKinds" ::
"-language:implicitConversions" ::
"-Yno-adapted-args" ::
Nil
) ::: unusedWarnings,
Seq(Compile, Test).flatMap(c =>
scalacOptions in (c, console) ~= {_.filterNot(unusedWarnings.toSet)}
)
)
lazy val grpcJavaSample = project.in(file("grpc-java/examples")).settings(
json,
libraryDependencies += "io.grpc" % "grpc-all" % "0.9.0",
autoScalaLibrary := false,
unmanagedSourceDirectories in Compile += baseDirectory.value / "src/generated/main/"
)