Commit Graph

44 Commits

Author SHA1 Message Date
Esun Kim a3dae00f89
[Deps] Upgrade Protobuf to v23.1 (#33164)
Along with the required Abseil & upb upgrade.
2023-05-18 14:46:59 -07:00
Esun Kim dc95133140
[Deps] Upgrade Protobuf v23 (#32914)
Upgrading Protobuf and Upb to v23.0
2023-05-09 12:24:21 -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 0cde9a7550
make_grpcio_tools.py improvements: more readable diffs (#32583)
- sort source files to ensure stable ordering
- generate one source file per line

together this should produce diffs that are much more readable by humans
when sources get added/removed to/from protobuf (and
make_grpcio_tools.py is used to regenerate).
2023-03-10 10:56:04 +01:00
Jan Tattermusch dafcb3b6e6
Update third_party/protobuf to 3.21.12 (#32136)
* Update third_party/protobuf

* run tools/distrib/python/make_grpcio_tools.py

* update build_handwritten.yaml

* regenerate projects

* manual change: fix tools/distrib/check_protobuf_pod_version.sh to accept new-style protobuf tags

* improve comments for check_protobuf_pod_version hack
2023-01-20 21:18:53 +01:00
Richard Belleville 2d94537854
Re-add compiler protos to grpcio-tools (#31062)
* Re-add compiler protos to grpcio-tools

* Attempt to break

* Actually fail if protobufs don't compile. Who wrote this thing?

* Add an actual test

* yapf

* Whoops. Thought I'd reverted you

* Please the formatter gods
2022-09-20 17:15:39 -07:00
Richard Belleville e609ad88c9
Update protobuf to v21.6 (#31015)
* Update third_party/protobuf

* run tools/distrib/python/make_grpcio_tools.py

* update build_handwritten.yaml

* regenerate projects

* Update Python version floor
2022-09-16 17:50:52 -07:00
apolcyn 27a9bde44b
Update protobuf submodule to 3.21.5 (#30548)
* Update third_party/protobuf

* run tools/distrib/python/make_grpcio_tools.py

* regenerate protos for ruby, php

* update build_handwritten.yaml

* regenerate projects
2022-08-10 09:39:26 -07:00
Yash Tibrewal 41ec08c69a
Update third_party/protobuf to 3.21.4 (#30377)
* Update third_party/protobuf

* run tools/distrib/python/make_grpcio_tools.py

* regenerate protos for ruby, php

* update build_handwritten.yaml

* regenerate projects

* Build - Use :well_known_type_protos instead of :well_known_protos

* Fix target

* Update upb

* Update Python for Protobuf 4.21 (#140)

* Update protobuf dependency on grpcio-tools

* Off by one

* Drop python 3.6 support

* Try upgrading pip

* And in the other script

* Try to figure out if we're compatible with abi3

* See what we've already got installed

* Update the requirements.txt file I didn't know existed

* And here too

* See what's installed

* Let's try that again

* Remove

* Try to confirm version

* Let me see the generated code

* Fix non-Bazel test runner

* Work for all test directories

* Regenerate example protos

* Clean up

* Generate .pyi files

* Fix type checking and linting

* Exclude pyi files from isort

* Upgrade to 3.21.4

* Update iwyu to get around messy protobuf IWYU rules

Co-authored-by: Richard Belleville <gnossen@gmail.com>
2022-08-04 09:39:49 -07:00
AJ Heller fc6f0277a4
Update third_party/protobuf to v3.19.4 (#28842)
* Update third_party/protobuf

* run tools/distrib/python/make_grpcio_tools.py

* update build_handwritten.yaml

* regenerate projects
2022-02-11 08:47:36 -08:00
Jan Tattermusch 42c08b9b56
Update third_party/protobuf to v3.19.2 (#28511)
* Update third_party/protobuf

* run tools/distrib/python/make_grpcio_tools.py

* regenerate protos for csharp, ruby, php

* update build_handwritten.yaml

* regenerate projects
2022-01-12 18:35:07 +01:00
Jan Tattermusch eceffa09cb
upgrade protobuf to 3.18.1 (automatically generated) (#27722)
* Update third_party/protobuf

* run tools/distrib/python/make_grpcio_tools.py

* regenerate protos for csharp, ruby, php

* update build_handwritten.yaml

* update Protobuf-C++.podspec

* regenerate projects

* [objc] Patch protobuf podspec for 3.18.1 update

- excluding reflection_tester with gtest dependency

Co-authored-by: dennycd <dennycd@google.com>
2021-10-21 14:52:28 -07:00
donnadionne f9a2a7401a
Upgrade third_party/protobuf to v3.17.3 (#27227)
* update protobuf dependency

* version changes and generated files

* updating upb to use the latest proto and regen files
2021-09-05 22:21:37 -07:00
Yash Tibrewal 81276fff2e
Update protobuf version to 3.15.8 (#26105)
* Update protobuf version to 3.15.8

* Run tools/distrib/python/make_grpcio_tools.py
2021-04-30 11:03:23 -07:00
Karthik Ravi Shankar 2fd9f5ead9
Update third_party/protobuf to v3.15.2 (#25565)
* Update protobuf to v3.15.2

* revert boringssl podspec changes

Co-authored-by: Jan Tattermusch <jtattermusch@google.com>
2021-02-26 13:32:25 -08:00
Jan Tattermusch ded080e955 re-run tools/distrib/python/make_grpcio_tools.py 2021-01-16 13:12:16 +01:00
Jan Tattermusch 3fcf6620f0 re-run tools/distrib/python/make_grpcio_tools.py 2021-01-11 10:27:24 +01:00
Jan Tattermusch 6c99a037d0 run tools/distrib/python/make_grpcio_tools.py 2021-01-11 09:58:05 +01:00
Jan Tattermusch 2e86c86540 run tools/distrib/python/make_grpcio_tools.py 2020-08-25 12:57:21 +02:00
Stanley Cheung 6f72faa74b Update to protobuf 3.12.2 2020-05-29 13:50:27 -07:00
Stanley Cheung eccbac3443 Update grpc protoc plugins to support proto3 optional 2020-05-29 13:50:18 -07:00
Karthik Ravi Shankar 063704ebad
Revert "Update grpc protoc plugin to be compliant of proto3 field presence" 2020-05-29 11:21:24 -07:00
Stanley Cheung f70ebf85a6 Update to protobuf 3.12.2 2020-05-27 18:30:12 -07:00
Stanley Cheung dc9b100865 Update grpc protoc plugins to support proto3 optional 2020-05-27 18:30:12 -07:00
Jan Tattermusch 93e227c2f4 run tools/distrib/python/make_grpcio_tools.py 2020-04-27 04:51:38 -04:00
Jan Tattermusch d684931595 run make_grpcio_tools.py 2020-01-15 04:43:59 -05:00
Hao Nguyen 1ddaafd677 Update protobuf version 2019-05-29 16:37:10 -07:00
Jan Tattermusch ce22e246d7 run tools/distrib/python/make_grpcio_tools.py 2019-03-12 05:09:46 -04:00
Jan Tattermusch d404e322bf run make_grpcio_tools.py 2018-08-07 14:28:41 +02:00
Jan Tattermusch 0ff1249d4d update python grpcio_tools 2018-08-07 14:28:40 +02:00
Mehrdad Afshari b7d49bbe1f Regenerate grpcio_tools protobuf dependencies 2018-04-19 00:59:37 -04:00
Mehrdad Afshari 28661ea6e1 Bump third_party/protobuf submodule to v3.5.0 2017-11-24 17:56:04 -08:00
Mehrdad Afshari 9b4315682b Do not require bazel for check_grpcio_tools.py
The `make_grpcio_tools.py` rube-goldberg machinery relies on
`bazel` to extract the list of files required to compile the
`grpcio-tools` package that are provided by the `protobuf`
submodule.  In order to ensure that list is up to date,
`check_grpcio_tools.py` sanity check does the same `bazel`
query, and checks the full contents against the already
existing list in the repository.  This has the downside of
requiring `bazel` to run that particular check at sanity test
time, and flakiness has been seen there.

This commit changes the code generation process to include
the git hash of the submodule at the time `make_grpcio_tools.py`
is invoked and stores it in the generated file and instead of
doing the whole process at test time, the `check_grpcio_tools.py`
sanity test simply checks the submodule version at test time
and verifies it against the version included in the file by
`make_grpcio_tools.py` thus removing the `bazel` dependency
at test time and increasing test robustness and speed.
2017-11-20 12:14:23 -08:00
Stanley Cheung de4b59b11c ran make_grpcio_tools.py 2017-08-10 11:01:35 -07:00
Jan Tattermusch 7897ae9308 auto-fix most of licenses 2017-06-08 11:22:41 +02:00
Ken Payson 029090628d Upgrade protobuf to 3.3.0 2017-05-08 12:18:12 -07:00
Ken Payson b702ce2117 Fix PHP interop tests 2017-04-18 14:29:57 -07:00
Ken Payson 975b5103e5 Fix build on Alpine linux + add portability tests 2017-04-06 13:39:35 -07:00
Jan Tattermusch 5cf218e641 regenerate protoc_lib_deps.py 2017-03-07 13:00:19 +01:00
Stanley Cheung 146a3773da PHP Proto3: upgrade protobuf to v3.1.0 and regenerate reflection.proto 2016-09-29 17:26:50 -07:00
Masood Malekghassemi 2dbc217e5e Add common proto files to Python grpcio-tools 2016-06-07 16:57:14 -07:00
Nicolas "Pixel" Noble c810a38170 Bumping protobuf submodule to beta-3-pre1. 2016-05-11 00:57:55 +02:00
Masood Malekghassemi 0e25c8d71a Tightly integrate the Python plugin with its protoc
This grossly simplifies the protoc invocation to:
python -m grpc.protoc.compiler --python_out=... --grpc_python_out=...
[...] --plugin=protoc-gen-python-grpc=grpc_python_protoc_plugin... [...]
2016-05-04 15:30:30 -07:00
Masood Malekghassemi 58d24c259a Add sanity test for grpcio protoc package 2016-05-04 15:30:30 -07:00