Update proto files & definitions in accordance with ADR023 (#6413)
* consolidate proto files into single directory, turn on PACKAGE_DIRECTORY_MATCH linting * add third_party root for third party proto files * move ibc proto files to top level folder, rename .proto files to types.proto as before * update protocgen script, and run code generation * move vesting proto definition to cosmos namespace, rename from types.proto in alignment with buf.build naming conventions * update Makefile so proto dependencies are set with new structure when updated * add comment for sed usage in makefile * remove unused aliases of proto generated types * add settings.json instructions to contributing.md for including protobuf paths Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Aaron Craelius <aaron@regen.network>
This commit is contained in:
co-authored by
Federico Kunze
Aaron Craelius
parent
fe9356ddb8
commit
4e73e0f817
@@ -283,11 +283,7 @@ TM_KV_TYPES = third_party/proto/tendermint/libs/kv
|
||||
TM_MERKLE_TYPES = third_party/proto/tendermint/crypto/merkle
|
||||
TM_ABCI_TYPES = third_party/proto/tendermint/abci/types
|
||||
GOGO_PROTO_TYPES = third_party/proto/gogoproto
|
||||
COSMOS_PROTO_TYPES = third_party/proto/cosmos-proto
|
||||
SDK_PROTO_TYPES = third_party/proto/cosmos-sdk/types
|
||||
AUTH_PROTO_TYPES = third_party/proto/cosmos-sdk/x/auth/types
|
||||
VESTING_PROTO_TYPES = third_party/proto/cosmos-sdk/x/auth/vesting/types
|
||||
SUPPLY_PROTO_TYPES = third_party/proto/cosmos-sdk/x/supply/types
|
||||
COSMOS_PROTO_TYPES = third_party/proto/cosmos_proto
|
||||
|
||||
proto-update-deps:
|
||||
@mkdir -p $(GOGO_PROTO_TYPES)
|
||||
@@ -296,16 +292,23 @@ proto-update-deps:
|
||||
@mkdir -p $(COSMOS_PROTO_TYPES)
|
||||
@curl -sSL $(COSMOS_PROTO_URL)/cosmos.proto > $(COSMOS_PROTO_TYPES)/cosmos.proto
|
||||
|
||||
## Importing of tendermint protobuf definitions currently requires the
|
||||
## use of `sed` in order to build properly with cosmos-sdk's proto file layout
|
||||
## (which is the standard Buf.build FILE_LAYOUT)
|
||||
## Issue link: https://github.com/tendermint/tendermint/issues/5021
|
||||
@mkdir -p $(TM_ABCI_TYPES)
|
||||
@curl -sSL $(TM_URL)/abci/types/types.proto > $(TM_ABCI_TYPES)/types.proto
|
||||
@sed -i '' '8 s|crypto/merkle/merkle.proto|third_party/proto/tendermint/crypto/merkle/merkle.proto|g' $(TM_ABCI_TYPES)/types.proto
|
||||
@sed -i '' '9 s|libs/kv/types.proto|third_party/proto/tendermint/libs/kv/types.proto|g' $(TM_ABCI_TYPES)/types.proto
|
||||
@sed -i '' '7 s|third_party/proto/||g' $(TM_ABCI_TYPES)/types.proto
|
||||
@sed -i '' '8 s|crypto/merkle/merkle.proto|tendermint/crypto/merkle/merkle.proto|g' $(TM_ABCI_TYPES)/types.proto
|
||||
@sed -i '' '9 s|libs/kv/types.proto|tendermint/libs/kv/types.proto|g' $(TM_ABCI_TYPES)/types.proto
|
||||
|
||||
@mkdir -p $(TM_KV_TYPES)
|
||||
@curl -sSL $(TM_URL)/libs/kv/types.proto > $(TM_KV_TYPES)/types.proto
|
||||
@sed -i '' '5 s|third_party/proto/||g' $(TM_KV_TYPES)/types.proto
|
||||
|
||||
@mkdir -p $(TM_MERKLE_TYPES)
|
||||
@curl -sSL $(TM_URL)/crypto/merkle/merkle.proto > $(TM_MERKLE_TYPES)/merkle.proto
|
||||
@sed -i '' '7 s|third_party/proto/||g' $(TM_MERKLE_TYPES)/merkle.proto
|
||||
|
||||
|
||||
.PHONY: proto-all proto-gen proto-lint proto-check-breaking proto-update-deps
|
||||
|
||||
Reference in New Issue
Block a user