fix non-interactive install and add fallback in HandleExitCoder

This commit is contained in:
2025-04-17 10:15:51 +03:00
parent 83b8f3b047
commit 0d917190ab
7 changed files with 64 additions and 29 deletions

View File

@ -35,6 +35,7 @@ import (
"gitea.plemya-x.ru/Plemya-x/ALR/internal/db"
"gitea.plemya-x.ru/Plemya-x/ALR/internal/types"
"gitea.plemya-x.ru/Plemya-x/ALR/pkg/distro"
"gitea.plemya-x.ru/Plemya-x/ALR/pkg/manager"
)
type BuildInput struct {
@ -233,8 +234,8 @@ type CheckerExecutor interface {
}
type InstallerExecutor interface {
InstallLocal(paths []string) error
Install(pkgs []string) error
InstallLocal(paths []string, opts *manager.Opts) error
Install(pkgs []string, opts *manager.Opts) error
RemoveAlreadyInstalled(pkgs []string) ([]string, error)
}
@ -521,7 +522,12 @@ func (b *Builder) InstallALRPackages(
return err
}
err = b.installerExecutor.InstallLocal(res.PackagePaths)
err = b.installerExecutor.InstallLocal(
res.PackagePaths,
&manager.Opts{
NoConfirm: !input.BuildOpts().Interactive,
},
)
if err != nil {
return err
}
@ -681,14 +687,18 @@ func (i *Builder) InstallPkgs(
}
if len(builtPaths) > 0 {
err = i.installerExecutor.InstallLocal(builtPaths)
err = i.installerExecutor.InstallLocal(builtPaths, &manager.Opts{
NoConfirm: !input.BuildOpts().Interactive,
})
if err != nil {
return err
}
}
if len(repoDeps) > 0 {
err = i.installerExecutor.Install(repoDeps)
err = i.installerExecutor.Install(repoDeps, &manager.Opts{
NoConfirm: !input.BuildOpts().Interactive,
})
if err != nil {
return err
}