package badger import ( "embed" "strings" "velvettear/badger/internal/api" "velvettear/badger/internal/config" "velvettear/badger/internal/database" "velvettear/badger/internal/executables" "velvettear/badger/internal/log" "velvettear/badger/internal/tools" ) var embeddedFiles *embed.FS // exported function(s) func Run() { config.Initialize() if config.Help() { tools.PrintHelp() } setup() api.StartServer() // library.Update() // library.Import() // library.FindDuplicates() } func SetEmbeddedFiles(files *embed.FS) { embeddedFiles = files } // unexported function(s) func setup() { home := config.HomeDirectory() error := tools.MkDirs(home) if error != nil { log.Fatal("could not create home directory '"+home+"'", error.Error()) } else { log.Info("created home directory '" + home + "'") } executables.Initialize() executables.ExportExecutables(embeddedFiles) if !executables.AreMandatoryExecutablesAvailable() { log.Fatal("error locating all mandatory executables, make sure they are correctly installed on your system", strings.Join(executables.GetMissingExecutables(), ", ")) } database.Initialize() }