Browse Source

Remove .dev/protoc & Detect and show download link

RPRX 5 years ago
parent
commit
d03584425c
2 changed files with 6 additions and 11 deletions
  1. 6 2
      infra/vprotogen/main.go
  2. 0 9
      proto.go

+ 6 - 2
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 {

+ 0 - 9
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"),
-}