Categorygithub.com/Akshit8/go-grpc
repository
0.0.0-20210129165913-76b32bcdc04b
Repository: https://github.com/akshit8/go-grpc.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

go-grpc

Install Protobuf compiler [protoc]

# mac
brew install protobuf

# linux(usage with docker)
PROTOC_ZIP=protoc-3.14.0.-linux-x86_64.zip
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.14.0/$PROTOC_ZIP
sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc
sudo unzip -o $PROTOC_ZIP -d /usr/local 'include/*'
rm -f $PROTOC_ZIP

Installing gRPC code generation libs for go

go get -u google.golang.org/grpc
go get -u github.com/golang/protobuf/protoc-gen-go

# generating codes
protoc --proto_path=proto proto/*.proto --go_out=plugins=grpc:pb

IDE extension set for proto files

# configure proto path with pasting following settings
"protoc": {
  "path": "/usr/local/bin/protoc",
  "compile_on_save": false,
  "options": [
    "--proto_path=protos"
  ]
}

# instal clang-format for proto formatting(debian)
apt install clang-format

# ADD FOLLOWING SNIPPET FOR AUTO FORMATTING
"clang-format.executable": "/usr/bin/clang-format",
"[proto3]": {
  "editor.defaultFormatter": "xaver.clang-format",
  "editor.formatOnSave": true
}

Makefile specs

  • git - git add - commit - push commands
  • gen - generate go code from proto file
  • clean - clean all generated code
  • server - run server main
  • run - run client main
  • test - run all package test with coverage

References

protobuf
protoc-linux-install
proto-package-option
grpc-io-go
protobuf-famous-types
google-uuid
golang-copier

Author

Akshit Sadana [email protected]

License

Licensed under the MIT License