aboutsummaryrefslogtreecommitdiff
path: root/cmd/mt-build-plugin/build.go
blob: 932e3b1349850467c8fe7ec704a139c54f96232d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
mt-build-plugin builds a plugin using the proxy version the tool was built for.

Usage:

	mt-build-plugin
*/
package main

import (
	"log"
	"os"
	"os/exec"

	proxy "github.com/HimbeerserverDE/mt-multiserver-proxy"
)

func main() {
	version, ok := proxy.Version()
	if !ok {
		log.Fatal("unable to retrieve proxy version")
	}

	log.Println("version:", version)

	pathVer := "github.com/HimbeerserverDE/mt-multiserver-proxy@" + version

	if err := goCmd("get", "-u", pathVer); err != nil {
		log.Fatalln("error updating proxy dependency:", err)
	}

	if err := goCmd("build", "-buildmode=plugin"); err != nil {
		log.Fatalln("error building plugin:", err)
	}

	if err := goCmd("mod", "tidy"); err != nil {
		log.Fatalln("error tidying modules:", err)
	}
}

func goCmd(args ...string) error {
	cmd := exec.Command("go", args...)

	cmd.Stdin = os.Stdin
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr

	return cmd.Run()
}