Skip to content

Commit d61d595

Browse files
committed
Factor out function buildWithCustomCommands
1 parent b45c0ff commit d61d595

File tree

1 file changed

+34
-30
lines changed

1 file changed

+34
-30
lines changed

go/extractor/cli/go-autobuilder/go-autobuilder.go

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,39 @@ func buildWithoutCustomCommands(modMode ModMode) bool {
473473
return shouldInstallDependencies
474474
}
475475

476+
func buildWithCustomCommands(inst string) {
477+
// write custom build commands into a script, then run it
478+
var (
479+
ext = ""
480+
header = ""
481+
footer = ""
482+
)
483+
if runtime.GOOS == "windows" {
484+
ext = ".cmd"
485+
header = "@echo on\n@prompt +$S\n"
486+
footer = "\nIF %ERRORLEVEL% NEQ 0 EXIT"
487+
} else {
488+
ext = ".sh"
489+
header = "#! /bin/bash\nset -xe +u\n"
490+
}
491+
script, err := ioutil.TempFile("", "go-build-command-*"+ext)
492+
if err != nil {
493+
log.Fatalf("Unable to create temporary script holding custom build commands: %s\n", err.Error())
494+
}
495+
defer os.Remove(script.Name())
496+
_, err = script.WriteString(header + inst + footer)
497+
if err != nil {
498+
log.Fatalf("Unable to write to temporary script holding custom build commands: %s\n", err.Error())
499+
}
500+
err = script.Close()
501+
if err != nil {
502+
log.Fatalf("Unable to close temporary script holding custom build commands: %s\n", err.Error())
503+
}
504+
os.Chmod(script.Name(), 0700)
505+
log.Println("Installing dependencies using custom build command.")
506+
util.RunCmd(exec.Command(script.Name()))
507+
}
508+
476509
func main() {
477510
if len(os.Args) > 1 {
478511
usage()
@@ -532,36 +565,7 @@ func main() {
532565
if inst == "" {
533566
shouldInstallDependencies = buildWithoutCustomCommands(modMode)
534567
} else {
535-
// write custom build commands into a script, then run it
536-
var (
537-
ext = ""
538-
header = ""
539-
footer = ""
540-
)
541-
if runtime.GOOS == "windows" {
542-
ext = ".cmd"
543-
header = "@echo on\n@prompt +$S\n"
544-
footer = "\nIF %ERRORLEVEL% NEQ 0 EXIT"
545-
} else {
546-
ext = ".sh"
547-
header = "#! /bin/bash\nset -xe +u\n"
548-
}
549-
script, err := ioutil.TempFile("", "go-build-command-*"+ext)
550-
if err != nil {
551-
log.Fatalf("Unable to create temporary script holding custom build commands: %s\n", err.Error())
552-
}
553-
defer os.Remove(script.Name())
554-
_, err = script.WriteString(header + inst + footer)
555-
if err != nil {
556-
log.Fatalf("Unable to write to temporary script holding custom build commands: %s\n", err.Error())
557-
}
558-
err = script.Close()
559-
if err != nil {
560-
log.Fatalf("Unable to close temporary script holding custom build commands: %s\n", err.Error())
561-
}
562-
os.Chmod(script.Name(), 0700)
563-
log.Println("Installing dependencies using custom build command.")
564-
util.RunCmd(exec.Command(script.Name()))
568+
buildWithCustomCommands(inst)
565569
}
566570

567571
if modMode == ModVendor {

0 commit comments

Comments
 (0)