fix non-interactive install and add fallback in HandleExitCoder
This commit is contained in:
@ -28,6 +28,7 @@ import (
|
||||
"github.com/hashicorp/go-plugin"
|
||||
|
||||
"gitea.plemya-x.ru/Plemya-x/ALR/internal/logger"
|
||||
"gitea.plemya-x.ru/Plemya-x/ALR/pkg/manager"
|
||||
)
|
||||
|
||||
type InstallerPlugin struct {
|
||||
@ -42,21 +43,31 @@ type InstallerRPCServer struct {
|
||||
Impl InstallerExecutor
|
||||
}
|
||||
|
||||
func (r *InstallerRPC) InstallLocal(paths []string) error {
|
||||
return r.client.Call("Plugin.InstallLocal", paths, nil)
|
||||
type InstallArgs struct {
|
||||
PackagesOrPaths []string
|
||||
Opts *manager.Opts
|
||||
}
|
||||
|
||||
func (s *InstallerRPCServer) InstallLocal(paths []string, reply *struct{}) error {
|
||||
return s.Impl.InstallLocal(paths)
|
||||
func (r *InstallerRPC) InstallLocal(paths []string, opts *manager.Opts) error {
|
||||
return r.client.Call("Plugin.InstallLocal", &InstallArgs{
|
||||
PackagesOrPaths: paths,
|
||||
Opts: opts,
|
||||
}, nil)
|
||||
}
|
||||
|
||||
func (r *InstallerRPC) Install(pkgs []string) error {
|
||||
return r.client.Call("Plugin.Install", pkgs, nil)
|
||||
func (s *InstallerRPCServer) InstallLocal(args *InstallArgs, reply *struct{}) error {
|
||||
return s.Impl.InstallLocal(args.PackagesOrPaths, args.Opts)
|
||||
}
|
||||
|
||||
func (s *InstallerRPCServer) Install(pkgs []string, reply *struct{}) error {
|
||||
slog.Debug("install", "pkgs", pkgs)
|
||||
return s.Impl.Install(pkgs)
|
||||
func (r *InstallerRPC) Install(pkgs []string, opts *manager.Opts) error {
|
||||
return r.client.Call("Plugin.Install", &InstallArgs{
|
||||
PackagesOrPaths: pkgs,
|
||||
Opts: opts,
|
||||
}, nil)
|
||||
}
|
||||
|
||||
func (s *InstallerRPCServer) Install(args *InstallArgs, reply *struct{}) error {
|
||||
return s.Impl.Install(args.PackagesOrPaths, args.Opts)
|
||||
}
|
||||
|
||||
func (r *InstallerRPC) RemoveAlreadyInstalled(paths []string) ([]string, error) {
|
||||
|
Reference in New Issue
Block a user