Skip to content

Commit bfe033f

Browse files
authored
Update Example READMEs (#2179)
Motivation: The examples now use the Swift PM build plugin but the READMEs weren't updated to include the PROTOC_PATH. Modifications: - update READMEs Result: Better examples
1 parent 4c6357d commit bfe033f

File tree

5 files changed

+70
-10
lines changed

5 files changed

+70
-10
lines changed

Examples/echo/README.md

+16-4
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,36 @@ the four RPC types.
1212
The tool uses the [SwiftNIO](https://github.com/grpc/grpc-swift-nio-transport)
1313
HTTP/2 transport.
1414

15+
## Prerequisites
16+
17+
You must have the Protocol Buffers compiler (`protoc`) installed. You can find
18+
the instructions for doing this in the [gRPC Swift Protobuf documentation][0].
19+
The `swift` commands below are all prefixed with `PROTOC_PATH=$(which protoc)`,
20+
this is to let the build system know where `protoc` is located so that it can
21+
generate stubs for you. You can read more about it in the [gRPC Swift Protobuf
22+
documentation][1].
23+
1524
## Usage
1625

1726
Build and run the server using the CLI:
1827

1928
```console
20-
$ swift run echo serve
29+
$ PROTOC_PATH=$(which protoc) swift run echo serve
2130
Echo listening on [ipv4]127.0.0.1:1234
2231
```
2332

2433
Use the CLI to make a unary 'Get' request against it:
2534

2635
```console
27-
$ swift run echo get --message "Hello"
36+
$ PROTOC_PATH=$(which protoc) swift run echo get --message "Hello"
2837
get → Hello
2938
get ← Hello
3039
```
3140

3241
Use the CLI to make a bidirectional streaming 'Update' request:
3342

3443
```console
35-
$ swift run echo update --message "Hello World"
44+
$ PROTOC_PATH=$(which protoc) swift run echo update --message "Hello World"
3645
update → Hello
3746
update → World
3847
update ← Hello
@@ -42,5 +51,8 @@ update ← World
4251
Get help with the CLI by running:
4352

4453
```console
45-
$ swift run echo --help
54+
$ PROTOC_PATH=$(which protoc) swift run echo --help
4655
```
56+
57+
[0]: https://swiftpackageindex.com/grpc/grpc-swift-protobuf/documentation/grpcprotobuf/installing-protoc
58+
[1]: https://swiftpackageindex.com/grpc/grpc-swift-protobuf/documentation/grpcprotobuf/generating-stubs

Examples/error-details/README.md

+13-1
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,21 @@ described in more detailed in the [gRPC Error
1010
Guide](https://grpc.io/docs/guides/error/) and is made available via the
1111
[grpc-swift-protobuf](https://github.com/grpc-swift-protobuf) package.
1212

13+
## Prerequisites
14+
15+
You must have the Protocol Buffers compiler (`protoc`) installed. You can find
16+
the instructions for doing this in the [gRPC Swift Protobuf documentation][0].
17+
The `swift` commands below are all prefixed with `PROTOC_PATH=$(which protoc)`,
18+
this is to let the build system know where `protoc` is located so that it can
19+
generate stubs for you. You can read more about it in the [gRPC Swift Protobuf
20+
documentation][1].
21+
1322
## Usage
1423

1524
Build and run the example using the CLI:
1625

1726
```console
18-
$ swift run
27+
$ PROTOC_PATH=$(which protoc) swift run
1928
Error code: resourceExhausted
2029
Error message: The greeter has temporarily run out of greetings.
2130
Error details:
@@ -24,3 +33,6 @@ Error details:
2433
- Help links:
2534
- https://en.wikipedia.org/wiki/Caffeine (A Wikipedia page about caffeine including its properties and effects.)
2635
```
36+
37+
[0]: https://swiftpackageindex.com/grpc/grpc-swift-protobuf/documentation/grpcprotobuf/installing-protoc
38+
[1]: https://swiftpackageindex.com/grpc/grpc-swift-protobuf/documentation/grpcprotobuf/generating-stubs

Examples/hello-world/README.md

+15-3
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,37 @@ service which allows you to start a server and to make requests against it.
1010
The tool uses the [SwiftNIO](https://github.com/grpc/grpc-swift-nio-transport)
1111
HTTP/2 transport.
1212

13+
## Prerequisites
14+
15+
You must have the Protocol Buffers compiler (`protoc`) installed. You can find
16+
the instructions for doing this in the [gRPC Swift Protobuf documentation][0].
17+
The `swift` commands below are all prefixed with `PROTOC_PATH=$(which protoc)`,
18+
this is to let the build system know where `protoc` is located so that it can
19+
generate stubs for you. You can read more about it in the [gRPC Swift Protobuf
20+
documentation][1].
21+
1322
## Usage
1423

1524
Build and run the server using the CLI:
1625

1726
```console
18-
$ swift run hello-world serve
27+
$ PROTOC_PATH=$(which protoc) swift run hello-world serve
1928
Greeter listening on [ipv4]127.0.0.1:31415
2029
```
2130

2231
Use the CLI to send a request to the service:
2332

2433
```console
25-
$ swift run hello-world greet
34+
$ PROTOC_PATH=$(which protoc) swift run hello-world greet
2635
Hello, stranger
2736
```
2837

2938
Send the name of the greetee in the request by specifying a `--name`:
3039

3140
```console
32-
$ swift run hello-world greet --name "PanCakes 🐶"
41+
$ PROTOC_PATH=$(which protoc) swift run hello-world greet --name "PanCakes 🐶"
3342
Hello, PanCakes 🐶
3443
```
44+
45+
[0]: https://swiftpackageindex.com/grpc/grpc-swift-protobuf/documentation/grpcprotobuf/installing-protoc
46+
[1]: https://swiftpackageindex.com/grpc/grpc-swift-protobuf/documentation/grpcprotobuf/generating-stubs

Examples/reflection-server/README.md

+12
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,15 @@ protoc --descriptor_set_out=path/to/output.pb path/to/input.proto \
2323
--include_imports
2424
```
2525

26+
## Prerequisites
27+
28+
You must have the Protocol Buffers compiler (`protoc`) installed. You can find
29+
the instructions for doing this in the [gRPC Swift Protobuf documentation][0].
30+
The `swift` commands below are all prefixed with `PROTOC_PATH=$(which protoc)`,
31+
this is to let the build system know where `protoc` is located so that it can
32+
generate stubs for you. You can read more about it in the [gRPC Swift Protobuf
33+
documentation][1].
34+
2635
## Usage
2736

2837
Build and run the server using the CLI:
@@ -59,3 +68,6 @@ $ grpcurl -plaintext -d '{ "text": "Hello" }' 127.0.0.1:31415 echo.Echo.Get
5968
"text": "Hello"
6069
}
6170
```
71+
72+
[0]: https://swiftpackageindex.com/grpc/grpc-swift-protobuf/documentation/grpcprotobuf/installing-protoc
73+
[1]: https://swiftpackageindex.com/grpc/grpc-swift-protobuf/documentation/grpcprotobuf/generating-stubs

Examples/route-guide/README.md

+14-2
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,28 @@ HTTP/2 transport.
1515
This example has an accompanying tutorial hosted on the [Swift Package
1616
Index](https://swiftpackageindex.com/grpc/grpc-swift/main/tutorials/grpccore/route-guide).
1717

18+
## Prerequisites
19+
20+
You must have the Protocol Buffers compiler (`protoc`) installed. You can find
21+
the instructions for doing this in the [gRPC Swift Protobuf documentation][0].
22+
The `swift` commands below are all prefixed with `PROTOC_PATH=$(which protoc)`,
23+
this is to let the build system know where `protoc` is located so that it can
24+
generate stubs for you. You can read more about it in the [gRPC Swift Protobuf
25+
documentation][1].
26+
1827
## Usage
1928

2029
Build and run the server using the CLI:
2130

2231
```console
23-
$ swift run route-guide serve
32+
$ PROTOC_PATH=$(which protoc) swift run route-guide serve
2433
server listening on [ipv4]127.0.0.1:31415
2534
```
2635

2736
Use the CLI to interrogate the different RPCs you can call:
2837

2938
```console
30-
$ swift run route-guide --help
39+
$ PROTOC_PATH=$(which protoc) swift run route-guide --help
3140
USAGE: route-guide <subcommand>
3241

3342
OPTIONS:
@@ -42,3 +51,6 @@ SUBCOMMANDS:
4251

4352
See 'route-guide help <subcommand>' for detailed help.
4453
```
54+
55+
[0]: https://swiftpackageindex.com/grpc/grpc-swift-protobuf/documentation/grpcprotobuf/installing-protoc
56+
[1]: https://swiftpackageindex.com/grpc/grpc-swift-protobuf/documentation/grpcprotobuf/generating-stubs

0 commit comments

Comments
 (0)