@@ -473,6 +473,39 @@ func buildWithoutCustomCommands(modMode ModMode) bool {
473
473
return shouldInstallDependencies
474
474
}
475
475
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 = "\n IF %ERRORLEVEL% NEQ 0 EXIT"
487
+ } else {
488
+ ext = ".sh"
489
+ header = "#! /bin/bash\n set -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
+
476
509
func main () {
477
510
if len (os .Args ) > 1 {
478
511
usage ()
@@ -532,36 +565,7 @@ func main() {
532
565
if inst == "" {
533
566
shouldInstallDependencies = buildWithoutCustomCommands (modMode )
534
567
} 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 = "\n IF %ERRORLEVEL% NEQ 0 EXIT"
545
- } else {
546
- ext = ".sh"
547
- header = "#! /bin/bash\n set -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 )
565
569
}
566
570
567
571
if modMode == ModVendor {
0 commit comments