(ctx context.Context, refspec ctdreference.Spec, closure *localizedImageClosure)
| 519 | } |
| 520 | |
| 521 | func (r *Resolver) localClosureHasMatchingSource(ctx context.Context, refspec ctdreference.Spec, closure *localizedImageClosure) (bool, error) { |
| 522 | descs := make([]ocispecs.Descriptor, 0, 1+len(closure.Layers)+len(closure.Nonlayers)) |
| 523 | descs = append(descs, closure.ConfigDesc) |
| 524 | descs = append(descs, closure.Layers...) |
| 525 | descs = append(descs, closure.Nonlayers...) |
| 526 | for _, desc := range descs { |
| 527 | info, err := r.contentStore.Info(ctx, desc.Digest) |
| 528 | if err != nil { |
| 529 | if cerrdefs.IsNotFound(err) { |
| 530 | return false, nil |
| 531 | } |
| 532 | return false, err |
| 533 | } |
| 534 | ok, err := contentutil.HasSource(info, refspec) |
| 535 | if err != nil { |
| 536 | return false, err |
| 537 | } |
| 538 | if !ok { |
| 539 | return false, nil |
| 540 | } |
| 541 | } |
| 542 | return true, nil |
| 543 | } |
| 544 | |
| 545 | func (r *Resolver) attachLocalizedClosureToLease(ctx context.Context, closure *localizedImageClosure) error { |
| 546 | descs := make([]ocispecs.Descriptor, 0, 2+len(closure.Layers)+len(closure.Nonlayers)) |
no test coverage detected