mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 01:53:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			985 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			985 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package build
 | 
						|
 | 
						|
import (
 | 
						|
	"path/filepath"
 | 
						|
 | 
						|
	"github.com/docker/buildx/builder"
 | 
						|
	"github.com/docker/buildx/localstate"
 | 
						|
	"github.com/docker/buildx/util/confutil"
 | 
						|
	"github.com/moby/buildkit/client"
 | 
						|
)
 | 
						|
 | 
						|
func saveLocalState(so *client.SolveOpt, target string, opts Options, node builder.Node, cfg *confutil.Config) error {
 | 
						|
	var err error
 | 
						|
	if so.Ref == "" || opts.CallFunc != nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
	lp := opts.Inputs.ContextPath
 | 
						|
	dp := opts.Inputs.DockerfilePath
 | 
						|
	if dp != "" && !IsRemoteURL(lp) && lp != "-" && dp != "-" {
 | 
						|
		dp, err = filepath.Abs(dp)
 | 
						|
		if err != nil {
 | 
						|
			return err
 | 
						|
		}
 | 
						|
	}
 | 
						|
	if lp != "" && !IsRemoteURL(lp) && lp != "-" {
 | 
						|
		lp, err = filepath.Abs(lp)
 | 
						|
		if err != nil {
 | 
						|
			return err
 | 
						|
		}
 | 
						|
	}
 | 
						|
	if lp == "" && dp == "" {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
	l, err := localstate.New(cfg)
 | 
						|
	if err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
	return l.SaveRef(node.Builder, node.Name, so.Ref, localstate.State{
 | 
						|
		Target:         target,
 | 
						|
		LocalPath:      lp,
 | 
						|
		DockerfilePath: dp,
 | 
						|
		GroupRef:       opts.GroupRef,
 | 
						|
	})
 | 
						|
}
 |