Commit Graph

618 Commits

Author SHA1 Message Date
Jan Tattermusch 4d33b5c955
Merge pull request #19182 from haon4/201905291635
Update protobuf version to 3.8.0
2019-06-18 17:36:27 +02:00
Lidi Zheng 9bd526260a Remove unused imports 2019-06-14 16:49:53 -07:00
Lidi Zheng 550dae1c47 Workaround the address contention issue 2019-06-14 10:41:35 -07:00
Lidi Zheng 559023c01d Adopt reviewer's advice 2019-06-13 10:45:46 -07:00
Hao Nguyen 7f787bd083 Link against pthread in examples 2019-06-11 12:12:33 -07:00
Lidi Zheng f7cb9c9f3e Add Debug Example 2019-06-10 15:29:03 -07:00
vam db7fd70166 Fix examples (forgot to rename usages of the renamed target) 2019-05-06 10:44:34 -07:00
vam f4affeec66 Merge remote-tracking branch 'upstream/master' 2019-05-03 16:49:50 -07:00
vam 4269ce08f4 Make cc_grpc_library compatible with native proto_library and cc_proto_library rules.
This is needed to comply with bazel best practices (each proto file is first processed by proto_library: https://docs.bazel.build/versions/master/be/protocol-buffer.html#proto_library) and generally bring cc_grcp_library rule up to date with latest Bazel changes (the rule hasn't gotten much updates since 2016).

Detailed description.

Bazel has native `cc_proto_library` rule, but it does not have `cc_grpc_library`. The rule in cc_grpc_library in this repo seems like the best candidate.

This change makes possible using `cc_grpc_library` to generate on grpc library, and consume protobuf protion as dependencies. The typical `BUILD.bazel` file configuraiton now should look like the following:

```python
proto_library(
   name = "my_proto",
   srcs = ["my.proto"],
 )

cc_proto_library(
   name = "my_cc_proto",
   deps = [":my_proto"]
)

cc_grpc_library(
    name = "my_cc_grpc",
    srcs = [":my_proto"],
    deps = [":my_cc_proto"]
)
```

This allows to decouple all thre phases: proto descriptors generation (`proto_library`), protobuf messages library creation (`cc_proto_library`), grpc library creatio (`cc_grpc_library`).

Notice how `cc_grpc_library` depends on `proto_library` (as `src`) and on `cc_proto_library` (as `deps`). Currently cc_grpc_library is designed in a way that it encapsulates all of the above and directly accepts .proto files as srcs.

The previous version (before this PR) of cc_proto_library was encapsulating all of the 3 phases inside single `cc_proto_library` and also was doing it manually (without relying on the native `cc_proto_library`).

The `cc_proto_library` is kept backward-compatible with the old version.
2019-05-03 16:43:54 -07:00
Richard Belleville 930cec4e27 Revert "Merge pull request #18912 from grpc/revert-bazel-changes"
This reverts commit c9a259aa3a, reversing
changes made to 9c882bc725.
2019-04-30 11:17:11 -07:00
Richard Belleville 50b5240d0a Revert "Merge pull request #18859 from grpc/internal_py_proto_library"
This reverts commit 5b720f19c1, reversing
changes made to a64ae3c0d5.
2019-04-29 17:47:56 -07:00
Richard Belleville 5391d8427e Moar ipv6 2019-04-25 13:53:23 -07:00
Richard Belleville aec0860ebf Remove redundant line 2019-04-25 12:56:46 -07:00
Richard Belleville 1c65fd19e8 Fix wait_for_ready example for ipv4-only environments like Kokoro 2019-04-25 12:55:58 -07:00
Richard Belleville 4de4a7da7b Reenable python bazel tests 2019-04-25 10:27:01 -07:00
Richard Belleville afdc59712d Merge branch 'master' into internal_py_proto_library 2019-04-25 10:01:41 -07:00
Richard Belleville 05f37c8143 Remove dependency on pubref/rules_proto.
This commit resolves #18331.
This commit resolves #18256.
This commit resolves... another TODO that apparently didn't have an
associated github issue.

We swap out pubref's implementation of py_proto_library with our own,
which more closely mirrors the interface of the internal
py_proto_library, taking the descriptor file output of a proto_library
rule as input.

One minor change in behavior was introduced for simplicity. When a
py_proto_library depends on a proto_library with a source proto file in
a subdirectory of the bazel package, the import module of the resultant
python library will reflect the package, *not* the full directory of the
proto file, including both the bazel package and the subdirectories, as
pubref did previously. This behavior also more closely mirrors google
internal behavior.

This commit also introduces a slightly more stringent bazel format
script. Buildifier on its own will not take care of long lines, but by
running yapf first, we end up with a more legible file. At the moment,
there is no sanity check associated with this formatter.
2019-04-24 17:36:08 -07:00
Muxi Yan 0eec19a3bc
Merge pull request #18766 from muxi/examples-v2api
Updated all ObjC examples to use the new api
2019-04-23 08:45:01 -07:00
Muxi Yan f5262fe259 Update objc examples to use v2 API 2019-04-19 14:22:00 -07:00
Lidi Zheng f062722c61 Adopt reviewer's advice
* Use context manager to manage tcp socket
* Rename tcp socket
* Fix grammer error
2019-04-16 13:44:46 -07:00
Lidi Zheng 541cb00470 Add wait-for-ready example
* With unit test
* With Bazel integration
* With REAME.md explaination
2019-04-16 12:24:23 -07:00
SataQiu c99ac03b11 fix some spell errors 2019-04-10 15:45:54 +08:00
Juanli Shen 68a2277121
Merge pull request #18460 from AspirinSJL/fix_route_guide
Fix route guide example
2019-04-03 14:34:13 -07:00
rmstar 82040c8d77
Merge pull request #17727 from rmstar/examples_bazel
Added bazel build targets for cpp examples
2019-03-28 22:11:19 -07:00
Prashant Jaikumar 4f2d8a0014 Fix bazel build for examples
Fixed the bazel build for some code in the examples directory.
2019-03-28 18:59:14 -07:00
Lidi Zheng 7bb9e33d1a Add one more import path for py_test 2019-03-27 17:27:47 -07:00
Lidi Zheng 93bab217be Fix the import order to make hack work 2019-03-27 16:37:37 -07:00
Lidi Zheng 85bcce2e08 Fix typo in BUILD.bazel 2019-03-27 12:19:36 -07:00
Lidi Zheng b3d907dce9 Explicitly depend on :grpcio 2019-03-25 14:41:39 -07:00
Lidi Zheng d7429dbb4a Fix the proto rules conflict 2019-03-25 14:18:35 -07:00
Lidi Zheng 7771290fcd Pin the proto definitions to a specific commit 2019-03-25 12:38:20 -07:00
Lidi Zheng f527cfbbac Adopt review's advice
* Add a unit test
* Integrate with Bazel
* Polish README.md
2019-03-25 12:24:11 -07:00
Lidi Zheng 30cc99d42c Add Python example for error handling 2019-03-25 10:43:10 -07:00
Juanli Shen 3f3f177222 Fix route guide example 2019-03-20 16:15:37 -07:00
Benjamin Krämer 6e2ad131fc
Update README.md
Fixed misleading information about supported VS version
2019-03-19 14:45:04 +01:00
Moses Koledoye 84cb531b72
Fix typo 2019-03-15 22:23:52 +00:00
Richard Belleville dde238cb5d Apparently no ipv6 on kokoro 2019-03-12 10:44:05 -07:00
Richard Belleville f3b57e35ec Properly import protos 2019-03-12 10:15:19 -07:00
Richard Belleville b9659d58da Actually generate proto 2019-03-12 09:16:30 -07:00
Richard Belleville 2a50960b4c Add copyright to BUILD file 2019-03-12 08:37:07 -07:00
Richard Belleville 2640822c2d Remove a statement proven wrong by science 2019-03-08 17:24:59 -08:00
Richard Belleville 4c8c8e36d2 Show some respect 2019-03-08 16:52:33 -08:00
Richard Belleville 69b5476429 Expand the readme 2019-03-08 16:38:58 -08:00
Richard Belleville d359dbe44d Remove unnecessary flush 2019-03-08 16:21:49 -08:00
Richard Belleville 81c3b0bfb6 Fix lint errors 2019-03-08 16:18:57 -08:00
Richard Belleville d832738c08 Yapf 2019-03-08 15:16:12 -08:00
Richard Belleville 67ca10b4f9 Add README 2019-03-08 15:06:02 -08:00
Richard Belleville 0f6293e85e Improve logging handlers 2019-03-08 13:50:17 -08:00
Richard Belleville acbc095ab8 Implement test for example 2019-03-08 13:40:44 -08:00
Richard Belleville 5c4823c17b Build with bazel 2019-03-07 16:34:48 -08:00