Skip to content

Commit

Permalink
feat: flag buildvcs (#3)
Browse files Browse the repository at this point in the history
Signed-off-by: James Elliott <[email protected]>
  • Loading branch information
james-d-elliott authored May 2, 2023
1 parent 1d45323 commit 735f55d
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 9 deletions.
36 changes: 29 additions & 7 deletions go.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ type CompileOpts struct {
Tags string
ModMode string
Buildmode string
BuildVCS string
Cgo bool
Rebuild bool
TrimPath bool
Expand Down Expand Up @@ -117,30 +118,51 @@ func GoCrossCompile(opts *CompileOpts) error {
}

args := []string{"build"}

if opts.Rebuild {
args = append(args, "-a")
}

if opts.TrimPath {
args = append(args, "-trimpath")
}

if opts.ModMode != "" {
args = append(args, "-mod", opts.ModMode)
}

if opts.Buildmode != "" {
args = append(args, "-buildmode", opts.Buildmode)
}

if opts.BuildVCS != "" {
args = append(args, "-buildvcs", opts.BuildVCS)
}

if opts.Race {
args = append(args, "-race")
}
args = append(args,
"-gcflags", opts.Gcflags,
"-ldflags", opts.Ldflags,
"-asmflags", opts.Asmflags,
"-tags", opts.Tags,
"-o", outputPathReal,
opts.PackagePath)

if opts.Gcflags != "" {
args = append(args, "-gcflags", opts.Gcflags)
}

if opts.Ldflags != "" {
args = append(args, "-ldflags", opts.Ldflags)
}

if opts.Asmflags != "" {
args = append(args, "-asmflags", opts.Asmflags)
}

if opts.Tags != "" {
args = append(args, "-tags", opts.Tags)
}

args = append(args, "-o", outputPathReal, opts.PackagePath)

_, err = execGo(opts.GoCmd, env, chdir, args...)

return err
}

Expand Down
4 changes: 3 additions & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func realMain() int {
var platformFlag PlatformFlag
var tags string
var verbose bool
var flagGcflags, flagAsmflags, flagBuildmode string
var flagGcflags, flagAsmflags, flagBuildmode, flagBuildVCS string
var flagCgo, flagRebuild, flagTrimPath, flagListOSArch, flagRaceFlag bool
var flagGoCmd string
var modMode string
Expand All @@ -47,6 +47,7 @@ func realMain() int {
flags.BoolVar(&flagListOSArch, "osarch-list", false, "")
flags.BoolVar(&flagRaceFlag, "race", false, "")
flags.StringVar(&flagBuildmode, "buildmode", "", "")
flags.StringVar(&flagBuildVCS, "buildvcs", "", "")
flags.StringVar(&flagGcflags, "gcflags", "", "")
flags.StringVar(&flagAsmflags, "asmflags", "", "")
flags.StringVar(&flagGoCmd, "gocmd", "go", "")
Expand Down Expand Up @@ -165,6 +166,7 @@ func realMain() int {
Cgo: flagCgo,
Rebuild: flagRebuild,
Buildmode: flagBuildmode,
BuildVCS: flagBuildVCS,
TrimPath: flagTrimPath,
GoCmd: flagGoCmd,
Race: flagRaceFlag,
Expand Down
2 changes: 1 addition & 1 deletion version.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
package main

const metaVersion = "1.1.0"
const metaVersion = "1.1.1"

0 comments on commit 735f55d

Please sign in to comment.