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

feat: Infrastructure for generating protobuf docs #6046

Merged
merged 8 commits into from
Sep 11, 2024

Conversation

alexpeters1208
Copy link
Contributor

@alexpeters1208 alexpeters1208 commented Sep 10, 2024

This adds Docker instructions and a Gradle configuration to generate markdown documentation for Protobuf files at proto/proto-backplane-grpc/build/generated/source/proto/main/proto-doc. The new docs get generated as a part of the ./gradlew :proto:proto-backplane-grpc:generateProtobuf Gradle task. We should assess whether flight should receive the same treatment.

@alexpeters1208 alexpeters1208 self-assigned this Sep 10, 2024
@alexpeters1208 alexpeters1208 changed the title Infrastructure for generating protobuf docs feat: Infrastructure for generating protobuf docs Sep 10, 2024
Copy link
Member

@devinrsmith devinrsmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should take the approach of generating the documentation as part of proto/proto-backplane-grpc/Dockerfile; as such, there will probably be a /generated/proto-doc/ directory that will need to be created with appropriate configuration and artifacts specified in proto/proto-backplane-grpc/build.gradle.

@devinrsmith devinrsmith added this to the 0.37.0 milestone Sep 11, 2024
@devinrsmith devinrsmith added the documentation Improvements or additions to documentation label Sep 11, 2024
devinrsmith
devinrsmith previously approved these changes Sep 11, 2024
Copy link
Member

@devinrsmith devinrsmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR successfully builds the proto documentation:

$ ./gradlew proto:proto-backplane-grpc:build
...
$ tree proto/proto-backplane-grpc/build/generated/source/proto/main/proto-doc
proto/proto-backplane-grpc/build/generated/source/proto/main/proto-doc
├── application.md
├── config.md
├── console.md
├── hierarchicaltable.md
├── inputtable.md
├── object.md
├── partitionedtable.md
├── session.md
├── storage.md
├── table.md
└── ticket.md

1 directory, 11 files

A couple of notes:

  1. We aren't doing anything with these docs right now (not adding them as release artifacts, uploading to the docs site, etc); I'm assuming that is "ok"?
  2. By splitting up the markdown files, I don't think we are getting proper linking between them. For example, stuff in table.proto depends on stuff in ticket.proto; but the separate markdown files are unable to capture that afaict.

chipkent
chipkent previously approved these changes Sep 11, 2024
@alexpeters1208 alexpeters1208 merged commit 30894e1 into deephaven:main Sep 11, 2024
16 checks passed
@alexpeters1208 alexpeters1208 deleted the generate-proto-docs branch September 11, 2024 22:16
@github-actions github-actions bot locked and limited conversation to collaborators Sep 11, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Improvements or additions to documentation NoDocumentationNeeded ReleaseNotesNeeded Release notes are needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants