Skip to content
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

Protobuf documentation generator #122

Open
jjohannes opened this issue Feb 24, 2025 · 1 comment
Open

Protobuf documentation generator #122

jjohannes opened this issue Feb 24, 2025 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@jjohannes
Copy link
Contributor

Problem

There is a custom documentation generator for protobufs here:
https://github.com/hashgraph/hedera-protobufs-java/tree/main/docgenerator

That repository is on the way to get archived. The primary location for the "Hedera" protobufs is now:
https://github.com/hiero-ledger/hiero-consensus-node/tree/main/hapi

Solution

The hiero-consensus-node build (and potentially others) should be able to generate documentation as part of the Gradle build. For this, we need:

  • Ideally, the source code of the proto2html.jar to turn that into a Gradle task
  • A decision how to process the generated docs (e.g. should they be uploaded somewhere?). So that Gradle can do as much of the work as possible before the generated documentation files are picke up by a GH action.

Loosely related: #107

Alternatives

No response

@jjohannes jjohannes added the enhancement New feature or request label Feb 24, 2025
@jjohannes jjohannes self-assigned this Feb 24, 2025
@jsync-swirlds
Copy link

jsync-swirlds commented Feb 24, 2025

The proto files should be processed with the widely used protoc-gen-doc plugin to protoc to produce markdown. The major specification rework last year was targeted to this process using the template currently in the hedera-protobufs repository (which should be duplicated in the hiero-consensus-node repository).

If markdown needs to then be processed to html, there are existing gradle plugins for that purpose

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants