feat(pkgbuild): extract logic

This commit is contained in:
jguer
2020-12-15 01:29:05 +01:00
parent 28c985b378
commit ee3c51f6f2
7 changed files with 180 additions and 174 deletions

View File

@@ -4,12 +4,13 @@ import (
"fmt"
"os"
"strconv"
"strings"
"github.com/leonelquinteros/gotext"
rpc "github.com/mikkeloscar/aur"
"github.com/Jguer/yay/v10/pkg/db"
"github.com/Jguer/yay/v10/pkg/multierror"
"github.com/Jguer/yay/v10/pkg/download"
"github.com/Jguer/yay/v10/pkg/query"
"github.com/Jguer/yay/v10/pkg/settings"
"github.com/Jguer/yay/v10/pkg/stringset"
@@ -268,45 +269,28 @@ outer:
return nil
}
func printPkgbuilds(dbExecutor db.Executor, pkgS []string) error {
var pkgbuilds []string
var localPkgbuilds []string
missing := false
pkgS = query.RemoveInvalidTargets(pkgS, config.Runtime.Mode)
aurS, repoS := packageSlices(pkgS, dbExecutor)
var err error
var errs multierror.MultiError
if len(aurS) != 0 {
noDB := make([]string, 0, len(aurS))
for _, pkg := range aurS {
_, name := text.SplitDBFromName(pkg)
noDB = append(noDB, name)
}
localPkgbuilds, err = aurPkgbuilds(noDB)
pkgbuilds = append(pkgbuilds, localPkgbuilds...)
errs.Add(err)
}
if len(repoS) != 0 {
localPkgbuilds, err = repoPkgbuilds(dbExecutor, repoS)
pkgbuilds = append(pkgbuilds, localPkgbuilds...)
errs.Add(err)
}
if len(aurS)+len(repoS) != len(pkgbuilds) {
missing = true
func printPkgbuilds(dbExecutor db.Executor, targets []string) error {
pkgbuilds, err := download.GetPkgbuilds(dbExecutor, targets, config.Runtime.Mode)
if err != nil {
text.Errorln(err)
}
if len(pkgbuilds) != 0 {
for _, pkgbuild := range pkgbuilds {
fmt.Print(pkgbuild)
for target, pkgbuild := range pkgbuilds {
fmt.Printf("\n\n# %s\n\n", target)
fmt.Print(string(pkgbuild))
}
}
if missing {
err = fmt.Errorf("Missing packages")
if len(pkgbuilds) != len(targets) {
missing := []string{}
for _, target := range targets {
if _, ok := pkgbuilds[target]; !ok {
missing = append(missing, target)
}
}
text.Warnln("Unable to find the following packages:", strings.Join(missing, ", "))
}
return err
return nil
}