mirror of
https://github.com/mudler/luet.git
synced 2025-09-09 02:59:30 +00:00
Update gomod and vendor
This commit is contained in:
66
vendor/github.com/moby/buildkit/solver/cachekey.go
generated
vendored
Normal file
66
vendor/github.com/moby/buildkit/solver/cachekey.go
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
package solver
|
||||
|
||||
import (
|
||||
"sync"
|
||||
|
||||
digest "github.com/opencontainers/go-digest"
|
||||
)
|
||||
|
||||
// NewCacheKey creates a new cache key for a specific output index
|
||||
func NewCacheKey(dgst digest.Digest, output Index) *CacheKey {
|
||||
return &CacheKey{
|
||||
ID: rootKey(dgst, output).String(),
|
||||
digest: dgst,
|
||||
output: output,
|
||||
ids: map[*cacheManager]string{},
|
||||
}
|
||||
}
|
||||
|
||||
// CacheKeyWithSelector combines a cache key with an optional selector digest.
|
||||
// Used to limit the matches for dependency cache key.
|
||||
type CacheKeyWithSelector struct {
|
||||
Selector digest.Digest
|
||||
CacheKey ExportableCacheKey
|
||||
}
|
||||
|
||||
type CacheKey struct {
|
||||
mu sync.RWMutex
|
||||
|
||||
ID string
|
||||
deps [][]CacheKeyWithSelector // only [][]*inMemoryCacheKey
|
||||
digest digest.Digest
|
||||
output Index
|
||||
ids map[*cacheManager]string
|
||||
|
||||
indexIDs []string
|
||||
}
|
||||
|
||||
func (ck *CacheKey) Deps() [][]CacheKeyWithSelector {
|
||||
ck.mu.RLock()
|
||||
defer ck.mu.RUnlock()
|
||||
deps := make([][]CacheKeyWithSelector, len(ck.deps))
|
||||
for i := range ck.deps {
|
||||
deps[i] = append([]CacheKeyWithSelector(nil), ck.deps[i]...)
|
||||
}
|
||||
return deps
|
||||
}
|
||||
|
||||
func (ck *CacheKey) Digest() digest.Digest {
|
||||
return ck.digest
|
||||
}
|
||||
func (ck *CacheKey) Output() Index {
|
||||
return ck.output
|
||||
}
|
||||
|
||||
func (ck *CacheKey) clone() *CacheKey {
|
||||
nk := &CacheKey{
|
||||
ID: ck.ID,
|
||||
digest: ck.digest,
|
||||
output: ck.output,
|
||||
ids: map[*cacheManager]string{},
|
||||
}
|
||||
for cm, id := range ck.ids {
|
||||
nk.ids[cm] = id
|
||||
}
|
||||
return nk
|
||||
}
|
Reference in New Issue
Block a user