Skip to content

Plugin should not compile all dependencies #111

Open
@aselus-hub

Description

@aselus-hub

Right now I have a lot of library protos and grpc protos living in one place, the library protos are cross-used by multiple rpc protos, but they seem to not follow the output standard that protoc has for other languages.

Example:

root
├── util
│   ├── resource.proto
│   └── someotherutil.proto
├── boxes
│   ├── box_schematic_schemas.proto
│   └── boxes.proto
├── some_rpc
│   └── some.rpc.proto
├── box_rpc
│   └── box.rpc.proto
├── quadcopters_rpc
│   └── quadcopters.rpc.proto

the example above is made up on the fly, but this is similar to what I have today in my environment to work with (the server impls are written in golang using grpc) Now I want to make python libraries for the above, but when i call protoc betterproto generation on "bpx.rpc.proto" two problems happen:

  1. betterproto doesn't generate paths, it sticks everything in root (other protoc plugins use . as reletive to the file)
  2. all the utils are re-generated for each proto as opposed to use the ones that had been generated prior (my guess is because of 1

This is the real issue here is that we have a LOT of proto files and sometimes only generate some (e.g.: I've updated quadcopters, just want to re-generate that, not all the dependancies. Is this a missing features or am i missing something in betterproto that allows for doing standard generation w/o generating dependancies like in the other language examples?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmediumMedium effort issue, can fit in a single PRmedium priority

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions