Skip to content

Commit 3d27f2e

Browse files
committed
Add vt protobufs
1 parent 7c84e10 commit 3d27f2e

File tree

130 files changed

+54648
-51163
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

130 files changed

+54648
-51163
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,5 @@ db
3232

3333
# Dependency directories (remove the comment below to include it)
3434
# vendor/
35+
/bin/
36+
/dist/

Makefile

Lines changed: 85 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,89 @@
11
.PHONY: proto test deps mocks
22
export GOPRIVATE=github.com/anyproto
3-
export PATH:=deps:$(PATH)
3+
ROOT:=${PWD}
4+
export PATH := $(ROOT):$(PATH)
5+
6+
comma:=,
7+
8+
UNAME_S := $(shell uname -s)
9+
UNAME_M := $(shell uname -m)
10+
11+
ifeq ($(UNAME_S), Darwin)
12+
PROTOC_OS = osx
13+
else
14+
PROTOC_OS = linux
15+
endif
16+
17+
ifeq ($(UNAME_M), x86_64)
18+
PROTOC_ARCH = x86_64
19+
else
20+
PROTOC_ARCH = aarch_64
21+
endif
22+
23+
PROTOC_ZIP = protoc-$(PROTOC_VERSION)-$(PROTOC_OS)-$(PROTOC_ARCH).zip
24+
25+
export DEPS=${ROOT}/deps
26+
27+
PROTOC_VERSION = 29.3
28+
29+
PROTOC_URL = https://github.com/protocolbuffers/protobuf/releases/download/v$(PROTOC_VERSION)/$(PROTOC_ZIP)
430

531
all:
632
@set -e;
733
@git config core.hooksPath .githooks;
834

