Skip to content

Introduce per-service crate features to reduce build times #1863

@coryan

Description

@coryan

We want per-service 1 features so application developers can compile a subset of large crates, such as google-cloud-aiplatform-v1.

  • Need option to create one feature per client
  • Need to compute transitive closure of the messages, enums, etc. used by each client
  • Need to gate each client by the corresponding feature
  • Need to gate each message by the features of any client that needs them
  • Need to document the features associated with each client in the README.md
  • Need to document the features associated with each client #[cfg_attr(docsrs, doc(cfg(feature = "blah blah blah")))]
  • [sidekick/rust] Need an option to select the default per-service features librarian#2560

Footnotes

  1. in this context a "service" is a "protobuf syntax service", which maps to a single client::* struct in our crates.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: p3Desirable enhancement or fix. May not be included in next release.sidekickIssues related to the code generatortype: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions