protoc Swift gRPC plugingRPC Swift provides a plugin for the protocol buffer
compiler protoc to generate classes for clients and services.
The protoc-gen-grpc-swift plugin can be built by using the Makefile in the
top-level directory:
$ make plugins
The Swift Package Manager may also be invoked directly to build the plugin:
$ swift build --product protoc-gen-grpc-swift
The plugin must be in your PATH environment variable or specified directly
when invoking protoc.
The table below lists the options available to the protoc-gen-grpc-swift
plugin:
| Flag | Values | Default | Description |
|---|---|---|---|
Visibility |
Internal/Public |
Internal |
ACL of generated code |
Server |
true/false |
true |
Whether to generate server code |
Client |
true/false |
true |
Whether to generate client code |
FileNaming |
FullPath/PathToUnderscores/DropPath |
FullPath |
How to handle the naming of generated sources, see documentation |
ExtraModuleImports |
String |
Extra module to import in generated code. This parameter may be included multiple times to import more than one module |
To pass extra parameters to the plugin, use a comma-separated parameter list
separated from the output directory by a colon. Alternatively use the
--grpc-swift_opt flag.
For example, to generate only client stubs:
protoc <your proto> --grpc-swift_out=Client=true,Server=false:.
Or, in the alternate syntax:
protoc <your proto> --grpc-swift_opt=Client=true,Server=false --grpc-swift_out=.