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}