Skip to content

Commit 0ca8895

Browse files
committed
fix: support multiple files without services declaration
1 parent 03b91ae commit 0ca8895

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

lib/sidecar/grpc/generators/service_generator.ex

+11-5
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,22 @@ defmodule Sidecar.GRPC.Generators.ServiceGenerator do
4141
def generate(ctx, %Google.Protobuf.FileDescriptorProto{service: svcs} = _desc) do
4242
current_services = :persistent_term.get(:grpc_services, [])
4343

44-
services =
45-
svcs
46-
|> Enum.map(fn svc -> Util.mod_name(ctx, [Macro.camelize(svc.name)]) end)
47-
|> Kernel.++(current_services)
44+
services = do_generate(ctx, svcs, current_services)
4845

4946
:persistent_term.put(:grpc_services, services)
5047

51-
{List.first(services),
48+
{"ProxyEndpoint",
5249
[
5350
services: services
5451
]}
5552
end
53+
54+
defp do_generate(_ctx, nil, current_services), do: current_services
55+
defp do_generate(_ctx, [], current_services), do: current_services
56+
57+
defp do_generate(ctx, svcs, current_services) do
58+
svcs
59+
|> Enum.map(fn svc -> Util.mod_name(ctx, [Macro.camelize(svc.name)]) end)
60+
|> Kernel.++(current_services)
61+
end
5662
end

0 commit comments

Comments
 (0)