mirror of
https://github.com/mumble-voip/grumble.git
synced 2025-12-20 14:20:00 -08:00
use go generate over Makefile
This commit is contained in:
parent
37f8d62319
commit
123c287eb7
5 changed files with 217 additions and 170 deletions
49
pkg/mumbleproto/generate_main.go
Normal file
49
pkg/mumbleproto/generate_main.go
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
// +build ignore
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net/http"
|
||||
"os/exec"
|
||||
"regexp"
|
||||
)
|
||||
|
||||
var replacements = []string{
|
||||
`(?m)^package MumbleProto;$`, `package mumbleproto;`,
|
||||
`(?m)^(message Version {)$`, "$1\n\trepeated string crypto_modes = 5;\n",
|
||||
}
|
||||
|
||||
func main() {
|
||||
// Fetch Mumble.proto
|
||||
resp, err := http.Get("https://raw.githubusercontent.com/mumble-voip/mumble/master/src/Mumble.proto")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
data, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Perform replacements
|
||||
for i := 0; i < len(replacements); i += 2 {
|
||||
re, rp := replacements[i], replacements[i+1]
|
||||
regex, err := regexp.Compile(re)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
data = regex.ReplaceAll(data, []byte(rp))
|
||||
}
|
||||
|
||||
// Write Mumble.proto
|
||||
if err := ioutil.WriteFile("Mumble.proto", data, 0644); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Run protobuf compiler
|
||||
if err := exec.Command("protoc", "--go_out=.", "Mumble.proto").Run(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue