This commit is contained in:
2025-04-13 19:12:02 +03:00
parent bf47f7c0b7
commit 587abf7aad
9 changed files with 275 additions and 169 deletions

46
info.go
View File

@ -30,12 +30,12 @@ import (
"gopkg.in/yaml.v3"
"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/config"
database "gitea.plemya-x.ru/Plemya-x/ALR/internal/db"
"gitea.plemya-x.ru/Plemya-x/ALR/internal/overrides"
"gitea.plemya-x.ru/Plemya-x/ALR/internal/utils"
"gitea.plemya-x.ru/Plemya-x/ALR/pkg/distro"
"gitea.plemya-x.ru/Plemya-x/ALR/pkg/repos"
)
func InfoCmd() *cli.Command {
@ -50,15 +50,14 @@ func InfoCmd() *cli.Command {
},
},
BashComplete: func(c *cli.Context) {
err := utils.ExitIfCantDropCapsToAlrUser()
if err != nil {
if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil {
slog.Error("Can't drop caps")
os.Exit(1)
}
ctx := c.Context
cfg := config.New()
err = cfg.Load()
err := cfg.Load()
if err != nil {
slog.Error(gotext.Get("Error loading config"), "err", err)
os.Exit(1)
@ -90,40 +89,29 @@ func InfoCmd() *cli.Command {
}
},
Action: func(c *cli.Context) error {
err := utils.ExitIfCantDropCapsToAlrUser()
if err != nil {
if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil {
return err
}
ctx := c.Context
cfg := config.New()
err = cfg.Load()
if err != nil {
slog.Error(gotext.Get("Error loading config"))
return cli.Exit(err, 1)
}
db := database.New(cfg)
err = db.Init(ctx)
if err != nil {
slog.Error(gotext.Get("Error initialization database"))
return cli.Exit(err, 1)
}
rs := repos.New(cfg, db)
args := c.Args()
if args.Len() < 1 {
return cli.Exit(gotext.Get("Command info expected at least 1 argument, got %d", args.Len()), 1)
}
if cfg.AutoPull() {
err := rs.Pull(ctx, cfg.Repos())
if err != nil {
slog.Error(gotext.Get("Error pulling repos"))
return cli.Exit(err, 1)
}
ctx := c.Context
deps, err := appbuilder.
New(ctx).
WithConfig().
WithDB().
WithRepos().
Build()
if err != nil {
return cli.Exit(err, 1)
}
defer deps.Defer()
rs := deps.Repos
found, _, err := rs.FindPkgs(ctx, args.Slice())
if err != nil {