diff --git a/infra/vprotogen/main.go b/infra/vprotogen/main.go index e9470b261..9c3953d93 100644 --- a/infra/vprotogen/main.go +++ b/infra/vprotogen/main.go @@ -20,12 +20,16 @@ func main() { } GOBIN := common.GetGOBIN() - protoc := core.ProtocMap[runtime.GOOS] - EXE := "" if runtime.GOOS == "windows" { EXE = ".exe" } + protoc := "protoc" + EXE + + if err := exec.Command(protoc).Run(); err != nil { + fmt.Println("Make sure that you have `" + protoc + "` in your system or current path, please visit https://github.com/protocolbuffers/protobuf/releases") + os.Exit(1) + } protoFilesMap := make(map[string][]string) walkErr := filepath.Walk("./", func(path string, info os.FileInfo, err error) error { diff --git a/proto.go b/proto.go index b490c136e..d5f724962 100644 --- a/proto.go +++ b/proto.go @@ -5,15 +5,6 @@ package core //go:generate go install -v github.com/gogo/protobuf/protoc-gen-gofast //go:generate go run ./infra/vprotogen/main.go -import "path/filepath" - // ProtoFilesUsingProtocGenGoFast is the map of Proto files // that use `protoc-gen-gofast` to generate pb.go files var ProtoFilesUsingProtocGenGoFast = map[string]bool{"proxy/vless/encoding/addons.proto": true} - -// ProtocMap is the map of paths to `protoc` binary excutable files of specific platform -var ProtocMap = map[string]string{ - "windows": filepath.Join(".dev", "protoc", "windows", "protoc.exe"), - "darwin": filepath.Join(".dev", "protoc", "macos", "protoc"), - "linux": filepath.Join(".dev", "protoc", "linux", "protoc"), -}