mirror of
https://github.com/Jguer/yay.git
synced 2025-12-27 07:35:48 -05:00
* rework relationship between runtime and cfg * separate runtime from cfg * simplify instantiation logic * move installer to appropriate package * move operator to sync package * add tests for srcinfo service * consolidate srcinfo service in sync * add logger to srcinfo * add logger to preparer * remove unused text functions * remove remaining text.* from srcinfo * remove global logger parts * remove global org method exports * remove global logger * move text->input * add rule to prevent fmt.Print * update golangci go version * remove outdated FAQs * remove outdated FAQs
63 lines
1.5 KiB
Go
63 lines
1.5 KiB
Go
package workdir
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/leonelquinteros/gotext"
|
|
|
|
"github.com/Jguer/yay/v12/pkg/runtime"
|
|
"github.com/Jguer/yay/v12/pkg/settings"
|
|
"github.com/Jguer/yay/v12/pkg/settings/exe"
|
|
"github.com/Jguer/yay/v12/pkg/settings/parser"
|
|
"github.com/Jguer/yay/v12/pkg/text"
|
|
)
|
|
|
|
func removeMake(ctx context.Context, config *settings.Configuration,
|
|
cmdBuilder exe.ICmdBuilder, makeDeps []string, cmdArgs *parser.Arguments,
|
|
) error {
|
|
removeArguments := cmdArgs.CopyGlobal()
|
|
|
|
err := removeArguments.AddArg("R", "s", "u")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
for _, pkg := range makeDeps {
|
|
removeArguments.AddTarget(pkg)
|
|
}
|
|
|
|
oldValue := settings.NoConfirm
|
|
settings.NoConfirm = true
|
|
err = cmdBuilder.Show(cmdBuilder.BuildPacmanCmd(ctx,
|
|
removeArguments, config.Mode, settings.NoConfirm))
|
|
settings.NoConfirm = oldValue
|
|
|
|
return err
|
|
}
|
|
|
|
func cleanAfter(ctx context.Context, run *runtime.Runtime,
|
|
cmdBuilder exe.ICmdBuilder, pkgbuildDirs map[string]string,
|
|
) {
|
|
run.Logger.Println(gotext.Get("removing untracked AUR files from cache..."))
|
|
|
|
i := 0
|
|
for _, dir := range pkgbuildDirs {
|
|
run.Logger.OperationInfoln(gotext.Get("Cleaning (%d/%d): %s", i+1, len(pkgbuildDirs), text.Cyan(dir)))
|
|
|
|
_, stderr, err := cmdBuilder.Capture(
|
|
cmdBuilder.BuildGitCmd(
|
|
ctx, dir, "reset", "--hard", "HEAD"))
|
|
if err != nil {
|
|
run.Logger.Errorln(gotext.Get("error resetting %s: %s", dir, stderr))
|
|
}
|
|
|
|
if err := run.CmdBuilder.Show(
|
|
run.CmdBuilder.BuildGitCmd(
|
|
ctx, dir, "clean", "-fx", "--exclude", "*.pkg.*")); err != nil {
|
|
run.Logger.Errorln(err)
|
|
}
|
|
|
|
i++
|
|
}
|
|
}
|