@@ -27,6 +27,7 @@ import (
27
27
28
28
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/docker"
29
29
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/schema/latest"
30
+ "github.com/GoogleContainerTools/skaffold/pkg/skaffold/util"
30
31
"github.com/pkg/errors"
31
32
)
32
33
@@ -46,7 +47,12 @@ func (b *Builder) buildBazel(ctx context.Context, out io.Writer, workspace strin
46
47
tarPath := buildTarPath (a .BuildTarget )
47
48
imageTag := buildImageTag (a .BuildTarget )
48
49
49
- imageTar , err := os .Open (filepath .Join (workspace , "bazel-bin" , tarPath ))
50
+ bazelBin , err := bazelBin (ctx , workspace )
51
+ if err != nil {
52
+ return "" , errors .Wrap (err , "getting path of bazel-bin" )
53
+ }
54
+
55
+ imageTar , err := os .Open (filepath .Join (bazelBin , tarPath ))
50
56
if err != nil {
51
57
return "" , errors .Wrap (err , "opening image tarball" )
52
58
}
@@ -66,6 +72,18 @@ func (b *Builder) buildBazel(ctx context.Context, out io.Writer, workspace strin
66
72
return fmt .Sprintf ("bazel%s" , imageTag ), nil
67
73
}
68
74
75
+ func bazelBin (ctx context.Context , workspace string ) (string , error ) {
76
+ cmd := exec .CommandContext (ctx , "bazel" , "info" , "bazel-bin" )
77
+ cmd .Dir = workspace
78
+
79
+ buf , err := util .RunCmdOut (cmd )
80
+ if err != nil {
81
+ return "" , err
82
+ }
83
+
84
+ return strings .TrimSpace (string (buf )), nil
85
+ }
86
+
69
87
func trimTarget (buildTarget string ) string {
70
88
//TODO(r2d4): strip off leading //:, bad
71
89
trimmedTarget := strings .TrimPrefix (buildTarget , "//" )
0 commit comments