forked from cosmos/cosmos-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: proto generation scripts (cosmos#11133)
## Description + Updates proto generation scripts + adds more docs on how to install protoc dependencies --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules) - [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing) - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable)
- Loading branch information
1 parent
151c6e8
commit 05266d7
Showing
4 changed files
with
36 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,35 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -eo pipefail | ||
#== Requirements == | ||
# | ||
## make sure your `go env GOPATH` is in the `$PATH` | ||
## Install: | ||
## + latest buf (v1.0.0-rc11 or later) | ||
## + protobuf v3 | ||
# | ||
## All protoc dependencies must be installed not in the module scope | ||
## currently we must use grpc-gateway v1 | ||
# cd ~ | ||
# go install google.golang.org/protobuf/cmd/protoc-gen-go@latest | ||
# go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest | ||
# go install github.com/grpc-ecosystem/grpc-gateway/[email protected] | ||
# go install github.com/cosmos/cosmos-proto/cmd/protoc-gen-go-pulsar@latest | ||
# go get github.com/regen-network/cosmos-proto@latest # doesn't work in install mode | ||
|
||
protoc_gen_gocosmos() { | ||
if ! grep "github.com/gogo/protobuf => github.com/regen-network/protobuf" go.mod &>/dev/null ; then | ||
echo -e "\tPlease run this command from somewhere inside the cosmos-sdk folder." | ||
return 1 | ||
fi | ||
set -eo pipefail | ||
|
||
go get github.com/regen-network/cosmos-proto/protoc-gen-gocosmos@latest 2>/dev/null | ||
protoc_install_gocosmos() { | ||
echo "Installing protobuf gocosmos plugin" | ||
# we should use go install, but regen-network/cosmos-proto contains | ||
# replace directives. It must not contain directives that would cause | ||
# it to be interpreted differently than if it were the main module. | ||
# So the command below issues a warning and we are muting it for now. | ||
# | ||
# Installing plugins must be done outside of the module | ||
(cd ~; go get github.com/regen-network/cosmos-proto/[email protected] 2> /dev/null) | ||
} | ||
|
||
protoc_gen_gocosmos | ||
protoc_install_gocosmos | ||
|
||
echo "Generating gogo proto code" | ||
cd proto | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,13 @@ | ||
|
||
|
||
# this script is for generating protobuf files for the new google.golang.org/protobuf API | ||
|
||
set -eo pipefail | ||
|
||
protoc_gen_gopulsar() { | ||
go install github.com/cosmos/cosmos-proto/cmd/protoc-gen-go-pulsar@latest 2>/dev/null | ||
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest 2>/dev/null | ||
protoc_install_gopulsar() { | ||
go install github.com/cosmos/cosmos-proto/cmd/protoc-gen-go-pulsar@latest | ||
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest | ||
} | ||
|
||
protoc_gen_gopulsar | ||
protoc_install_gopulsar | ||
|
||
echo "Generating API module" | ||
(cd proto; buf generate --template buf.gen.pulsar.yaml) |