From bf43aba2d8398082f46203ff56e9f724d8eacb8d Mon Sep 17 00:00:00 2001 From: gedi Date: Sun, 4 Mar 2018 09:56:22 +0200 Subject: [PATCH] support godog package in vendor directory --- builder_go110.go | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/builder_go110.go b/builder_go110.go index 568eede..49f49d7 100644 --- a/builder_go110.go +++ b/builder_go110.go @@ -129,7 +129,7 @@ func Build(bin string) error { // make sure godog package archive is installed, gherkin // will be installed as dependency of godog - cmd := exec.Command("go", "install", godogPkg.ImportPath) + cmd := exec.Command("go", "install", "-i", godogPkg.ImportPath) cmd.Env = os.Environ() out, err := cmd.CombinedOutput() if err != nil { @@ -196,6 +196,26 @@ func Build(bin string) error { cmd = exec.Command(linker, args...) cmd.Env = os.Environ() + // in case if build is without contexts, need to remove import maps + if testdir == workdir { + data, err := ioutil.ReadFile(cfg) + if err != nil { + return err + } + + lines := strings.Split(string(data), "\n") + var fixed []string + for _, line := range lines { + if strings.Index(line, "importmap") == 0 { + continue + } + fixed = append(fixed, line) + } + if err := ioutil.WriteFile(cfg, []byte(strings.Join(fixed, "\n")), 0600); err != nil { + return err + } + } + out, err = cmd.CombinedOutput() if err != nil { msg := `failed to link test executable: