grpc-java/examples
Eric Anderson 06c40dccc3 android: Fix ProGuard rules in Android apps
Fixes #2207. This is actually a workaround. Ideally users shouldn't need
to -keep classes, but it's a bit risky to fix the real issue before 1.1.
The further fix will be done as part of #2633.

The interop app's build.gradle change is necessary to compile with newer
Gradle versions. The com.google.errorprone.annotations was necessary in
order to prevent annotation warnings from failing the build.
2017-01-23 09:11:09 -08:00
..
android android: Fix ProGuard rules in Android apps 2017-01-23 09:11:09 -08:00
gradle/wrapper all: update to gradle 3.2 2016-11-23 14:43:18 -08:00
src compiler: final bindService() in generated code. (#2553) 2016-12-29 10:32:47 -08:00
thrift Support Thrift Messages 2016-07-28 08:48:27 -07:00
README.md docs: add links to examples and tutorials. (#2614) 2017-01-18 09:06:45 -08:00
build.gradle examples: unit test examples for users 2016-11-15 14:15:55 -08:00
gradlew all: update to gradle 3.2 2016-11-23 14:43:18 -08:00
gradlew.bat all: update to gradle 3.2 2016-11-23 14:43:18 -08:00
pom.xml examples: unit test examples for users 2016-11-15 14:15:55 -08:00
settings.gradle Support Thrift Messages 2016-07-28 08:48:27 -07:00

README.md

grpc Examples

The examples require grpc-java to already be built. You are strongly encouraged to check out a git release tag, since there will already be a build of grpc available. Otherwise you must follow COMPILING.

You may want to read through the Quick Start Guide before trying out the examples.

To build the examples, run in this directory:

$ ./gradlew installDist

This creates the scripts hello-world-server, hello-world-client, route-guide-server, and route-guide-client in the build/install/examples/bin/ directory that run the examples. Each example requires the server to be running before starting the client.

For example, to try the hello world example first run:

$ ./build/install/examples/bin/hello-world-server

And in a different terminal window run:

$ ./build/install/examples/bin/hello-world-client

That's it!

Please refer to gRPC Java's README and tutorial for more information.

Maven

If you prefer to use Maven:

$ mvn verify
$ # Run the server
$ mvn exec:java -Dexec.mainClass=io.grpc.examples.helloworld.HelloWorldServer
$ # In another terminal run the client
$ mvn exec:java -Dexec.mainClass=io.grpc.examples.helloworld.HelloWorldClient

Unit test examples

Examples for unit testing gRPC clients and servers are located in examples/src/test.

In general, we DO NOT allow overriding the client stub. We encourage users to leverage InProcessTransport as demonstrated in the examples to write unit tests. InProcessTransport is light-weight and runs the server and client in the same process without any socket/TCP connection.

For testing a gRPC client, create the client with a real stub using an InProcessChannel, and test it against an InProcessServer with a mock/fake service implementation.

For testing a gRPC server, create the server as an InProcessServer, and test it against a real client stub with an InProcessChannel.