github.com/buildpacks/pack@v0.33.3-0.20240516162812-884dd1837311/pkg/cache/bind_cache.go (about)

     1  package cache
     2  
     3  import (
     4  	"context"
     5  	"os"
     6  )
     7  
     8  type BindCache struct {
     9  	docker DockerClient
    10  	bind   string
    11  }
    12  
    13  func NewBindCache(cacheType CacheInfo, dockerClient DockerClient) *BindCache {
    14  	return &BindCache{
    15  		bind:   cacheType.Source,
    16  		docker: dockerClient,
    17  	}
    18  }
    19  
    20  func (c *BindCache) Name() string {
    21  	return c.bind
    22  }
    23  
    24  func (c *BindCache) Clear(ctx context.Context) error {
    25  	err := os.RemoveAll(c.bind)
    26  	if err != nil {
    27  		return err
    28  	}
    29  	return nil
    30  }
    31  
    32  func (c *BindCache) Type() Type {
    33  	return Bind
    34  }