9-
proto: proto-execute replace-gogo-strings
35+
proto: proto-execute
36+
37+
PROTOC = $(DEPS)/protoc
38+
PROTOC_GEN_GO = $(DEPS)/protoc-gen-go
39+
PROTOC_GEN_DRPC = $(DEPS)/protoc-gen-go-drpc
40+
PROTOC_GEN_VTPROTO = $(DEPS)/protoc-gen-go-vtproto
41+
42+
define generate_proto
43+
@echo "Generating Protobuf for directory: $(1)"
44+
$(PROTOC) \
45+
--go_out=. --plugin protoc-gen-go="$(PROTOC_GEN_GO)" \
46+
--go-vtproto_out=. --plugin protoc-gen-go-vtproto="$(PROTOC_GEN_VTPROTO)" \
47+
--go-vtproto_opt=features=marshal+unmarshal+size+pool+clone \
48+
--proto_path=$(1) $(wildcard $(1)/*.proto)
49+
endef
50+
51+
define generate_drpc
52+
@echo "Generating Protobuf for directory: $(1)"
53+
$(PROTOC) \
54+
--go_out=. --plugin protoc-gen-go="$(PROTOC_GEN_GO)" \
55+
--plugin protoc-gen-go-drpc="$(PROTOC_GEN_DRPC)" \
56+
--go_opt=$(1) \
57+
--go-vtproto_out=:. --plugin protoc-gen-go-vtproto="$(PROTOC_GEN_VTPROTO)" \
58+
--go-vtproto_opt=features=marshal+unmarshal+size \
59+
--go-drpc_out=protolib=github.com/planetscale/vtprotobuf/codec/drpc:. $(wildcard $(2)/*.proto)
60+
endef
1061

1162
proto-execute:
1263
@echo 'Generating protobuf packages (Go)...'
13-
64+
@$(eval P_ACL_RECORDS_PATH_PB := commonspace/object/acl/aclrecordproto)
1465
@$(eval P_ACL_RECORDS_PATH_PB := commonspace/object/acl/aclrecordproto)
1566
@$(eval P_TREE_CHANGES_PATH_PB := commonspace/object/tree/treechangeproto)
1667
@$(eval P_CRYPTO_PATH_PB := util/crypto/cryptoproto)
1768
@$(eval P_ACL_RECORDS := M$(P_ACL_RECORDS_PATH_PB)/protos/aclrecord.proto=github.com/anyproto/any-sync/$(P_ACL_RECORDS_PATH_PB))
1869
@$(eval P_TREE_CHANGES := M$(P_TREE_CHANGES_PATH_PB)/protos/treechange.proto=github.com/anyproto/any-sync/$(P_TREE_CHANGES_PATH_PB))
1970

20-
protoc --gogofaster_out=:. $(P_ACL_RECORDS_PATH_PB)/protos/*.proto
21-
protoc --gogofaster_out=:. $(P_TREE_CHANGES_PATH_PB)/protos/*.proto
22-
protoc --gogofaster_out=:. $(P_CRYPTO_PATH_PB)/protos/*.proto
23-
$(eval PKGMAP := $$(P_TREE_CHANGES),$$(P_ACL_RECORDS))
24-
protoc --gogofaster_out=$(PKGMAP):. --go-drpc_out=protolib=github.com/gogo/protobuf:. commonspace/spacesyncproto/protos/*.proto
25-
protoc --gogofaster_out=$(PKGMAP):. --go-drpc_out=protolib=github.com/gogo/protobuf:. commonfile/fileproto/protos/*.proto
26-
protoc --gogofaster_out=$(PKGMAP):. --go-drpc_out=protolib=github.com/gogo/protobuf:. net/streampool/testservice/protos/*.proto
27-
protoc --gogofaster_out=:. net/secureservice/handshake/handshakeproto/protos/*.proto
28-
protoc --gogofaster_out=:. net/rpc/limiter/limiterproto/protos/*.proto
29-
protoc --gogofaster_out=$(PKGMAP):. --go-drpc_out=protolib=github.com/gogo/protobuf:. coordinator/coordinatorproto/protos/*.proto
30-
protoc --gogofaster_out=:. --go-drpc_out=protolib=github.com/gogo/protobuf:. consensus/consensusproto/protos/*.proto
31-
protoc --gogofaster_out=:. --go-drpc_out=protolib=github.com/gogo/protobuf:. identityrepo/identityrepoproto/protos/*.proto
32-
protoc --gogofaster_out=:. --go-drpc_out=protolib=github.com/gogo/protobuf:. nameservice/nameserviceproto/protos/*.proto
33-
protoc --gogofaster_out=:. --go-drpc_out=protolib=github.com/gogo/protobuf:. paymentservice/paymentserviceproto/protos/*.proto
71+
$(call generate_proto,$(P_ACL_RECORDS_PATH_PB)/protos)
72+
$(call generate_proto,$(P_TREE_CHANGES_PATH_PB)/protos)
73+
$(call generate_proto,$(P_CRYPTO_PATH_PB)/protos)
74+
$(eval PKGMAP := $$(P_TREE_CHANGES)$(comma)$$(P_ACL_RECORDS))
75+
$(call generate_drpc,$(PKGMAP),commonspace/spacesyncproto/protos)
76+
$(call generate_drpc,$(PKGMAP),commonfile/fileproto/protos)
77+
$(call generate_drpc,$(PKGMAP),net/streampool/testservice/protos)
78+
79+
$(call generate_drpc,,net/secureservice/handshake/handshakeproto/protos)
80+
$(call generate_drpc,,net/rpc/limiter/limiterproto/protos)
81+
$(call generate_drpc,$(PKGMAP),coordinator/coordinatorproto/protos)
82+
$(call generate_drpc,,consensus/consensusproto/protos)
83+
$(call generate_drpc,,identityrepo/identityrepoproto/protos)
84+
$(call generate_drpc,,nameservice/nameserviceproto/protos)
85+
$(call generate_drpc,,paymentservice/paymentserviceproto/protos)
86+
3487

3588
mocks:
3689
echo 'Generating mocks...'
@@ -39,12 +92,20 @@ mocks:
3992

4093
deps:
4194
go mod download
42-
go build -o deps storj.io/drpc/cmd/protoc-gen-go-drpc
43-
go build -o deps github.com/anyproto/protobuf/protoc-gen-gogofaster
95+
@echo "Downloading protoc $(PROTOC_VERSION)..."
96+
curl -OL $(PROTOC_URL)
97+
mkdir -p $(DEPS)
98+
unzip -o $(PROTOC_ZIP) -d $(ROOT)
99+
mv bin/protoc $(DEPS)
100+
rm $(PROTOC_ZIP)
101+
rm -rf include
102+
rm -rf readme.txt
103+
rm -rf bin
104+
@echo "protoc installed in $(DEPS)/bin"
44105

45-
test:
46-
go test ./... --cover
106+
GOBIN=$(DEPS) go install storj.io/drpc/cmd/protoc-gen-go-drpc@latest
107+
GOBIN=$(DEPS) go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
108+
GOBIN=$(DEPS) go install github.com/planetscale/vtprotobuf/cmd/protoc-gen-go-vtproto@latest
47109

48-
replace-gogo-strings:
49-
@echo "Replacing 'github.com/gogo/protobuf' with 'github.com/anyproto/protobuf' in all files recursively..."
50-
LC_CTYPE=C LANG=C find . -type f -name "*.go" | xargs sed -i '' "s|github.com/gogo/protobuf|github.com/anyproto/protobuf|g"
110+
test:
111+
go test ./... --cover

accountservice/mock_accountservice/mock_accountservice.go

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

acl/mock_acl/mock_acl.go

Lines changed: 37 additions & 36 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)