// SPDX-License-Identifier: MIT package util import ( user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/log" base "code.gitea.io/gitea/modules/migration" "code.gitea.io/gitea/services/f3/driver" "lab.forgefriends.org/friendlyforgeformat/gof3" f3_forges "lab.forgefriends.org/friendlyforgeformat/gof3/forges" "lab.forgefriends.org/friendlyforgeformat/gof3/forges/f3" ) func ToF3Logger(messenger base.Messenger) gof3.Logger { if messenger == nil { messenger = func(string, ...interface{}) {} } return gof3.Logger{ Message: messenger, Trace: log.Trace, Debug: log.Debug, Info: log.Info, Warn: log.Warn, Error: log.Error, Critical: log.Critical, Fatal: log.Fatal, } } func ForgejoForgeRoot(features gof3.Features, doer *user_model.User) *f3_forges.ForgeRoot { forgeRoot := f3_forges.NewForgeRootFromDriver(&driver.Forgejo{}, &driver.Options{ Options: gof3.Options{ Features: features, Logger: ToF3Logger(nil), }, Doer: doer, }) return forgeRoot } func F3ForgeRoot(features gof3.Features, directory string) *f3_forges.ForgeRoot { forgeRoot := f3_forges.NewForgeRoot(&f3.Options{ Options: gof3.Options{ Configuration: gof3.Configuration{ Directory: directory, }, Features: features, Logger: ToF3Logger(nil), }, Remap: true, }) return forgeRoot }