Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit174f991

Browse files
committed
refactor(cmd): build add ldflags support
1 parentb4fe69e commit174f991

File tree

2 files changed

+43
-4
lines changed

2 files changed

+43
-4
lines changed

‎alfred/alfred.go

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,11 @@ type Alfred struct {
118118
PrefsDirstring
119119
VersionTagstring
120120
ZipNamestring
121+
122+
ldflags []string
121123
}
122124

123-
funcNewAlfred()*Alfred {
125+
funcNewAlfred(options...func(*Alfred))*Alfred {
124126
a:=&Alfred{
125127
BuildDir:func(a,bstring)string {
126128
pwd,_:=filepath.Abs(".")
@@ -129,6 +131,10 @@ func NewAlfred() *Alfred {
129131
}
130132
logrus.Debugf("build dir: %s",a.BuildDir)
131133

134+
for_,o:=rangeoptions {
135+
o(a)
136+
}
137+
132138
a.PrefsDir=getPrefsDirectory()
133139
logrus.Debugf("prefs dir: %s",a.PrefsDir)
134140

@@ -318,13 +324,30 @@ func (a *Alfred) Build() error {
318324
// build steps
319325
Run("go","generate")
320326

321-
cmdAmd64:=exec.Command("go","build","-ldflags","-s -w","-o","exe_amd64")
327+
cmdsamd:= []string{
328+
"build",
329+
"-ldflags",
330+
"-s -w "+strings.Join(a.ldflags," "),
331+
"-o",
332+
"exe_amd64",
333+
}
334+
335+
cmdAmd64:=exec.Command("go",cmdsamd...)
322336
cmdAmd64.Env=append(os.Environ(),"GOOS=darwin","GOARCH=amd64")
323337
ifoutput,err:=cmdAmd64.CombinedOutput();err!=nil {
324338
logrus.Println(string(output))
325339
logrus.Fatalf("Failed to build amd64 binary: %s",err)
326340
}
327-
cmdArm64:=exec.Command("go","build","-ldflags","-s -w","-o","exe_arm64")
341+
342+
cmdsarm:= []string{
343+
"build",
344+
"-ldflags",
345+
"-s -w "+strings.Join(a.ldflags," "),
346+
"-o",
347+
"exe_arm64",
348+
}
349+
350+
cmdArm64:=exec.Command("go",cmdsarm...)
328351
cmdArm64.Env=append(os.Environ(),"GOOS=darwin","GOARCH=arm64")
329352
ifoutput,err:=cmdArm64.CombinedOutput();err!=nil {
330353
logrus.Println(string(output))
@@ -361,3 +384,9 @@ func (a *Alfred) Pack() error {
361384

362385
returnnil
363386
}
387+
388+
funcWithLdflags(ldflags...string)func(*Alfred) {
389+
returnfunc(s*Alfred) {
390+
s.ldflags=append(s.ldflags,ldflags...)
391+
}
392+
}

‎cmd/build.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ Copyright © 2022 KAI CHU CHUNG <cage.chung@gmail.com>
44
package cmd
55

66
import (
7+
"strings"
8+
79
"github.com/sirupsen/logrus"
810
"github.com/spf13/cobra"
911

@@ -15,12 +17,20 @@ var buildCmd = &cobra.Command{
1517
Use:"build",
1618
Short:"Build the workflow executable and output it into the\".workflow\" subdirectory",
1719
Run:func(cmd*cobra.Command,args []string) {
18-
iferr:=alfred.NewAlfred().Build();err!=nil {
20+
l,_:=cmd.Flags().GetString("ldflags")
21+
22+
a:=alfred.NewAlfred()
23+
ifl!="" {
24+
a=alfred.NewAlfred(alfred.WithLdflags(strings.Split(l," ")...))
25+
}
26+
27+
iferr:=a.Build();err!=nil {
1928
logrus.Fatal(err)
2029
}
2130
},
2231
}
2332

2433
funcinit() {
2534
alfredCmd.AddCommand(buildCmd)
35+
buildCmd.PersistentFlags().StringP("ldflags","l","","ldflags")
2636
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp