feat: add import info from alr-repo.toml

This commit is contained in:
2025-07-07 17:45:20 +03:00
parent 1cc408ad7d
commit f42be105ad
19 changed files with 403 additions and 82 deletions

34
repo.go
View File

@ -29,6 +29,7 @@ import (
"github.com/urfave/cli/v2"
"golang.org/x/exp/slices"
"gitea.plemya-x.ru/Plemya-x/ALR/internal/build"
"gitea.plemya-x.ru/Plemya-x/ALR/internal/cliutils"
appbuilder "gitea.plemya-x.ru/Plemya-x/ALR/internal/cliutils/app_builder"
"gitea.plemya-x.ru/Plemya-x/ALR/internal/utils"
@ -169,10 +170,24 @@ func AddRepoCmd() *cli.Command {
return cliutils.FormatCliExit(gotext.Get("Repo \"%s\" already exists", repo.Name), nil)
}
}
reposSlice = append(reposSlice, types.Repo{
newRepo := types.Repo{
Name: name,
URL: repoURL,
})
}
r, close, err := build.GetSafeReposExecutor()
if err != nil {
return err
}
defer close()
newRepo, err = r.PullOneAndUpdateFromConfig(c.Context, &newRepo)
if err != nil {
return err
}
reposSlice = append(reposSlice, newRepo)
cfg.SetRepos(reposSlice)
err = cfg.System.Save()
@ -180,21 +195,6 @@ func AddRepoCmd() *cli.Command {
return cliutils.FormatCliExit(gotext.Get("Error saving config"), err)
}
if err := utils.ExitIfCantDropCapsToAlrUserNoPrivs(); err != nil {
return err
}
deps, err = appbuilder.
New(ctx).
UseConfig(cfg).
WithDB().
WithReposForcePull().
Build()
if err != nil {
return err
}
defer deps.Defer()
return nil
}),
}