build: move localstate logic

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax
2023-09-12 19:38:05 +02:00
parent 7b049b99c5
commit cc6957d1cc
2 changed files with 46 additions and 38 deletions

46
build/localstate.go Normal file
View File

@ -0,0 +1,46 @@
package build
import (
"path/filepath"
"github.com/docker/buildx/builder"
"github.com/docker/buildx/localstate"
"github.com/moby/buildkit/client"
)
func saveLocalState(so client.SolveOpt, opt Options, node builder.Node, configDir string) error {
var err error
if so.Ref == "" {
return nil
}
lp := opt.Inputs.ContextPath
dp := opt.Inputs.DockerfilePath
if lp != "" || dp != "" {
if lp != "" {
lp, err = filepath.Abs(lp)
if err != nil {
return err
}
}
if dp != "" {
dp, err = filepath.Abs(dp)
if err != nil {
return err
}
}
ls, err := localstate.New(configDir)
if err != nil {
return err
}
if err := ls.SaveRef(node.Builder, node.Name, so.Ref, localstate.State{
LocalPath: lp,
DockerfilePath: dp,
}); err != nil {
return err
}
}
return nil
}