github.com/criteo/command-launcher@v0.0.0-20230407142452-fb616f546e98/internal/repository/factory.go (about) 1 package repository 2 3 import ( 4 log "github.com/sirupsen/logrus" 5 ) 6 7 func CreateLocalRepository(id string, repoDirname string, idx RepoIndex) (PackageRepository, error) { 8 var repoIndex RepoIndex 9 if idx == nil { 10 var err error 11 repoIndex, err = newDefaultRepoIndex(id) 12 if err != nil { 13 return nil, err 14 } 15 } else { 16 repoIndex = idx 17 } 18 19 repo := newDefaultPackageRepository(id, repoDirname, repoIndex) 20 if err := repo.load(); err != nil { 21 return nil, err 22 } 23 24 log.Debugf("Repository created, Folder %s", repo.RepoDir) 25 26 return repo, nil 27 }