diff --git a/proto/proto-backplane-grpc/Dockerfile b/proto/proto-backplane-grpc/Dockerfile index a3645206ea6..6127483c68d 100644 --- a/proto/proto-backplane-grpc/Dockerfile +++ b/proto/proto-backplane-grpc/Dockerfile @@ -11,7 +11,10 @@ RUN set -eux; \ mkdir -p /generated/go; \ mkdir -p /generated/python; \ mkdir -p /generated/cpp; \ - mkdir -p /generated/proto-doc; \ + mkdir -p /generated/proto-doc/single-html; \ + mkdir -p /generated/proto-doc/single-md; \ + mkdir -p /generated/proto-doc/multi-html; \ + mkdir -p /generated/proto-doc/multi-md; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-grpc=/opt/java/bin/protoc-gen-grpc-java \ --java_out=/generated/java \ @@ -86,70 +89,153 @@ RUN set -eux; \ /includes/deephaven/proto/config.proto \ /includes/deephaven/proto/hierarchicaltable.proto \ /includes/deephaven/proto/storage.proto; \ - # proto-doc-gen does not support writing multiple proto files to multiple docs, must break up command + # proto-doc-gen does not support writing multiple proto files to multiple docs, must break up command \ + # we are going to generate 4 sets of docs - single html, multi html, single markdown, multi markdown \ + # first, single html \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/single-html \ + --doc_opt=html,index.html \ + -I/includes \ + /includes/deephaven/proto/*.proto; \ + # next, single markdown \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/single-md \ + --doc_opt=markdown,index.md \ + -I/includes \ + /includes/deephaven/proto/*.proto; \ + # then, multi html \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,ticket.html \ + -I/includes \ + /includes/deephaven/proto/ticket.proto; \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,console.html \ + -I/includes \ + /includes/deephaven/proto/console.proto; \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,object.html \ + -I/includes \ + /includes/deephaven/proto/object.proto; \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,session.html \ + -I/includes \ + /includes/deephaven/proto/session.proto; \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,table.html \ + -I/includes \ + /includes/deephaven/proto/table.proto; \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,application.html \ + -I/includes \ + /includes/deephaven/proto/application.proto; \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,inputtable.html \ + -I/includes \ + /includes/deephaven/proto/inputtable.proto; \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,partitionedtable.html \ + -I/includes \ + /includes/deephaven/proto/partitionedtable.proto; \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,config.html \ + -I/includes \ + /includes/deephaven/proto/config.proto; \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,hierarchicaltable.html \ + -I/includes \ + /includes/deephaven/proto/hierarchicaltable.proto; \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-html \ + --doc_opt=html,storage.html \ + -I/includes \ + /includes/deephaven/proto/storage.proto; \ + # finally, multi md \ + /opt/protoc/bin/protoc \ + --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,ticket.md \ -I/includes \ /includes/deephaven/proto/ticket.proto; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,console.md \ -I/includes \ /includes/deephaven/proto/console.proto; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,object.md \ -I/includes \ /includes/deephaven/proto/object.proto; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,session.md \ -I/includes \ /includes/deephaven/proto/session.proto; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,table.md \ -I/includes \ /includes/deephaven/proto/table.proto; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,application.md \ -I/includes \ /includes/deephaven/proto/application.proto; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,inputtable.md \ -I/includes \ /includes/deephaven/proto/inputtable.proto; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,partitionedtable.md \ -I/includes \ /includes/deephaven/proto/partitionedtable.proto; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,config.md \ -I/includes \ /includes/deephaven/proto/config.proto; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,hierarchicaltable.md \ -I/includes \ /includes/deephaven/proto/hierarchicaltable.proto; \ /opt/protoc/bin/protoc \ --plugin=protoc-gen-doc=/usr/local/bin/protoc-gen-doc \ - --doc_out=generated/proto-doc \ + --doc_out=generated/proto-doc/multi-md \ --doc_opt=markdown,storage.md \ -I/includes \ /includes/deephaven/proto/storage.proto; \ diff --git a/proto/proto-backplane-grpc/build.gradle b/proto/proto-backplane-grpc/build.gradle index fec09f0fa68..17298a0f6cc 100644 --- a/proto/proto-backplane-grpc/build.gradle +++ b/proto/proto-backplane-grpc/build.gradle @@ -18,6 +18,7 @@ configurations { python {} go {} cpp {} + html {} markdown {} } @@ -89,7 +90,16 @@ artifacts { cpp(layout.buildDirectory.dir('generated/source/proto/main/cpp')) { builtBy generateProtobuf } - markdown(layout.buildDirectory.dir('generated/source/proto/main/proto-doc')) { + html(layout.buildDirectory.dir('generated/source/proto/main/proto-doc/single-html')) { + builtBy generateProtobuf + } + html(layout.buildDirectory.dir('generated/source/proto/main/proto-doc/multi-html')) { + builtBy generateProtobuf + } + markdown(layout.buildDirectory.dir('generated/source/proto/main/proto-doc/single-md')) { + builtBy generateProtobuf + } + markdown(layout.buildDirectory.dir('generated/source/proto/main/proto-doc/multi-md')) { builtBy generateProtobuf } }