@@ -2,6 +2,7 @@ package plugin
2
2
3
3
import (
4
4
"errors"
5
+ "strings"
5
6
)
6
7
7
8
const (
@@ -41,14 +42,23 @@ type BuildTarget struct {
41
42
Arch string `json:"arch"`
42
43
CGO bool `json:"cgo"`
43
44
Env []string `json:"env"`
45
+ Tags []string `json:"tags"`
44
46
IncludeSymbols bool `json:"include_symbols"`
45
47
}
46
48
47
49
func (t BuildTarget ) EnvVariables () []string {
48
- variables := append (t .cgoEnvVariables (), "GOOS=" + t .OS , "GOARCH=" + t .Arch )
50
+ variables := append (t .cgoEnvVariables (), "GOOS=" + t .OS , "GOARCH=" + t .Arch , t . tags () )
49
51
return append (variables , t .Env ... )
50
52
}
51
53
54
+ func (t BuildTarget ) tags () string {
55
+ if len (t .Tags ) == 0 {
56
+ return ""
57
+ }
58
+ tagString := strings .Join (t .Tags , "," )
59
+ return "GOFLAGS=-tags=" + tagString
60
+ }
61
+
52
62
func (t BuildTarget ) cgoEnvVariables () []string {
53
63
// default is to tool at the param. Can be overridden by adding `CGO_ENABLED=1` to BuildTarget.Env
54
64
if ! t .CGO {
@@ -78,9 +88,9 @@ func (t BuildTarget) cgoEnvVariables() []string {
78
88
}
79
89
80
90
var DefaultBuildTargets = []BuildTarget {
81
- {OS : GoOSLinux , Arch : GoArchAmd64 },
82
- {OS : GoOSLinux , Arch : GoArchArm64 },
83
- {OS : GoOSWindows , Arch : GoArchAmd64 },
84
- {OS : GoOSDarwin , Arch : GoArchAmd64 },
85
- {OS : GoOSDarwin , Arch : GoArchArm64 },
91
+ {OS : GoOSLinux , Arch : GoArchAmd64 , Tags : [] string { "grpcnotrace" } },
92
+ {OS : GoOSLinux , Arch : GoArchArm64 , Tags : [] string { "grpcnotrace" } },
93
+ {OS : GoOSWindows , Arch : GoArchAmd64 , Tags : [] string { "grpcnotrace" } },
94
+ {OS : GoOSDarwin , Arch : GoArchAmd64 , Tags : [] string { "grpcnotrace" } },
95
+ {OS : GoOSDarwin , Arch : GoArchArm64 , Tags : [] string { "grpcnotrace" } },
86
96
}
0 commit comments