|
|
9 years ago | |
|---|---|---|
| Examples | 9 years ago | |
| Plugin | 9 years ago | |
| Sources | 9 years ago | |
| Tests | 9 years ago | |
| gRPC | 9 years ago | |
| gRPC.xcodeproj | 9 years ago | |
| third_party | 9 years ago | |
| .gitignore | 9 years ago | |
| .gitmodules | 9 years ago | |
| CONTRIBUTING.md | 9 years ago | |
| LICENSE | 9 years ago | |
| LINUX.md | 9 years ago | |
| Makefile | 9 years ago | |
| OVERVIEW.md | 9 years ago | |
| PATENTS | 9 years ago | |
| Package.swift | 9 years ago | |
| README.md | 9 years ago | |
| SwiftGRPC-incomplete.podspec | 9 years ago |
This repository contains an experimental Swift gRPC API and code generator.
It is intended for use with Apple's
swift-protobuf
support for Protocol Buffers. Both projects contain
code generation plugins for protoc, Google's
Protocol Buffer compiler, and both contain libraries
of supporting code that is needed to build and run
the generated code.
APIs and generated code is provided for both gRPC clients and servers, and can be built either with Xcode or the Swift Package Manager. Support is provided for all four gRPC API styles (Unary, Server Streaming, Client Streaming, and Bidirectional Streaming) and connections can be made either over secure (TLS) or insecure channels.
The Echo example provides a comprehensive demonstration of currently-supported features.
Swift Package Manager builds may also be made on Linux systems. Please see LINUX.md for details.
After cloning this repository, cd third_party; RUNME.sh to
download its dependencies. (We don't use git submodules so
that the repository will stay lean when it is imported with the
the Swift Package Manager.)
Swift gRPC currently requires a separate build of the grpc core
library. To do this, enter the grpc directory and run
git submodule update --init and then make install.
If you get build errors, edit the Makefile and remove
"-Werror" from the line that begins with "CPPFLAGS +=".
grpc-swift depends on Swift, Xcode, and swift-proto, all of which are in flux and potential sources of breaking changes. We are currently testing with the following versions:
grpc-swift is released under the same license as gRPC, repeated in LICENSE.
Please get involved! See our guidelines for contributing.