roll: pigweed pw_protobuf/pw_protobuf_compiler: Basic edition support

This adds initial support for Protobuf editions to pw_protobuf, allowing
proto files with an edition instead of a syntax option to be compiled.
The pwpb code generator is made aware of editions, and makes most types
optional by default when compiled under edition 2023, per its spec.

Edition support initially only works within GN and Cmake, as the Bazel
build uses its own proto_library targets which interally invoke protoc.
The version of protoc currently used by Pigweed does not support
editions by default -- it requires an experimental flag. b/366316523
tracks updating our Protobuf version.

Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/235873
Original-Revision: b299522cffb0a18e07528e923f376ceee3e9c188

Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed
Rolled-Commits: f27cc845c43fe3..b299522cffb0a1
Roller-URL: https://ci.chromium.org/b/8736513633179052737
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I08ff97295414b8075f42f7d09421a86abc4251ce
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/showcase/sense/+/236481
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
1 file changed
tree: e882092e899d3ab4b6d3f58d18068915915118f2
  1. .github/
  2. .vscode/
  3. apps/
  4. device/
  5. modules/
  6. system/
  7. targets/
  8. tools/
  9. web_app/
  10. .bazelignore
  11. .bazelrc
  12. .bazelversion
  13. .buildifier.json
  14. .clang-format
  15. .clangd.shared
  16. .gitignore
  17. .pw_console.yaml
  18. AUTHORS
  19. BUILD.bazel
  20. CONTRIBUTING.md
  21. LICENSE
  22. MODULE.bazel
  23. MODULE.bazel.lock
  24. OWNERS
  25. pigweed.json
  26. README.md
README.md

Sense

git clone https://pigweed.googlesource.com/pigweed/showcase/sense

Welcome to Pigweed Sense, a tour of key Pigweed components experienced through an imagined air quality product.

Please visit Sense: An interactive tour through Pigweed to get started.