github.com/ConsenSys/Quorum@v20.10.0+incompatible/plugin/gen/gen.go (about)

     1  // generate stub/mock files for plugins, documentation and unit tests for plugin interfaces defined in .proto files
     2  //
     3  // need to install:
     4  //  - protoc: 3.9.0+
     5  //  - protoc-gen-go: 1.3.2+
     6  //  - protoc-gen-doc: `go get -u github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc`
     7  //  - mockgen: `go get -u github.com/golang/mock/mockgen`
     8  //  - goimports: `go get -u golang.org/x/tools/cmd/goimports`
     9  //
    10  // go to terminal and run `go generate` from this directory
    11  
    12  // generate stubs
    13  //go:generate protoc -I ../../vendor/github.com/jpmorganchase/quorum-plugin-definitions -I ../../vendor --go_out=plugins=grpc:proto_common init.proto
    14  
    15  // generate mocks for unit testing
    16  //go:generate mockgen -package proto_common -destination proto_common/mock_init.go -source proto_common/init.pb.go
    17  
    18  // fix fmt
    19  //go:generate goimports -w ./
    20  
    21  // generate documentation
    22  //go:generate protoc -I ../../vendor/github.com/jpmorganchase/quorum-plugin-definitions -I ../../vendor --doc_out=docs.markdown.tmpl,init_interface.md:../../docs/PluggableArchitecture/Plugins/ init.proto
    23  //go:generate protoc -I ../../vendor/github.com/jpmorganchase/quorum-plugin-definitions -I ../../vendor --doc_out=docs.markdown.tmpl,interface.md:../../docs/PluggableArchitecture/Plugins/helloworld/ helloworld.proto
    24  //go:generate protoc -I ../../vendor/github.com/jpmorganchase/quorum-plugin-definitions -I ../../vendor --doc_out=docs.markdown.tmpl,interface.md:../../docs/PluggableArchitecture/Plugins/security/ security.proto
    25  //go:generate protoc -I ../../vendor/github.com/jpmorganchase/quorum-plugin-definitions -I ../../vendor --doc_out=docs.markdown.tmpl,interface.md:../../docs/PluggableArchitecture/Plugins/account/ account.proto
    26  
    27  package gen