# The Docker image containing the generator, formatter, and linter. # This is generated by proto/Dockerfile. To update tools, make changes # there and run the Build & Push Proto Builder Image workflow. IMAGE := ghcr.io/tendermint/docker-build-proto:latest DOCKER_PROTO_BUILDER := docker run -v $(shell pwd):/workspace --workdir /workspace $(IMAGE) HTTPS_GIT := https://github.com/tendermint/spec.git ############################################################################### ### Protobuf ### ############################################################################### proto-all: proto-lint proto-check-breaking .PHONY: proto-all proto-gen: @echo "Generating Protobuf files" @$(DOCKER_PROTO_BUILDER) buf generate --template=./buf.gen.yaml --config ./buf.yaml .PHONY: proto-gen proto-lint: @$(DOCKER_PROTO_BUILDER) buf lint --error-format=json --config ./buf.yaml .PHONY: proto-lint proto-format: @echo "Formatting Protobuf files" @$(DOCKER_PROTO_BUILDER) find . -name '*.proto' -path "./proto/*" -exec clang-format -i {} \; .PHONY: proto-format proto-check-breaking: @$(DOCKER_PROTO_BUILDER) buf breaking --against .git --config ./buf.yaml .PHONY: proto-check-breaking proto-check-breaking-ci: @$(DOCKER_PROTO_BUILDER) buf breaking --against $(HTTPS_GIT) --config ./buf.yaml .PHONY: proto-check-breaking-ci