Skip to content

Commit c9359c9

Browse files
authored
Update scala examples (#293)
* Add updated scala config * Reset example scala rules * Update config and regenerate * Add back static grpc option * Fix deps for client/server
1 parent 0169dcf commit c9359c9

File tree

8 files changed

+162
-167
lines changed

8 files changed

+162
-167
lines changed

example/BUILD.bazel

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,29 +44,37 @@
4444
# gazelle:proto_language java rule grpc_java_library
4545

4646
## Scala ##
47-
# gazelle:proto_plugin scala implementation scalapb:scalapb:protoc-gen-scala
48-
# gazelle:proto_plugin scala deps @com_google_protobuf//:protobuf_java
49-
# gazelle:proto_plugin scala deps @maven_scala//:com_thesamet_scalapb_lenses_2_12
50-
# gazelle:proto_plugin scala deps @maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12
51-
# gazelle:proto_plugin scala deps @maven_scala//:com_thesamet_scalapb_scalapb_runtime_grpc_2_12
52-
# gazelle:proto_plugin scala deps @maven_scala//:io_grpc_grpc_api
53-
# gazelle:proto_plugin scala deps @maven_scala//:io_grpc_grpc_stub
54-
# gazelle:proto_plugin scala deps @maven_scala//:io_grpc_grpc_protobuf
55-
56-
# gazelle:proto_plugin akka-grpc implementation akka:akka-grpc:protoc-gen-akka-grpc
57-
# gazelle:proto_plugin akka-grpc deps @maven_akka//:com_lightbend_akka_grpc_akka_grpc_runtime_2_12
58-
# gazelle:proto_plugin akka-grpc deps @maven_akka//:com_typesafe_akka_akka_actor_2_12
59-
# gazelle:proto_plugin akka-grpc deps @maven_akka//:com_typesafe_akka_akka_http_core_2_12
60-
# gazelle:proto_plugin akka-grpc deps @maven_akka//:com_typesafe_akka_akka_stream_2_12
47+
# gazelle:proto_plugin protoc-gen-scala implementation scalapb:scalapb:protoc-gen-scala
48+
# gazelle:proto_plugin protoc-gen-scala-grpc implementation scalapb:scalapb:protoc-gen-scala
49+
# gazelle:proto_plugin protoc-gen-scala-grpc label @build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc
50+
# gazelle:proto_plugin protoc-gen-scala-grpc option grpc
51+
# gazelle:proto_plugin protoc-gen-akka-grpc implementation akka:akka-grpc:protoc-gen-akka-grpc
6152

6253
# gazelle:proto_rule proto_scala_library implementation stackb:rules_proto:proto_scala_library
54+
# gazelle:proto_rule proto_scala_library option --plugins=protoc-gen-scala
55+
# gazelle:proto_rule proto_scala_library deps @maven_scala//:com_google_protobuf_protobuf_java
56+
# gazelle:proto_rule proto_scala_library deps @maven_scala//:com_thesamet_scalapb_lenses_2_12
57+
# gazelle:proto_rule proto_scala_library deps @maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12
6358
# gazelle:proto_rule proto_scala_library visibility //visibility:public
6459

6560
# gazelle:proto_rule grpc_scala_library implementation stackb:rules_proto:grpc_scala_library
61+
# gazelle:proto_rule grpc_scala_library option --plugins=protoc-gen-scala-grpc,protoc-gen-akka-grpc
62+
# gazelle:proto_rule grpc_scala_library deps @maven_scala//:com_google_protobuf_protobuf_java
63+
# gazelle:proto_rule grpc_scala_library deps @maven_scala//:com_thesamet_scalapb_lenses_2_12
64+
# gazelle:proto_rule grpc_scala_library deps @maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12
65+
# gazelle:proto_rule grpc_scala_library deps @maven_scala//:com_thesamet_scalapb_scalapb_runtime_grpc_2_12
66+
# gazelle:proto_rule grpc_scala_library deps @maven_akka//:com_lightbend_akka_grpc_akka_grpc_runtime_2_12_2_1_3
67+
# gazelle:proto_rule grpc_scala_library deps @maven_akka//:com_typesafe_akka_akka_actor_2_12
68+
# gazelle:proto_rule grpc_scala_library deps @maven_akka//:com_typesafe_akka_akka_http_core_2_12
69+
# gazelle:proto_rule grpc_scala_library deps @maven_akka//:com_typesafe_akka_akka_stream_2_12
70+
# gazelle:proto_rule grpc_scala_library deps @maven_scala//:io_grpc_grpc_api
71+
# gazelle:proto_rule grpc_scala_library deps @maven_scala//:io_grpc_grpc_protobuf
72+
# gazelle:proto_rule grpc_scala_library deps @maven_scala//:io_grpc_grpc_stub
6673
# gazelle:proto_rule grpc_scala_library visibility //visibility:public
6774

68-
# gazelle:proto_language scala plugin scala
69-
# gazelle:proto_language scala plugin akka-grpc
75+
# gazelle:proto_language scala plugin protoc-gen-scala
76+
# gazelle:proto_language scala plugin protoc-gen-scala-grpc
77+
# gazelle:proto_language scala plugin protoc-gen-akka-grpc
7078
# gazelle:proto_language scala rule proto_compile
7179
# gazelle:proto_language scala rule proto_scala_library
7280
# gazelle:proto_language scala rule grpc_scala_library

example/person/BUILD.bazel

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
load("@build_stack_rules_proto//rules/scala:proto_scala_library.bzl", "proto_scala_library")
12
load("@build_stack_rules_proto//rules/ts:proto_ts_library.bzl", "proto_ts_library")
23
load("@rules_proto//proto:defs.bzl", "proto_library")
34
load("@build_stack_rules_proto//rules/cc:proto_cc_library.bzl", "proto_cc_library")
45
load("@build_stack_rules_proto//rules/closure:proto_closure_js_library.bzl", "proto_closure_js_library")
56
load("@build_stack_rules_proto//rules/java:proto_java_library.bzl", "proto_java_library")
67
load("@build_stack_rules_proto//rules/nodejs:proto_nodejs_library.bzl", "proto_nodejs_library")
78
load("@build_stack_rules_proto//rules/py:proto_py_library.bzl", "proto_py_library")
8-
load("@build_stack_rules_proto//rules/scala:proto_scala_library.bzl", "proto_scala_library")
99
load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile")
1010

1111
proto_library(
@@ -132,29 +132,6 @@ proto_py_library(
132132
],
133133
)
134134

135-
proto_compile(
136-
name = "person_scala_compile",
137-
outputs = ["person_scala.srcjar"],
138-
plugins = ["@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala"],
139-
proto = "person_proto",
140-
)
141-
142-
proto_scala_library(
143-
name = "person_scala_library",
144-
srcs = ["person_scala.srcjar"],
145-
visibility = ["//visibility:public"],
146-
deps = [
147-
"//example/place:place_scala_library",
148-
"@com_google_protobuf//:protobuf_java",
149-
"@maven_scala//:com_thesamet_scalapb_lenses_2_12",
150-
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12",
151-
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_grpc_2_12",
152-
"@maven_scala//:io_grpc_grpc_api",
153-
"@maven_scala//:io_grpc_grpc_protobuf",
154-
"@maven_scala//:io_grpc_grpc_stub",
155-
],
156-
)
157-
158135
proto_compile(
159136
name = "person_ts_proto_compile",
160137
options = {"@build_stack_rules_proto//plugin/stephenh/ts-proto:protoc-gen-ts-proto": [
@@ -179,3 +156,29 @@ proto_ts_library(
179156
"@npm_tsc//protobufjs",
180157
],
181158
)
159+
160+
proto_compile(
161+
name = "person_scala_compile",
162+
options = {"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc": ["grpc"]},
163+
outputs = [
164+
"person_scala.srcjar",
165+
"person_scala_grpc.srcjar",
166+
],
167+
plugins = [
168+
"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala",
169+
"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc",
170+
],
171+
proto = "person_proto",
172+
)
173+
174+
proto_scala_library(
175+
name = "person_proto_scala_library",
176+
srcs = ["person_scala.srcjar"],
177+
visibility = ["//visibility:public"],
178+
deps = [
179+
"//example/place:place_proto_scala_library",
180+
"@maven_scala//:com_google_protobuf_protobuf_java",
181+
"@maven_scala//:com_thesamet_scalapb_lenses_2_12",
182+
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12",
183+
],
184+
)

example/place/BUILD.bazel

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
load("@build_stack_rules_proto//rules/scala:proto_scala_library.bzl", "proto_scala_library")
12
load("@build_stack_rules_proto//rules/ts:proto_ts_library.bzl", "proto_ts_library")
23
load("@rules_proto//proto:defs.bzl", "proto_library")
34
load("@build_stack_rules_proto//rules/cc:proto_cc_library.bzl", "proto_cc_library")
45
load("@build_stack_rules_proto//rules/closure:proto_closure_js_library.bzl", "proto_closure_js_library")
56
load("@build_stack_rules_proto//rules/java:proto_java_library.bzl", "proto_java_library")
67
load("@build_stack_rules_proto//rules/nodejs:proto_nodejs_library.bzl", "proto_nodejs_library")
78
load("@build_stack_rules_proto//rules/py:proto_py_library.bzl", "proto_py_library")
8-
load("@build_stack_rules_proto//rules/scala:proto_scala_library.bzl", "proto_scala_library")
99
load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile")
1010

1111
proto_library(
@@ -131,29 +131,6 @@ proto_py_library(
131131
],
132132
)
133133

134-
proto_compile(
135-
name = "place_scala_compile",
136-
outputs = ["place_scala.srcjar"],
137-
plugins = ["@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala"],
138-
proto = "place_proto",
139-
)
140-
141-
proto_scala_library(
142-
name = "place_scala_library",
143-
srcs = ["place_scala.srcjar"],
144-
visibility = ["//visibility:public"],
145-
deps = [
146-
"//example/thing:thing_scala_library",
147-
"@com_google_protobuf//:protobuf_java",
148-
"@maven_scala//:com_thesamet_scalapb_lenses_2_12",
149-
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12",
150-
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_grpc_2_12",
151-
"@maven_scala//:io_grpc_grpc_api",
152-
"@maven_scala//:io_grpc_grpc_protobuf",
153-
"@maven_scala//:io_grpc_grpc_stub",
154-
],
155-
)
156-
157134
proto_compile(
158135
name = "place_ts_proto_compile",
159136
options = {"@build_stack_rules_proto//plugin/stephenh/ts-proto:protoc-gen-ts-proto": [
@@ -178,3 +155,29 @@ proto_ts_library(
178155
"@npm_tsc//protobufjs",
179156
],
180157
)
158+
159+
proto_compile(
160+
name = "place_scala_compile",
161+
options = {"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc": ["grpc"]},
162+
outputs = [
163+
"place_scala.srcjar",
164+
"place_scala_grpc.srcjar",
165+
],
166+
plugins = [
167+
"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala",
168+
"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc",
169+
],
170+
proto = "place_proto",
171+
)
172+
173+
proto_scala_library(
174+
name = "place_proto_scala_library",
175+
srcs = ["place_scala.srcjar"],
176+
visibility = ["//visibility:public"],
177+
deps = [
178+
"//example/thing:thing_proto_scala_library",
179+
"@maven_scala//:com_google_protobuf_protobuf_java",
180+
"@maven_scala//:com_thesamet_scalapb_lenses_2_12",
181+
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12",
182+
],
183+
)

example/routeguide/BUILD.bazel

Lines changed: 36 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
load("@build_stack_rules_proto//rules/scala:grpc_scala_library.bzl", "grpc_scala_library")
12
load("@rules_proto//proto:defs.bzl", "proto_library")
23
load("@build_stack_rules_proto//rules/cc:grpc_cc_library.bzl", "grpc_cc_library")
34
load("@build_stack_rules_proto//rules/cc:proto_cc_library.bzl", "proto_cc_library")
@@ -11,7 +12,6 @@ load("@build_stack_rules_proto//rules/nodejs:grpc_web_js_library.bzl", "grpc_web
1112
load("@build_stack_rules_proto//rules/nodejs:proto_nodejs_library.bzl", "proto_nodejs_library")
1213
load("@build_stack_rules_proto//rules/py:grpc_py_library.bzl", "grpc_py_library")
1314
load("@build_stack_rules_proto//rules/py:proto_py_library.bzl", "proto_py_library")
14-
load("@build_stack_rules_proto//rules/scala:grpc_scala_library.bzl", "grpc_scala_library")
1515
load("@build_stack_rules_proto//rules/ts:proto_ts_library.bzl", "proto_ts_library")
1616
load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile")
1717

@@ -258,19 +258,45 @@ proto_py_library(
258258
deps = ["@com_google_protobuf//:protobuf_python"],
259259
)
260260

261+
proto_compile(
262+
name = "routeguide_ts_proto_compile",
263+
options = {"@build_stack_rules_proto//plugin/stephenh/ts-proto:protoc-gen-ts-proto": [
264+
"emitImportedFiles=false",
265+
"esModuleInterop=true",
266+
"nestJs=true",
267+
]},
268+
outputs = ["routeguide.ts"],
269+
plugins = ["@build_stack_rules_proto//plugin/stephenh/ts-proto:protoc-gen-ts-proto"],
270+
proto = "routeguide_proto",
271+
)
272+
273+
proto_ts_library(
274+
name = "routeguide_ts_proto",
275+
srcs = ["routeguide.ts"],
276+
args = ["--lib ES2015"],
277+
tags = ["manual"],
278+
tsc = "@npm_tsc//typescript/bin:tsc",
279+
visibility = ["//visibility:public"],
280+
deps = [
281+
"@npm_tsc//@nestjs/microservices",
282+
"@npm_tsc//long",
283+
"@npm_tsc//protobufjs",
284+
],
285+
)
286+
261287
grpc_scala_library(
262-
name = "routeguide_scala_library",
288+
name = "routeguide_grpc_scala_library",
263289
srcs = [
264290
"routeguide_akka_grpc.srcjar",
265-
"routeguide_scala.srcjar",
291+
"routeguide_scala_grpc.srcjar",
266292
],
267293
visibility = ["//visibility:public"],
268294
deps = [
269-
"@com_google_protobuf//:protobuf_java",
270-
"@maven_akka//:com_lightbend_akka_grpc_akka_grpc_runtime_2_12",
295+
"@maven_akka//:com_lightbend_akka_grpc_akka_grpc_runtime_2_12_2_1_3",
271296
"@maven_akka//:com_typesafe_akka_akka_actor_2_12",
272297
"@maven_akka//:com_typesafe_akka_akka_http_core_2_12",
273298
"@maven_akka//:com_typesafe_akka_akka_stream_2_12",
299+
"@maven_scala//:com_google_protobuf_protobuf_java",
274300
"@maven_scala//:com_thesamet_scalapb_lenses_2_12",
275301
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12",
276302
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_grpc_2_12",
@@ -282,39 +308,16 @@ grpc_scala_library(
282308

283309
proto_compile(
284310
name = "routeguide_scala_compile",
311+
options = {"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc": ["grpc"]},
285312
outputs = [
286-
"routeguide_scala.srcjar",
287313
"routeguide_akka_grpc.srcjar",
314+
"routeguide_scala.srcjar",
315+
"routeguide_scala_grpc.srcjar",
288316
],
289317
plugins = [
290-
"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala",
291318
"@build_stack_rules_proto//plugin/akka/akka-grpc:protoc-gen-akka-grpc",
319+
"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala",
320+
"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc",
292321
],
293322
proto = "routeguide_proto",
294323
)
295-
296-
proto_compile(
297-
name = "routeguide_ts_proto_compile",
298-
options = {"@build_stack_rules_proto//plugin/stephenh/ts-proto:protoc-gen-ts-proto": [
299-
"emitImportedFiles=false",
300-
"esModuleInterop=true",
301-
"nestJs=true",
302-
]},
303-
outputs = ["routeguide.ts"],
304-
plugins = ["@build_stack_rules_proto//plugin/stephenh/ts-proto:protoc-gen-ts-proto"],
305-
proto = "routeguide_proto",
306-
)
307-
308-
proto_ts_library(
309-
name = "routeguide_ts_proto",
310-
srcs = ["routeguide.ts"],
311-
args = ["--lib ES2015"],
312-
tags = ["manual"],
313-
tsc = "@npm_tsc//typescript/bin:tsc",
314-
visibility = ["//visibility:public"],
315-
deps = [
316-
"@npm_tsc//@nestjs/microservices",
317-
"@npm_tsc//long",
318-
"@npm_tsc//protobufjs",
319-
],
320-
)

example/routeguide/scala/BUILD.bazel

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,27 @@ scala_library(
44
name = "util",
55
srcs = ["RouteGuideUtil.scala"],
66
resources = ["//example/routeguide:feature_db"],
7-
exports = ["//example/routeguide:routeguide_scala_library"],
87
deps = [
9-
"//example/routeguide:routeguide_scala_library",
8+
"//example/routeguide:routeguide_grpc_scala_library",
9+
"@maven_scala//:com_thesamet_scalapb_lenses_2_12",
1010
"@maven_scala//:com_thesamet_scalapb_scalapb_json4s_2_12_0_12_0",
11+
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12",
1112
],
1213
)
1314

1415
scala_binary(
1516
name = "client",
1617
srcs = ["RouteGuideClient.scala"],
1718
main_class = "example.routeguide.scala.RouteGuideClient",
18-
deps = [":util"],
19+
deps = [
20+
":util",
21+
"//example/routeguide:routeguide_grpc_scala_library",
22+
"@maven_scala//:com_thesamet_scalapb_lenses_2_12",
23+
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12",
24+
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_grpc_2_12",
25+
"@maven_scala//:io_grpc_grpc_api",
26+
"@maven_scala//:io_grpc_grpc_stub",
27+
],
1928
)
2029

2130
scala_binary(
@@ -26,5 +35,13 @@ scala_binary(
2635
"RouteGuideService.scala",
2736
],
2837
main_class = "example.routeguide.scala.RouteGuideServer",
29-
deps = [":util"],
38+
deps = [
39+
":util",
40+
"//example/routeguide:routeguide_grpc_scala_library",
41+
"@maven_scala//:com_thesamet_scalapb_lenses_2_12",
42+
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12",
43+
"@maven_scala//:com_thesamet_scalapb_scalapb_runtime_grpc_2_12",
44+
"@maven_scala//:io_grpc_grpc_api",
45+
"@maven_scala//:io_grpc_grpc_stub",
46+
],
3047
)

0 commit comments

Comments
 (0)