mskit
The idea to write this tool is help rapidly develop microservice with hdget sdk. This tool will help automatically create a microservice based project boilerplate and generating template codes of microservice.
Table of Contents
Requirements
Following library or utitiliy are required:
Theprotoc can be downloaded from above url and extrat binary file into <GOPATH>/bin directory.
Thegogo protobuf tools can be installed with below commands:
go get github.com/gogo/protobuf/proto
go get github.com/gogo/protobuf/protoc-gen-gogofaster
go get github.com/gogo/protobuf/gogoproto
Or if you already create a project as described in Usage part, you can execute <project>/bin/install_compiler.bat to install those tools.
Usage
1. create microserivce project
mskit new <project_name> -p <protobuf_filepath>
- Above command will do following:
- create project boilerplate
- <project>
- autogen
- service
- proto
- bin
- go.mod
- create
<project>/bin directory and output script files to this dir
- gen_grpc.bat: used to compile protobuf files in windows
- install_compiler.bat: install related grpc tools in windows
- if command
-p option specified valid protobuf filepath
- if succeed find protobuf file, copy the protobuf file to
<project>/proto directory
- if
protoc and related tools does exist, it will try to compile protobuf files under <project>/proto directory and output to <project>/autogen/pb directory
2. compile protobuf file
- If specified protobuf file and compiling it successfully in step1, please ignore this part
- If not specified protobuf in step1, it can use
mskit gen pb command to process protobuf
mskit gen pb <project_name> -p <protobuf_filepath>
- if specified
-p option with valid protobuf filepath, it will copy the file to <project>/proto directory, and change into directory<project>/bin then invoke gen_grpc.* script to compile protobuf files. As usual, the compiled pb files will save into <project>/autogen/pb directory
- if not specified
-p option, it will try to find all *.proto files under <project>/proto directory, then it will compile them and save result to <project>/autogen/pb directory
3. generate microservice code templates
mskit gen service <project>
- Firstly, it will try to parse
*.pb.go files under <project>/autogen/pb directory one by one until it find a protobuf service
- Based on found
service, it will generate following:
FAQ
to be added
Reference