p.BuildID = a.buildID
}
if need&needCompiledGoFiles != 0 {
- if err := b.loadCachedSrcFiles(a); err == nil {
+ if err := b.loadCachedCompiledGoFiles(a); err == nil {
need &^= needCompiledGoFiles
}
}
// Source files might be cached, even if the full action is not
// (e.g., go list -compiled -find).
if !cachedBuild && need&needCompiledGoFiles != 0 {
- if err := b.loadCachedSrcFiles(a); err == nil {
+ if err := b.loadCachedCompiledGoFiles(a); err == nil {
need &^= needCompiledGoFiles
}
}
need &^= needVet
}
if need&needCompiledGoFiles != 0 {
- if err := b.loadCachedSrcFiles(a); err != nil {
+ if err := b.loadCachedCompiledGoFiles(a); err != nil {
return fmt.Errorf("loading compiled Go files from cache: %w", err)
}
need &^= needCompiledGoFiles
return nil
}
-func (b *Builder) loadCachedSrcFiles(a *Action) error {
+func (b *Builder) loadCachedCompiledGoFiles(a *Action) error {
c := cache.Default()
list, _, err := c.GetBytes(cache.Subkey(a.actionID, "srcfiles"))
if err != nil {
return fmt.Errorf("reading srcfiles list: %w", err)
}
- var files []string
+ var gofiles []string
for _, name := range strings.Split(string(list), "\n") {
if name == "" { // end of list
continue
+ } else if !strings.HasSuffix(name, ".go") {
+ continue
}
if strings.HasPrefix(name, "./") {
- files = append(files, name[len("./"):])
+ gofiles = append(gofiles, name[len("./"):])
continue
}
file, err := b.findCachedObjdirFile(a, c, name)
if err != nil {
return fmt.Errorf("finding %s: %w", name, err)
}
- files = append(files, file)
+ gofiles = append(gofiles, file)
}
- a.Package.CompiledGoFiles = files
+ a.Package.CompiledGoFiles = gofiles
return nil
}