feat: add ability to remove build_deps
This commit is contained in:
@ -11,7 +11,7 @@
|
|||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="33.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
|
<text x="33.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
|
||||||
<text x="33.5" y="14">coverage</text>
|
<text x="33.5" y="14">coverage</text>
|
||||||
<text x="86" y="15" fill="#010101" fill-opacity=".3">19.9%</text>
|
<text x="86" y="15" fill="#010101" fill-opacity=".3">19.8%</text>
|
||||||
<text x="86" y="14">19.9%</text>
|
<text x="86" y="14">19.8%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 926 B After Width: | Height: | Size: 926 B |
@ -214,6 +214,8 @@ type CheckerExecutor interface {
|
|||||||
type InstallerExecutor interface {
|
type InstallerExecutor interface {
|
||||||
InstallLocal(paths []string, opts *manager.Opts) error
|
InstallLocal(paths []string, opts *manager.Opts) error
|
||||||
Install(pkgs []string, opts *manager.Opts) error
|
Install(pkgs []string, opts *manager.Opts) error
|
||||||
|
Remove(pkgs []string, opts *manager.Opts) error
|
||||||
|
|
||||||
RemoveAlreadyInstalled(pkgs []string) ([]string, error)
|
RemoveAlreadyInstalled(pkgs []string) ([]string, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -408,7 +410,7 @@ func (b *Builder) BuildPackage(
|
|||||||
sources, checksums = removeDuplicatesSources(sources, checksums)
|
sources, checksums = removeDuplicatesSources(sources, checksums)
|
||||||
|
|
||||||
slog.Debug("installBuildDeps")
|
slog.Debug("installBuildDeps")
|
||||||
alrBuildDeps, err := b.installBuildDeps(ctx, input, buildDepends)
|
alrBuildDeps, installedBuildDeps, err := b.installBuildDeps(ctx, input, buildDepends)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -477,9 +479,39 @@ func (b *Builder) BuildPackage(
|
|||||||
|
|
||||||
builtDeps = removeDuplicates(append(builtDeps, res...))
|
builtDeps = removeDuplicates(append(builtDeps, res...))
|
||||||
|
|
||||||
|
err = b.removeBuildDeps(ctx, input, installedBuildDeps)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return builtDeps, nil
|
return builtDeps, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (b *Builder) removeBuildDeps(ctx context.Context, input interface {
|
||||||
|
BuildOptsProvider
|
||||||
|
}, deps []string,
|
||||||
|
) error {
|
||||||
|
if len(deps) > 0 {
|
||||||
|
remove, err := cliutils.YesNoPrompt(ctx, gotext.Get("Would you like to remove the build dependencies?"), input.BuildOpts().Interactive, false)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if remove {
|
||||||
|
err = b.installerExecutor.Remove(
|
||||||
|
deps,
|
||||||
|
&manager.Opts{
|
||||||
|
NoConfirm: !input.BuildOpts().Interactive,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
type InstallPkgsArgs struct {
|
type InstallPkgsArgs struct {
|
||||||
BuildArgs
|
BuildArgs
|
||||||
AlrPkgs []alrsh.Package
|
AlrPkgs []alrsh.Package
|
||||||
@ -608,20 +640,22 @@ func (i *Builder) installBuildDeps(
|
|||||||
PkgFormatProvider
|
PkgFormatProvider
|
||||||
},
|
},
|
||||||
pkgs []string,
|
pkgs []string,
|
||||||
) ([]*BuiltDep, error) {
|
) ([]*BuiltDep, []string, error) {
|
||||||
var builtDeps []*BuiltDep
|
var builtDeps []*BuiltDep
|
||||||
|
var deps []string
|
||||||
|
var err error
|
||||||
if len(pkgs) > 0 {
|
if len(pkgs) > 0 {
|
||||||
deps, err := i.installerExecutor.RemoveAlreadyInstalled(pkgs)
|
deps, err = i.installerExecutor.RemoveAlreadyInstalled(pkgs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
builtDeps, err = i.InstallPkgs(ctx, input, deps) // Устанавливаем выбранные пакеты
|
builtDeps, err = i.InstallPkgs(ctx, input, deps) // Устанавливаем выбранные пакеты
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return builtDeps, nil
|
return builtDeps, deps, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *Builder) installOptDeps(
|
func (i *Builder) installOptDeps(
|
||||||
|
@ -36,6 +36,10 @@ func (i *Installer) Install(pkgs []string, opts *manager.Opts) error {
|
|||||||
return i.mgr.Install(opts, pkgs...)
|
return i.mgr.Install(opts, pkgs...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (i *Installer) Remove(pkgs []string, opts *manager.Opts) error {
|
||||||
|
return i.mgr.Remove(opts, pkgs...)
|
||||||
|
}
|
||||||
|
|
||||||
func (i *Installer) RemoveAlreadyInstalled(pkgs []string) ([]string, error) {
|
func (i *Installer) RemoveAlreadyInstalled(pkgs []string) ([]string, error) {
|
||||||
filteredPackages := []string{}
|
filteredPackages := []string{}
|
||||||
|
|
||||||
|
@ -70,6 +70,17 @@ func (s *InstallerRPCServer) Install(args *InstallArgs, reply *struct{}) error {
|
|||||||
return s.Impl.Install(args.PackagesOrPaths, args.Opts)
|
return s.Impl.Install(args.PackagesOrPaths, args.Opts)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *InstallerRPC) Remove(pkgs []string, opts *manager.Opts) error {
|
||||||
|
return r.client.Call("Plugin.Remove", &InstallArgs{
|
||||||
|
PackagesOrPaths: pkgs,
|
||||||
|
Opts: opts,
|
||||||
|
}, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *InstallerRPCServer) Remove(args *InstallArgs, reply *struct{}) error {
|
||||||
|
return s.Impl.Remove(args.PackagesOrPaths, args.Opts)
|
||||||
|
}
|
||||||
|
|
||||||
func (r *InstallerRPC) RemoveAlreadyInstalled(paths []string) ([]string, error) {
|
func (r *InstallerRPC) RemoveAlreadyInstalled(paths []string) ([]string, error) {
|
||||||
var val []string
|
var val []string
|
||||||
err := r.client.Call("Plugin.RemoveAlreadyInstalled", paths, &val)
|
err := r.client.Call("Plugin.RemoveAlreadyInstalled", paths, &val)
|
||||||
|
@ -174,19 +174,23 @@ msgstr ""
|
|||||||
msgid "Error removing packages"
|
msgid "Error removing packages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: internal/build/build.go:376
|
#: internal/build/build.go:378
|
||||||
msgid "Building package"
|
msgid "Building package"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: internal/build/build.go:405
|
#: internal/build/build.go:407
|
||||||
msgid "The checksums array must be the same length as sources"
|
msgid "The checksums array must be the same length as sources"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: internal/build/build.go:447
|
#: internal/build/build.go:449
|
||||||
msgid "Downloading sources"
|
msgid "Downloading sources"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: internal/build/build.go:539
|
#: internal/build/build.go:495
|
||||||
|
msgid "Would you like to remove the build dependencies?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: internal/build/build.go:571
|
||||||
msgid "Installing dependencies"
|
msgid "Installing dependencies"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -181,19 +181,23 @@ msgstr "Для команды remove ожидался хотя бы 1 аргум
|
|||||||
msgid "Error removing packages"
|
msgid "Error removing packages"
|
||||||
msgstr "Ошибка при удалении пакетов"
|
msgstr "Ошибка при удалении пакетов"
|
||||||
|
|
||||||
#: internal/build/build.go:376
|
#: internal/build/build.go:378
|
||||||
msgid "Building package"
|
msgid "Building package"
|
||||||
msgstr "Сборка пакета"
|
msgstr "Сборка пакета"
|
||||||
|
|
||||||
#: internal/build/build.go:405
|
#: internal/build/build.go:407
|
||||||
msgid "The checksums array must be the same length as sources"
|
msgid "The checksums array must be the same length as sources"
|
||||||
msgstr "Массив контрольных сумм должен быть той же длины, что и источники"
|
msgstr "Массив контрольных сумм должен быть той же длины, что и источники"
|
||||||
|
|
||||||
#: internal/build/build.go:447
|
#: internal/build/build.go:449
|
||||||
msgid "Downloading sources"
|
msgid "Downloading sources"
|
||||||
msgstr "Скачивание источников"
|
msgstr "Скачивание источников"
|
||||||
|
|
||||||
#: internal/build/build.go:539
|
#: internal/build/build.go:495
|
||||||
|
msgid "Would you like to remove the build dependencies?"
|
||||||
|
msgstr "Хотели бы вы удалить зависимости сборки?"
|
||||||
|
|
||||||
|
#: internal/build/build.go:571
|
||||||
msgid "Installing dependencies"
|
msgid "Installing dependencies"
|
||||||
msgstr "Установка зависимостей"
|
msgstr "Установка зависимостей"
|
||||||
|
|
||||||
@ -663,9 +667,6 @@ msgstr "Здесь нечего делать."
|
|||||||
#~ msgid "Installing build dependencies"
|
#~ msgid "Installing build dependencies"
|
||||||
#~ msgstr "Установка зависимостей сборки"
|
#~ msgstr "Установка зависимостей сборки"
|
||||||
|
|
||||||
#~ msgid "Would you like to remove the build dependencies?"
|
|
||||||
#~ msgstr "Хотели бы вы удалить зависимости сборки?"
|
|
||||||
|
|
||||||
#~ msgid "Error installing native packages"
|
#~ msgid "Error installing native packages"
|
||||||
#~ msgstr "Ошибка при установке нативных пакетов"
|
#~ msgstr "Ошибка при установке нативных пакетов"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user