Skip to main content

buffa_codegen/generated/
mod.rs

1//! Generated protobuf descriptor types for bootstrapping.
2//!
3//! These types are generated from `google/protobuf/descriptor.proto` and
4//! `google/protobuf/compiler/plugin.proto` using buffa-codegen itself.
5//! This makes buffa-codegen fully self-hosted — no external protobuf
6//! library is needed to decode protoc's `CodeGeneratorRequest` — and gives
7//! direct access to edition features (`FeatureSet`, `Edition`, etc.).
8//!
9//! To regenerate:
10//! ```sh
11//! protoc --descriptor_set_out=/tmp/descriptor_set.pb --include_imports \
12//!     -I <protobuf-src>/src \
13//!     google/protobuf/descriptor.proto \
14//!     google/protobuf/compiler/plugin.proto
15//! cargo run --bin gen_descriptor_types -- /tmp/descriptor_set.pb
16//! ```
17
18#[allow(
19    clippy::all,
20    dead_code,
21    missing_docs,
22    unused_imports,
23    unreachable_patterns,
24    non_camel_case_types
25)]
26pub mod descriptor {
27    // Re-export the buffa crate so `::buffa::` paths in generated code resolve.
28    use buffa;
29    include!("google.protobuf.descriptor.rs");
30}
31
32// Re-export the specific descriptor types referenced via `super::` from the
33// compiler module (cross-package references in generated code).
34#[allow(unused_imports)]
35pub use descriptor::{FileDescriptorProto, GeneratedCodeInfo};
36
37#[allow(
38    clippy::all,
39    dead_code,
40    missing_docs,
41    unused_imports,
42    unreachable_patterns,
43    non_camel_case_types
44)]
45pub mod compiler {
46    // Re-export GeneratedCodeInfo so `super::GeneratedCodeInfo` resolves from
47    // nested sub-modules (e.g. `code_generator_response::File`).
48    #[allow(unused_imports)]
49    pub use crate::generated::descriptor::GeneratedCodeInfo;
50
51    use buffa;
52    include!("google.protobuf.compiler.plugin.rs");
53}