mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 10:03:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			905 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			905 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package client
 | 
						|
 | 
						|
import (
 | 
						|
	"context"
 | 
						|
 | 
						|
	controlapi "github.com/moby/buildkit/api/services/control"
 | 
						|
	apitypes "github.com/moby/buildkit/api/types"
 | 
						|
	"github.com/pkg/errors"
 | 
						|
)
 | 
						|
 | 
						|
type Info struct {
 | 
						|
	BuildkitVersion BuildkitVersion `json:"buildkitVersion"`
 | 
						|
}
 | 
						|
 | 
						|
type BuildkitVersion struct {
 | 
						|
	Package  string `json:"package"`
 | 
						|
	Version  string `json:"version"`
 | 
						|
	Revision string `json:"revision"`
 | 
						|
}
 | 
						|
 | 
						|
func (c *Client) Info(ctx context.Context) (*Info, error) {
 | 
						|
	res, err := c.ControlClient().Info(ctx, &controlapi.InfoRequest{})
 | 
						|
	if err != nil {
 | 
						|
		return nil, errors.Wrap(err, "failed to call info")
 | 
						|
	}
 | 
						|
	return &Info{
 | 
						|
		BuildkitVersion: fromAPIBuildkitVersion(res.BuildkitVersion),
 | 
						|
	}, nil
 | 
						|
}
 | 
						|
 | 
						|
func fromAPIBuildkitVersion(in *apitypes.BuildkitVersion) BuildkitVersion {
 | 
						|
	if in == nil {
 | 
						|
		return BuildkitVersion{}
 | 
						|
	}
 | 
						|
	return BuildkitVersion{
 | 
						|
		Package:  in.Package,
 | 
						|
		Version:  in.Version,
 | 
						|
		Revision: in.Revision,
 | 
						|
	}
 | 
						|
}
 |