@@ -108,7 +108,7 @@ func (Build) GenerateConfig() error {
108108// Do not use directly, use crossBuild instead.
109109func GolangCrossBuildOSS () error {
110110 params := devtools .DefaultGolangCrossBuildArgs ()
111- params .LDFlags = flagsSet ( )
111+ injectBuildVars ( params .Vars )
112112 return devtools .GolangCrossBuild (params )
113113}
114114
@@ -117,7 +117,8 @@ func GolangCrossBuildOSS() error {
117117func GolangCrossBuild () error {
118118 params := devtools .DefaultGolangCrossBuildArgs ()
119119 params .OutputDir = "build/golang-crossbuild"
120- params .LDFlags = flagsSet ()
120+ injectBuildVars (params .Vars )
121+
121122 if err := devtools .GolangCrossBuild (params ); err != nil {
122123 return err
123124 }
@@ -136,32 +137,23 @@ func BuildGoDaemon() error {
136137// BinaryOSS build the fleet artifact.
137138func (Build ) BinaryOSS () error {
138139 mg .Deps (Prepare .Env )
139- return RunGo (
140- "build" ,
141- "-o" , filepath .Join (buildDir , "elastic-agent-oss" ),
142- "-ldflags" , flags (),
143- )
140+ buildArgs := devtools .DefaultBuildArgs ()
141+ buildArgs .Name = "elastic-agent-oss"
142+ buildArgs .OutputDir = buildDir
143+ injectBuildVars (buildArgs .Vars )
144+
145+ return devtools .Build (buildArgs )
144146}
145147
146148// Binary build the fleet artifact.
147149func (Build ) Binary () error {
148150 mg .Deps (Prepare .Env )
149- return RunGo (
150- "build" ,
151- "-o" , filepath .Join (buildDir , "elastic-agent" ),
152- "-ldflags" , flags (),
153- )
154- }
155151
156- // Dev make a special build with the Dev tags.
157- func (Build ) Dev () error {
158- mg .Deps (Prepare .Env )
159- return RunGo (
160- "build" ,
161- "-tags" , "dev" ,
162- "-o" , filepath .Join (buildDir , "elastic-agent" ),
163- "-ldflags" , flags (),
164- )
152+ buildArgs := devtools .DefaultBuildArgs ()
153+ buildArgs .OutputDir = buildDir
154+ injectBuildVars (buildArgs .Vars )
155+
156+ return devtools .Build (buildArgs )
165157}
166158
167159// Clean up dev environment.
@@ -325,22 +317,6 @@ func commitID() string {
325317 return commitID
326318}
327319
328- func flags () string {
329- return strings .Join (flagsSet (), " " )
330- }
331-
332- func flagsSet () []string {
333- ts := time .Now ().Format (time .RFC3339 )
334- commitID := commitID ()
335- isSnapshot , _ := os .LookupEnv (snapshotEnv )
336-
337- return []string {
338- fmt .Sprintf (`-X "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/release.buildTime=%s"` , ts ),
339- fmt .Sprintf (`-X "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/release.commit=%s"` , commitID ),
340- fmt .Sprintf (` -X "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/release.snapshot=%s"` , isSnapshot ),
341- }
342- }
343-
344320// Update is an alias for executing fields, dashboards, config, includes.
345321func Update () {
346322 mg .SerialDeps (Config , BuildSpec , BuildFleetCfg )
@@ -540,3 +516,18 @@ func dockerTag() string {
540516
541517 return tagBase
542518}
519+
520+ func buildVars () map [string ]string {
521+ vars := make (map [string ]string )
522+
523+ isSnapshot , _ := os .LookupEnv (snapshotEnv )
524+ vars ["github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/release.snapshot" ] = isSnapshot
525+
526+ return vars
527+ }
528+
529+ func injectBuildVars (m map [string ]string ) {
530+ for k , v := range buildVars () {
531+ m [k ] = v
532+ }
533+ }
0 commit comments