Преглед изворни кода

chore(protoc): conform to latest grpc generation flags

Mustafa ARICI пре 4 година
родитељ
комит
c8bebf0fa8
2 измењених фајлова са 17 додато и 30 уклоњено
  1. 9 8
      .github/workflows/release.yml
  2. 8 22
      Makefile

+ 9 - 8
.github/workflows/release.yml

@@ -16,25 +16,26 @@ jobs:
         id: get_version
         run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/}
 
-      - name: Repo Tools
+      - name: Deps
         run: |
           sudo apt-get update -y
           sudo apt install reprepro createrepo rsync -y
           mkdir -p /tmp/protoc
           pushd /tmp/protoc
-          wget https://github.com/protocolbuffers/protobuf/releases/download/v3.12.3/protoc-3.12.3-linux-x86_64.zip
-          unzip protoc-3.12.3-linux-x86_64.zip
+          wget https://github.com/protocolbuffers/protobuf/releases/download/v3.15.7/protoc-3.15.7-linux-x86_64.zip
+          unzip protoc-3.15.7-linux-x86_64.zip
           popd
           sudo chmod +x /tmp/protoc/bin/protoc
           sudo cp /tmp/protoc/bin/protoc /usr/bin/protoc
           sudo cp -r /tmp/protoc/include/* /usr/local/include/
           sudo chmod -R 777 /usr/local/include/google
           sudo apt-get install autoconf automake libtool curl make g++ unzip -y
-          go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
-          go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
-          go get -u github.com/golang/protobuf/protoc-gen-go
-          go get github.com/kevinburke/go-bindata/...
-          go get github.com/goreleaser/nfpm/cmd/nfpm@latest
+          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/v2/protoc-gen-grpc-gateway@latest
+          go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest
+          go install github.com/kevinburke/go-bindata/go-bindata@latest
+          go install github.com/goreleaser/nfpm/cmd/nfpm@latest
 
       - name: Dist
         run: VERSION=${{ steps.get_version.outputs.VERSION }} make dist

+ 8 - 22
Makefile

@@ -1,31 +1,17 @@
 .PHONY: deps build test bundle-webui clean-bundle bundle-swagger proto bundle build
-docker-build:
-	docker run --rm -i -t -e TRAVIS_GO_VERSION=$(TRAVIS_GO_VERSION) -e TRAVIS_BUILD_NUMBER=$(TRAVIS_BUILD_NUMBER) -e TRAVIS_TAG=$(TRAVIS_TAG) -v `pwd`:/fs/src/github.com/cad/ovpm -w /fs/src/github.com/cad/ovpm cadthecoder/ovpm-builder:latest
-docker-build-shell:
-	docker run --rm -i -t -e TRAVIS_GO_VERSION=$(TRAVIS_GO_VERSION) -e TRAVIS_BUILD_NUMBER=$(TRAVIS_BUILD_NUMBER) -e TRAVIS_TAG=$(TRAVIS_TAG) -v `pwd`:/fs/src/github.com/cad/ovpm -w /fs/src/github.com/cad/ovpm cadthecoder/ovpm-builder:latest /bin/bash
-
-development-deps:
-	# grpc related dependencies
-	go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
-	go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
-	go get -u github.com/golang/protobuf/protoc-gen-go/...
-
-	# static asset bundling
-	go get github.com/kevinburke/go-bindata/...
-
-	# for creating rpm, deb packages
-	go get github.com/goreleaser/nfpm/cmd/nfpm@latest
-
-	# webui related dependencies
-	#pacman -Sy yarn
 
 # Runs unit tests.
 test:
 	go test -count=1 -race -coverprofile=coverage.txt -covermode=atomic .
 
 proto:
-	protoc -I/usr/local/include -I api/pb/ -I/usr/local/include -I$(shell go list -m -f "{{.Dir}}" github.com/grpc-ecosystem/grpc-gateway)/third_party/googleapis api/pb/user.proto api/pb/vpn.proto api/pb/network.proto api/pb/auth.proto --grpc-gateway_out=logtostderr=true:api/pb
-	protoc -I/usr/local/include -I api/pb/ -I/usr/local/include -I$(shell go list -m -f "{{.Dir}}" github.com/grpc-ecosystem/grpc-gateway)/third_party/googleapis api/pb/user.proto api/pb/vpn.proto api/pb/network.proto api/pb/auth.proto --go_out=plugins=grpc:api/pb
+	protoc -I./api/pb/ --go_opt=paths=source_relative --go_out=./api/pb user.proto vpn.proto network.proto auth.proto
+	protoc -I./api/pb/ --go-grpc_opt=paths=source_relative --go-grpc_out=./api/pb user.proto vpn.proto network.proto auth.proto
+	protoc -I./api/pb/ --grpc-gateway_out ./api/pb \
+			 --grpc-gateway_opt logtostderr=true \
+			 --grpc-gateway_opt paths=source_relative \
+			 --grpc-gateway_opt generate_unbound_methods=true \
+			 user.proto vpn.proto network.proto auth.proto
 
 clean-bundle:
 	@echo Cleaning up bundle/
@@ -39,7 +25,7 @@ bundle-webui:
 	cp -r webui/ovpm/build/* bundle
 
 bundle-swagger: proto
-	protoc -I/usr/local/include -I api/pb/  -I/usr/local/include -I$(shell go list -m -f "{{.Dir}}" github.com/grpc-ecosystem/grpc-gateway)/third_party/googleapis api/pb/user.proto api/pb/vpn.proto api/pb/network.proto api/pb/auth.proto --swagger_out=logtostderr=true:bundle
+	protoc -I./api/pb --openapiv2_out=./api/pb --openapiv2_opt logtostderr=true user.proto vpn.proto network.proto auth.proto
 
 bundle: clean-bundle bundle-webui bundle-swagger
 	go-bindata -pkg bundle -o bundle/bindata.go bundle/...