Skip to content
This repository has been archived by the owner on Apr 8, 2024. It is now read-only.

Generate module definitions #180

Open
DazWilkin opened this issue Apr 13, 2020 · 0 comments
Open

Generate module definitions #180

DazWilkin opened this issue Apr 13, 2020 · 0 comments

Comments

@DazWilkin
Copy link

DazWilkin commented Apr 13, 2020

I may be missing this but, protoc_rust_grpc (and the other crates) does not generate rust module definitions.

Other languages are configurable through protobuf Options and permit a language namespace to be specified (e.g. Java's "com.something" or Golang's "package").

This would be a useful feature for rust too and IIUC should also permit the generation of module defs

E.g.

protoc_rust_grpc::run(protoc_rust_grpc::Args {
    out_dir: "src/google/api",
    includes: &["googleapis"],
    input: &[
        "googleapis/google/api/annotations.proto",
        ...,
    ],
    rust_protobuf: true,
    ..Default::default()
})

Needs something of the form:

mod.rs:

pub mod google {
    pub mod api {
        pub mod annotations;
    }
}

As a noob, I'm having to manually enumerate the proto files in protoc_rust_grpc and then repeat this process for a hierarchy of mod.rs files that reflect the generated sources.

Perhaps there's a better way?

The code has sufficient information already:

  • Either: use the existing outdir, includes and input to determine the module hierarchy
  • Or: enable protobuf option rust_module = "google::api" to define the hierarchy
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant