Skip to content

Commit cc7c233

Browse files
authored
Merge pull request #7 from JuliaComputing/tan/gen
use protobuf codegen enhancements
2 parents 556ae23 + 9e67593 commit cc7c233

File tree

3 files changed

+12
-33
lines changed

3 files changed

+12
-33
lines changed

src/generate.jl

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
const package_regex = r"package\s(\S*)[\s]*;.*"
22
const service_regex = r"service\s(\S*)[\s]*{.*"
3-
const services_option_regex = r"option\s[a-z]*_generic_services[\s]*=[\s]*true[\s]*;"
43

54
function write_header(io, package, client_module_name)
65
print(io, """module $(client_module_name)
@@ -89,19 +88,6 @@ function write_service_method(io, package, service, method)
8988
""")
9089
end
9190

92-
function has_services_enabled(proto::String)
93-
enabled = false
94-
for line in readlines(proto)
95-
line = strip(line)
96-
regexmatches = match(services_option_regex, line)
97-
if (regexmatches !== nothing)
98-
enabled = true
99-
break
100-
end
101-
end
102-
enabled
103-
end
104-
10591
function detect_services(proto::String)
10692
package = ""
10793
services = String[]
@@ -149,11 +135,6 @@ function generate(proto::String; outdir::String=pwd())
149135

150136
@info("Generating gRPC client", proto, outdir)
151137

152-
# ensure services are enabled in proto file
153-
if !has_services_enabled(proto)
154-
throw(ArgumentError("Service generation must be enabled in $proto, e.g. option py_generic_services = true;"))
155-
end
156-
157138
# determine the package name and service name
158139
package, services = detect_services(proto)
159140
protodir = dirname(proto)

test/RouteguideClients/route_guide.proto

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ option go_package = "google.golang.org/grpc/examples/route_guide/routeguide";
1818
option java_multiple_files = true;
1919
option java_package = "io.grpc.examples.routeguide";
2020
option java_outer_classname = "RouteGuideProto";
21-
option py_generic_services = true;
22-
option java_generic_services = true;
2321

2422
package routeguide;
2523

test/RouteguideClients/route_guide_pb.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,10 @@ end
203203

204204
# service methods for RouteGuide
205205
const _RouteGuide_methods = MethodDescriptor[
206-
MethodDescriptor("GetFeature", 1, routeguide.Point, routeguide.Feature),
207-
MethodDescriptor("ListFeatures", 2, routeguide.Rectangle, Channel{routeguide.Feature}),
208-
MethodDescriptor("RecordRoute", 3, Channel{routeguide.Point}, routeguide.RouteSummary),
209-
MethodDescriptor("RouteChat", 4, Channel{routeguide.RouteNote}, Channel{routeguide.RouteNote})
206+
MethodDescriptor("GetFeature", 1, Point, Feature),
207+
MethodDescriptor("ListFeatures", 2, Rectangle, Channel{Feature}),
208+
MethodDescriptor("RecordRoute", 3, Channel{Point}, RouteSummary),
209+
MethodDescriptor("RouteChat", 4, Channel{RouteNote}, Channel{RouteNote})
210210
] # const _RouteGuide_methods
211211
const _RouteGuide_desc = ServiceDescriptor("routeguide.RouteGuide", 1, _RouteGuide_methods)
212212

@@ -222,16 +222,16 @@ mutable struct RouteGuideBlockingStub <: AbstractProtoServiceStub{true}
222222
RouteGuideBlockingStub(channel::ProtoRpcChannel) = new(ProtoServiceBlockingStub(_RouteGuide_desc, channel))
223223
end # mutable struct RouteGuideBlockingStub
224224

225-
GetFeature(stub::RouteGuideStub, controller::ProtoRpcController, inp::routeguide.Point, done::Function) = call_method(stub.impl, _RouteGuide_methods[1], controller, inp, done)
226-
GetFeature(stub::RouteGuideBlockingStub, controller::ProtoRpcController, inp::routeguide.Point) = call_method(stub.impl, _RouteGuide_methods[1], controller, inp)
225+
GetFeature(stub::RouteGuideStub, controller::ProtoRpcController, inp::Point, done::Function) = call_method(stub.impl, _RouteGuide_methods[1], controller, inp, done)
226+
GetFeature(stub::RouteGuideBlockingStub, controller::ProtoRpcController, inp::Point) = call_method(stub.impl, _RouteGuide_methods[1], controller, inp)
227227

228-
ListFeatures(stub::RouteGuideStub, controller::ProtoRpcController, inp::routeguide.Rectangle, done::Function) = call_method(stub.impl, _RouteGuide_methods[2], controller, inp, done)
229-
ListFeatures(stub::RouteGuideBlockingStub, controller::ProtoRpcController, inp::routeguide.Rectangle) = call_method(stub.impl, _RouteGuide_methods[2], controller, inp)
228+
ListFeatures(stub::RouteGuideStub, controller::ProtoRpcController, inp::Rectangle, done::Function) = call_method(stub.impl, _RouteGuide_methods[2], controller, inp, done)
229+
ListFeatures(stub::RouteGuideBlockingStub, controller::ProtoRpcController, inp::Rectangle) = call_method(stub.impl, _RouteGuide_methods[2], controller, inp)
230230

231-
RecordRoute(stub::RouteGuideStub, controller::ProtoRpcController, inp::Channel{routeguide.Point}, done::Function) = call_method(stub.impl, _RouteGuide_methods[3], controller, inp, done)
232-
RecordRoute(stub::RouteGuideBlockingStub, controller::ProtoRpcController, inp::Channel{routeguide.Point}) = call_method(stub.impl, _RouteGuide_methods[3], controller, inp)
231+
RecordRoute(stub::RouteGuideStub, controller::ProtoRpcController, inp::Channel{Point}, done::Function) = call_method(stub.impl, _RouteGuide_methods[3], controller, inp, done)
232+
RecordRoute(stub::RouteGuideBlockingStub, controller::ProtoRpcController, inp::Channel{Point}) = call_method(stub.impl, _RouteGuide_methods[3], controller, inp)
233233

234-
RouteChat(stub::RouteGuideStub, controller::ProtoRpcController, inp::Channel{routeguide.RouteNote}, done::Function) = call_method(stub.impl, _RouteGuide_methods[4], controller, inp, done)
235-
RouteChat(stub::RouteGuideBlockingStub, controller::ProtoRpcController, inp::Channel{routeguide.RouteNote}) = call_method(stub.impl, _RouteGuide_methods[4], controller, inp)
234+
RouteChat(stub::RouteGuideStub, controller::ProtoRpcController, inp::Channel{RouteNote}, done::Function) = call_method(stub.impl, _RouteGuide_methods[4], controller, inp, done)
235+
RouteChat(stub::RouteGuideBlockingStub, controller::ProtoRpcController, inp::Channel{RouteNote}) = call_method(stub.impl, _RouteGuide_methods[4], controller, inp)
236236

237237
export Point, Rectangle, Feature, RouteNote, RouteSummary, RouteGuide, RouteGuideStub, RouteGuideBlockingStub, GetFeature, ListFeatures, RecordRoute, RouteChat

0 commit comments

Comments
 (0)