This resolves #5523 While bumping `com.android.tools.build:gradle:3.1.2` to `3.3.0`, some other plugins/artifacts/maven repo/buildscripts have to be updated: - gradle (wrapper) need to upgrade to 4.10.x - protobuf gradle plugin need to bump a version compatible with gradle version. - need add `google()` and `jcenter()` repos for android (otherwise `com.android.tools.build:aapt2:3.3.0x` and `trove4j` will not be found resp.) - need to accept license for Android "build-tools;28.0.3" in kokoro env. |
||
|---|---|---|
| .. | ||
| android/helloworld | ||
| src | ||
| README.md | ||
| build.gradle | ||
| settings.gradle | ||
README.md
grpc Kotlin example
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.md.
You may want to read through the Quick Start Guide before trying out the examples.
To build the examples,
-
Install gRPC Java library SNAPSHOT locally, including code generation plugin (Only need this step for non-released versions, e.g. master HEAD).
-
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.
Unit test examples
Examples for unit testing gRPC clients and servers are located in ./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 InProcessChannelBuilder.java and test it against an InProcessServer.java 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.
The gRPC-java library also provides a JUnit rule, GrpcCleanupRule.java, to do the graceful shutdown boilerplate for you.