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  }