mirror of
https://github.com/Jguer/yay.git
synced 2025-12-27 10:01:53 -05:00
feat(pkgbuild): extract logic
This commit is contained in:
52
print.go
52
print.go
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user