Commit Graph

49 Commits

Author SHA1 Message Date
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
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
Ilya Lukin 06faf44d0b
Fix missed override specifier (#31489) 2023-01-06 18:07:04 -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
Esun Kim 03e9ac6f1f
Requiring C++14 (#29589) 2022-05-12 21:17:32 -07:00
Nicolas Noble eb2ae7a0cc
Fixing RouteGuide's C++ Reactor example. (#29404)
* Fixing RouteGuide's C++ Reactor example.

The current method involves locking and unlocking a mutex from different
threads, which isn't allowed. Changing the strategy a bit to address
this.

* Automated change: Fix sanity tests

* Switching to absl::Mutex to annotate usage properly.

* Actually, let's not cover the examples with sanity checks.
2022-04-21 10:03:28 -07:00
Yash Tibrewal 7fb4998029
RouteGuide example: Abort if database file not found (#29398) 2022-04-14 15:13:33 -07:00
AJ Heller 1f03bbab39
Small cleanup (#29125)
The std::moves of temporaries prevented copy elision, and the functions
were unused (one with a TODO to re-enable later)
2022-03-16 18:26:41 -07: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
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
Patrice Chalin 5ac3aa789f Docs: fix links to grpc.io tutorial pages 2020-06-16 08:47:24 -04:00
Tariq Ramlall efee7d4677
[Docs] Updated link to CPP example on grpc.io website. 2019-12-20 18:15:36 -05:00
Hao Nguyen 7f787bd083 Link against pthread in examples 2019-06-11 12:12:33 -07: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
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
Juanli Shen 3f3f177222 Fix route guide example 2019-03-20 16:15:37 -07:00
Jan Tattermusch db53a61b8f deduplicate C++ routeguide 2018-06-20 15:06:51 +02:00
Jan Tattermusch a26aecc03b reimplement distance calculation in routeguide 2018-03-23 07:44:30 +01:00
Vijay Pai c90a85649b Change grpc++ references in names to grpcpp 2018-03-08 22:04:59 -08:00
Toshihito Kikuchi 351506688d Update compiler/linker options to use pkg-config in C++ examples 2017-06-13 16:15:04 -07:00
Jan Tattermusch 7897ae9308 auto-fix most of licenses 2017-06-08 11:22:41 +02:00
Nicolas "Pixel" Noble 7f074e0e20 Merge branch 'v1.0.x' into manual-upmerge 2016-08-11 21:00:08 +02:00
Jorge Canizales 7a2bc14fc0 Merge commit '5e623b8d8d8d106bd4ab9a6d77ef43b1a134d8ec' into p0-advance-protobuf-version 2016-07-29 15:45:02 -07:00
Jorge Canizales 4343c904e2 Update Protobuf submodule to v3.0.0 (GA) 2016-07-29 15:39:45 -07:00
Muxi Yan cd0d8aed65 Identify system and remove --no-as-need if it is Mac OS 2016-07-26 14:13:46 -07:00
Muxi Yan 4e3df00f00 Removed --no-as-needed options from Makefile of HelloWorld and RouteGuide 2016-07-26 13:28:54 -07:00
Nicolas Noble 7645fdc4f0 Merge pull request #7393 from y-zeng/example_makefile
Enable server reflection in c++ examples
2016-07-21 14:28:55 -07:00
Jorge Canizales 9e6372380d Update protobuf submodule to 3.0.0-beta-4
Which has the fix for oneofs when using dynamic frameworks in ObjectiveC
2016-07-19 17:35:06 -07:00
Yuchen Zeng 1c58bd221d Enable server reflection in c++ examples 2016-07-07 14:19:04 -07:00
Jorge Canizales f29e364168 Bump protobuf version to beta-3.3
It’s just the merge of beta-3.1 and beta-3.2, both of which we need.
2016-07-01 15:56:57 -07:00
Nicolas "Pixel" Noble 81159e5adc Fixing examples. 2016-04-23 01:30:12 +02:00
Craig Tiller 6169d5f7b0 Update copyrights 2016-03-31 07:46:18 -07:00
Jan Tattermusch e7c2566252 Merge pull request #4913 from pszemus/master
Update protobuf version to v3.0.0-beta-2
2016-02-11 11:27:19 -08:00
Przemysław Sobala fbf8c0b8ca Update copyright 2016-02-11 11:03:21 +01:00
yang-g b45f265326 Remove reference to lgpr in examples 2016-02-04 09:48:39 -08:00
Przemysław Sobala ea9a031fed Update protobuf version 2016-01-27 14:07:09 +01:00
Julien Boeuf 8c48a2a196 Fixing cpp examples. 2015-10-17 22:23:02 -07:00
Nicolas Noble 87d09e3aa4 Merge pull request #3164 from yang-g/route_guide_cpp
Change route_guide.proto package name and fix build
2015-08-31 16:07:03 -07:00
yang-g e69909a7e7 fix build 2015-08-31 13:33:28 -07:00
yang-g b2a30c196e fix cpp 2015-08-31 13:14:24 -07:00
yang-g 92806a51ba remove ChannelArguments ref and update doc 2015-08-28 14:24:44 -07:00
yang-g 75d04da2e4 sync up with CreateChannel API change 2015-08-28 14:17:33 -07:00
Stanley Cheung 20fa6693f3 move examples to correct locations 2015-08-27 14:00:20 -07:00