github.com/Benchkram/bob@v0.0.0-20220321080157-7c8f3876e225/bob/bob_stores.go (about) 1 package bob 2 3 import ( 4 "os" 5 "path/filepath" 6 7 "github.com/Benchkram/bob/bob/global" 8 "github.com/Benchkram/bob/pkg/buildinfostore" 9 "github.com/Benchkram/bob/pkg/store" 10 "github.com/Benchkram/bob/pkg/store/filestore" 11 "github.com/Benchkram/errz" 12 ) 13 14 func DefaultFilestore() (s store.Store, err error) { 15 defer errz.Recover(&err) 16 17 home, err := os.UserHomeDir() 18 errz.Fatal(err) 19 20 storeDir := filepath.Join(home, global.BobCacheArtifactsDir) 21 err = os.MkdirAll(storeDir, 0775) 22 errz.Fatal(err) 23 24 return filestore.New(storeDir), nil 25 } 26 27 func Filestore(dir string) (s store.Store, err error) { 28 defer errz.Recover(&err) 29 30 storeDir := filepath.Join(dir, global.BobCacheArtifactsDir) 31 err = os.MkdirAll(storeDir, 0775) 32 errz.Fatal(err) 33 34 return filestore.New(storeDir), nil 35 } 36 37 func MustDefaultFilestore() store.Store { 38 s, _ := DefaultFilestore() 39 return s 40 } 41 42 func DefaultBuildinfoStore() (s buildinfostore.Store, err error) { 43 defer errz.Recover(&err) 44 45 home, err := os.UserHomeDir() 46 errz.Fatal(err) 47 48 storeDir := filepath.Join(home, global.BobCacheBuildinfoDir) 49 err = os.MkdirAll(storeDir, 0775) 50 errz.Fatal(err) 51 52 return buildinfostore.New(storeDir), nil 53 } 54 55 func BuildinfoStore(dir string) (s buildinfostore.Store, err error) { 56 defer errz.Recover(&err) 57 58 storeDir := filepath.Join(dir, global.BobCacheBuildinfoDir) 59 err = os.MkdirAll(storeDir, 0775) 60 errz.Fatal(err) 61 62 return buildinfostore.New(storeDir), nil 63 } 64 65 func MustDefaultBuildinfoStore() buildinfostore.Store { 66 s, _ := DefaultBuildinfoStore() 67 return s 68 } 69 70 // Localstore returns the local artifact store 71 func (b *B) Localstore() store.Store { 72 return b.local 73 }