autogenpb/protoc.go

69 lines
1.7 KiB
Go
Raw Normal View History

package main
// auto run protoc with the correct args
import (
"errors"
"os"
"go.wit.com/lib/gui/shell"
"go.wit.com/lib/protobuf/forgepb"
"go.wit.com/log"
)
// test.pb.go: test.proto
// cd ~/go/src && protoc --go_out=. --proto_path=go.wit.com/apps/autogenpb/testautogen \
// --go_opt=Mtest.proto=go.wit.com/apps/autogenpb/testautogen \
// test.proto
// forgeConfig.pb.go: forgeConfig.proto
// cd ~/go/src && protoc --go_out=. --proto_path=go.wit.com/apps/autogenpb/testautogen \
// --go_opt=MforgeConfig.proto=go.wit.com/apps/autogenpb/testautogen \
// forgeConfig.proto
func protocBuild(names map[string]string) error {
// have to figure out how to run protoc so initialize forge
forge = forgepb.Init()
// forge.ConfigPrintTable()
os.Setenv("REPO_WORK_PATH", forge.GetGoSrc())
log.Info("")
if shell.Exists(names["protoc"]) {
log.Info("protoc file already created", names["protoc"])
return nil
}
log.Info("make protoc file:", names["protoc"])
log.Info("go src", forge.GetGoSrc())
return errors.New("make protoc here")
}
/*
data, err := os.ReadFile(fullname)
if err != nil {
// log.Info("open config file :", err)
return err
}
w, _ := os.OpenFile(names["protobase"]+".pb.go", os.O_WRONLY|os.O_CREATE, 0600)
var found bool
lines := strings.Split(string(data), "\n")
for _, line := range lines {
// log.Info("line:", line)
start := "type " + names["Bases"] + " struct {"
if strings.HasSuffix(line, start) {
found = true
log.Info("FOUND line:", line)
fmt.Fprintln(w, line)
fmt.Fprintln(w, "\tsync.RWMutex // auto-added by go.wit.com/apps/autogenpb")
fmt.Fprintln(w, "")
} else {
fmt.Fprintln(w, line)
}
}
// os.Exit(-1)
if found {
return nil
}
*/