This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/plancontext/fs.go
Andrea Luzzardi 0aea10d23e dagger.#FS support
- Implement dagger.#FS support
- Migrate `context.imports` to dagger.#FS
- Backward compat: dagger.#FS can be passed in lieu of a
  dagger.#Artifact
- For instance, an import (`dagger.#FS`) can be passed to the current
  `yarn.#Package` implementation

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-30 12:58:50 -08:00

33 lines
450 B
Go

package plancontext
import (
"sync"
bkgw "github.com/moby/buildkit/frontend/gateway/client"
)
type FS struct {
Result bkgw.Reference
}
type fsContext struct {
l sync.RWMutex
store map[ContextKey]*FS
}
func (c *fsContext) Register(fs *FS) ContextKey {
c.l.Lock()
defer c.l.Unlock()
id := hashID(fs)
c.store[id] = fs
return id
}
func (c *fsContext) Get(id ContextKey) *FS {
c.l.RLock()
defer c.l.RUnlock()
return c.store[id]
}