-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider Buf, Submodules and / or Subtrees for proto files #661
Comments
One idea from @aaronc is to use Buf Schema Registry for proto files https://docs.buf.build/bsr/introduction along with scripts for generating typescript code. |
buf definately looks nice. for sure worth considering, but if a simple git based solution can work, it may be a better choice. |
|
I'm in the process of setting up BSR for all the SDK types. Once that's done we can do the same for Regen |
BSR is now set up for both Cosmos SDK and Regen Ledger: The proto files for each repository are updated on every push to master. BSR makes it easy to import generated code using templates. For example, you can import generated golang code for the regen-ledger proto files with the following:
We are not currently using this method within the regen-ledger repository, which would slow down our development process, but this might be a suitable path for importing generated typescript code in regen-js (regen-network/regen-js#4). Whether this method is used or a separate script is created within the regen-js repository, there is now a single source of truth for both the cosmos-sdk and regen-ledger proto files and the need to copy-and-paste the proto files is no longer an issue. Thanks for opening this issue @gotjoshua. I think it's safe to close now but feel free to reopen if not. |
Summary
Clear separation of the protofiles from both regen-ledger and regen-js is needed to streamline updating and syncronizing.
Problem Definition
I think that buf says it best:
Proposal
Precise methods need to be considered...
For Admin Use
The text was updated successfully, but these errors were encountered: