Commit Graph

111 Commits

Author SHA1 Message Date
Michael
c4bbaa25f8 Fix Typos In Docs & Code Comments (#37170)
There are several typos in files within the ./examples/* directory, so just a PR to fix them

Closes #37170

PiperOrigin-RevId: 650818587
2024-07-09 18:25:39 -07:00
Tanvi Jagtap
38fd697579 [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT (#36359)
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36359

PiperOrigin-RevId: 625183028
2024-04-15 20:56:16 -07:00
Tanvi Jagtap
fc09bb43b7 [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT (#36327)
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging

go/gpr_to_absl_logs

Replacing GPR_ASSERT with absl CHECK

GPR_ASSERT http://google3/third_party/grpc/include/grpc/support/log.h?q=symbol%3A%5CbGPR_ASSERT%5Cb%20case%3Ayes

CHECK http://google3/third_party/absl/log/check.h?q=symbol%3A%5CbCHECK%5Cb%20case%3Ayes

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36327

PiperOrigin-RevId: 623851813
2024-04-11 09:44:44 -07:00
Hannah Shi
988c85535d [ObjC] Upgrade podspec xx.deployment_target (#33091)
Upgrade apple platform deployment_target versions to fix the cocoapods
push of BoringSSL-GRPC about the following error:
```
ld: file not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
ref: https://developer.apple.com/forums/thread/725300

This also aligns with the versions required by
[protobuf](https://github.com/protocolbuffers/protobuf/pull/10652)

```
ios.deployment_target = '10.0'
osx.deployment_target = '10.12'
tvos.deployment_target = '12.0'
watchos.deployment_target = '6.0'
```
2023-05-20 20:38:24 +00:00
Esun Kim
303e568f27 [Build] Removed gRPC_PROTOBUF_PACKAGE_TYPE, supporting config only (#32988)
`FindProtobuf` isn't working as Protobuf began to use Abseil so gRPC is
now using `CONFIG` mode for protobuf module
(Context: https://gitlab.kitware.com/cmake/cmake/-/issues/24321)
2023-05-04 13:55:42 -07:00
Jan Tattermusch
0f1afec5a8 [protobuf] Upgrade third_party/protobuf to 22.x (#32606)
The very non-trivial upgrade of third_party/protobuf to 22.x
This PR strives to be as small as possible and many changes that were
compatible with protobuf 21.x and didn't have to be merged atomically
with the upgrade were already merged.
Due to the complexity of the upgrade, this PR wasn't created
automatically by a tool, but manually. Subsequent upgraded of
third_party/protobuf with our OSS release script should work again once
this change is merged.

This is best reviewed commit-by-commit, I tried to group changes in
logical areas.

Notable changes:
- the upgrade of third_party/protobuf submodule, the bazel protobuf
dependency itself
- upgrade of UPB dependency to 22.x (in the past, we used to always
upgrade upb to "main", but upb now has release branch as well). UPB
needs to be upgraded atomically with protobuf since there's a de-facto
circular dependency (new protobuf depends on new upb, which depends on
new protobuf for codegen).
- some protobuf and upb bazel rules are now aliases, so `
extract_metadata_from_bazel_xml.py` and `gen_upb_api_from_bazel_xml.py`
had to be modified to be able to follow aliases and reach the actual
aliased targets.
- some protobuf public headers were renamed, so especially
`src/compiler` needed to be updated to use the new headers.
- protobuf and upb now both depend on utf8_range project, so since we
bundle upb with grpc in some languages, we now have to bundle utf8_range
as well (hence changes in build for python, PHP, objC, cmake etc).
- protoc now depends on absl and utf8_range (previously protobuf had
absl dependency, but not for the codegen part), so python's
make_grpcio_tools.py required partial rewrite to be able to handle those
dependencies in the grpcio_tools build.
- many updates and fixes required for C++ distribtests (currently they
all pass, but we'll probably need to follow up, make protobuf's and
grpc's handling of dependencies more aligned and revisit the
distribtests)
- bunch of other changes mostly due to overhaul of protobuf's and upb's
internal build layout.

TODOs:
- [DONE] make sure IWYU and clang_tidy_code pass
- create a list of followups (e.g. work to reenable the few tests I had
to disable and to remove workaround I had to use)
- [DONE in cl/523706129] figure out problem(s) with internal import

---------

Co-authored-by: Craig Tiller <ctiller@google.com>
2023-04-12 18:43:58 +02:00
Jan Tattermusch
3fde13929b Switch to protobuf's /CMakeLists.txt instead of /cmake/CMakeLists.txt (#32678)
Try to react to https://github.com/protocolbuffers/protobuf/issues/12263
and https://github.com/protocolbuffers/protobuf/pull/12295

Protobuf's /cmake/CMakeLists.txt is now deprecated if favor of
/CMakeLists.txt


58ecf38aa5/cmake/CMakeLists.txt (L3)

In this PR:
- Adjust `cmake/protobuf.cmake` to use the right CMakeLists.txt
- adjust the C++ distribtests accordingly
2023-03-22 09:14:04 -07:00
Eugene Ostroukhov
d43e35738a Examples: unify command line flags (#32456)
1. All greeter servers now support flag `--port` to customize the listen
port.
2. All client implementation now have `--target` flag to specify the
server location.
3. ABSL is used to parse the flags to reduce the amount of boilerplate
code in the examples.

Fixes: #26989
2023-02-27 10:39:21 -08:00
Esun Kim
b64d623f24 CMake's better handling c++14 requirement (#31916)
* Bumped the cmake version version to 3.8

* Switch to target_compile_features for cxx_std_14

* Regen
2023-01-27 09:51:31 -08:00
Esun Kim
5fb4c2364d Clean-up pkgconfig (#31660)
* Clean-up pkgconfig

* Removed run_distrib_test_cmake_module_install_pkgconfig.sh

* Proper re2

* Clean up pkgconfig.sh test script
2022-11-22 10:51:17 -08:00
Mark D. Roth
447a058837 xDS: remove deprecated C++ APIs in the experimental namespace (#31451) 2022-10-26 14:53:57 -07:00
AJ Heller
24bc7c455f Match the greeter async example to the tutorial (#30731)
The "Prepare" bit is unnecessary for the basic async example. It's used
more meaningfully in the v2 async greeter implementations.
2022-08-24 11:45:32 -07:00
Esun Kim
03e9ac6f1f Requiring C++14 (#29589) 2022-05-12 21:17:32 -07:00
Esun Kim
192928c997 Use gRPC_BUILD_MSVC_MP_COUNT for windows cmake distrib tests (#28202) 2021-11-29 11:22:07 -08:00
Craig Tiller
d1e01ac139 Add a test for a (now-illegal) build file construct (#27602)
* Add a test for a (now-illegal) build file construct

* add to test suite!

* fix

* fix

* fix syntax
2021-10-06 07:43:59 -07:00
Craig Tiller
ea389c00c2 Adjust include order per style guide (#27175)
Introduce clang-format configuration to sort includes closer to our rules.
2021-09-08 12:14:44 -07:00
Nicolas Noble
a325d7f77a Pointing the protobuf submodule to the new URL (#26811)
* Pointing the protobuf submodule to the new URL

* Also changing WORKSPACE dependencies

* More references to the old URL...
2021-07-29 10:19:16 -07:00
Vijay Pai
8aff94558c De-experimentalize C++ callback API (#25728)
* De-experimentalize callback API

* Make FromServerContext based on ServerContextBase

* Fix lambda

* Fix headers

* De-experimentalize tests

* clang-format

* Fix consistency checks

* wip

* Fix const-ness of callback client read RPC requests

* Fix golden file

* Give full route_guide callback client example with Hold etc

* Complete example route-guide server

* De-experimentalize test services

* Omit unneeded using

* Remove some uses of non-experimental macro from test

* clang-format examples

* De-experimentalize async stub calls

* Remove experimental namespace use in qps, ubms

* De-experimentalize alarms, generic stubs, and context allocator

* De-experimentalize SetContextAllocator

* clang-format

* Fix conflicts

* Leave obsolete API in place until users can be migrated
2021-05-27 14:55:25 -07:00
Yash Tibrewal
a8ebadbe5f Parse command-line args (#26161) 2021-05-04 09:32:56 -07:00
Yash Tibrewal
4c53304dcf Add examples for xDS greeter client and server (#26157) 2021-05-03 23:26:41 -07:00
Vijay Pai
ce16365421 clang-format C++ examples (#25764) 2021-03-22 10:23:52 -07:00
Esun Kim
b941a771e2 Merge pull request #25046 from veblush/route_guide_example
Added CMakeLists for route_guide example
2021-01-20 10:32:25 -08:00
Esun Kim
e7afadc255 Refactor examples BUILD files 2020-12-23 09:23:32 -08:00
Esun Kim
69bb5e328e Added CMakeLists for route_guide example 2020-12-22 13:44:35 -08:00
Esun Kim
86050be0cf Clean up DEPLOYMENT_TARGET 2020-10-08 14:47:56 -07:00
Jan Tattermusch
f444177a01 Merge pull request #23252 from tuttieee/fix/hello-world-example-cmake-message
Fix a message indicating the protobuf version CMakeLists.txt
2020-10-06 15:27:53 +02:00
Donna Dionne
8dd0cb4712 Add support for xDS regex matchers. 2020-07-07 13:17:25 -07:00
Esun Kim
165ee5007a Replaced grpc::string with std::string 2020-06-29 17:56:36 -07:00
tuttieee
a61e02b90f Fix a message indicating the protobuf version in cpp hello_world example's CMakeLists.txt 2020-06-22 10:41:54 +09:00
Patrice Chalin
4c4933e056 Docs: fix links to quick start pages 2020-06-16 08:40:59 -04:00
Patrice Chalin
a3714f5b08 C++ Hello World: refer reader to Quick Start 2020-04-09 17:20:48 -04:00
Donna Dionne
48fa247304 Building C++ example with grpc++ instead of grpc++_unsecure
The example should be build with grpc++, not grpc++_unsecure.

For some reason in some branches like master, both versions are built in
so problem not detected.  This problem surfaced in 1.28x so needs to be
fixed to link with the correct grpc++.
2020-03-18 09:49:26 -07:00
Donna Dionne
ca8ba90292 Adding Proto Reflection and Health Check to basic C++ example server
And ensuring the example can be built and ran via
bazel, make, and cmake.
2020-03-05 12:47:14 -08:00
Jan Tattermusch
a28d67f0bf Merge pull request #21891 from jtattermusch/remove_useless_release_links
get rid of the https://grpc.io/release plague
2020-02-13 17:43:41 +01:00
Donna Dionne
2bf8cbb424 Modify helloworld example to allow a target string 2020-02-06 15:39:48 -08:00
Jan Tattermusch
21512217f2 get rid of the https://grpc.io/release plague 2020-02-04 15:01:03 +01:00
Eduardo Broto
60953c511d Add missing greeter_async_client2 to c++ helloworld CMakeLists.txt 2020-01-22 13:15:45 +01:00
Esun Kim
5207eba9ff Add abseil 2020-01-03 19:29:55 -08:00
Zack Galbreath
0be62b021a Add distrib test for CMake FetchContent build 2019-12-19 09:36:25 -05:00
Zack Galbreath
ec239c48f7 Allow helloworld example to provide its own protoc and grpc_cpp_plugin 2019-12-18 10:04:39 -05:00
Zack Galbreath
17f95ab1f5 Simplify helloworld makefile
Use pkg-config to automatically find grpc as a dependency of grpc++.
2019-10-09 12:42:30 -04:00
Przemysław Sobala
ac0aabdaca Add examples/cpp/helloworld/.gitignore 2019-09-11 10:50:10 +02:00
Christopher Warrington
4be4df3624 Bump min CMake to 3.5.1 to match Google benchmark
The Google Benchmark CMake build needs CMake 3.5.1 or newer. CMake 3.5.1
was released May 24, 2016 and is available in Debian stable and Ubuntu
16.04 and 18.04.
2019-07-02 23:02:47 +00:00
Hao Nguyen
7f787bd083 Link against pthread in examples 2019-06-11 12:12:33 -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
Moses Koledoye
84cb531b72 Fix typo 2019-03-15 22:23:52 +00:00
Jan Tattermusch
f389e5267a overhaul of top-level .md files 2018-06-20 20:35:04 +02:00
Jan Tattermusch
4a510960c6 add distribtest for grpc being added with cmake add_subdirectory 2018-03-29 14:12:10 +02:00
Jan Tattermusch
2286c633c2 cmake "superbuild" example using externalprojects 2018-03-28 19:30:44 +02:00
Vijay Pai
c90a85649b Change grpc++ references in names to grpcpp 2018-03-08 22:04:59 -08:00