Python project to generate Swift files from proto2 files with mustache template.
protobuf-to-swift is a library for generating Swift files from Protocol Buffers. This library is designed to make it easy to generate Swift networking.
This library requires Python 3.10 or higher. Install using the following command:
make bootstrap project
Store the proto files in the /proto directory and generate Swift files using the following command:
make gen-swift-package
Store the proto files as follows:
protobuf-to-swift/
├── proto/
│ ├── google/
│ │ └── ...
│ ├── model/
│ │ └── yourModel.proto
│ ├── service/
│ │ └── yourService.proto
│ ├── view/
│ │ └── yourView.proto
│ └── your.proto
At the beginning of the proto file, add import as follows:
import "google/api/annotations.proto";
Add option (google.api.http) to the rpc definition and define the HTTP method and path. For example, to set the Login RPC to POST /#, do the following:
rpc Login (LoginRequest) returns (Empty) {
option (google.api.http) = {
post: "/#"
};
}
-
You can customize the output Swift files by editing mustache in templates/mustache.
-
By editing the templates/swift/Foundation directory, you can edit Swift files to be included in the Swift Package.
This library is published under the MIT License. For details, see the LICENSE file.
We welcome contributions in any form, such as bug reports, feature requests, and pull requests. Details will be provided in CONTRIBUTING.md. (TBD)