wip: refactor
This commit is contained in:
parent
e773e3ee12
commit
87cae79655
@ -343,35 +343,35 @@ msgstr ""
|
||||
msgid "Installing build dependencies"
|
||||
msgstr ""
|
||||
|
||||
#: pkg/build/build.go:468
|
||||
#: pkg/build/build.go:498
|
||||
msgid "Installing dependencies"
|
||||
msgstr ""
|
||||
|
||||
#: pkg/build/build.go:521
|
||||
#: pkg/build/build.go:533
|
||||
msgid "The checksums array must be the same length as sources"
|
||||
msgstr ""
|
||||
|
||||
#: pkg/build/build.go:572
|
||||
#: pkg/build/build.go:584
|
||||
msgid "Would you like to remove the build dependencies?"
|
||||
msgstr ""
|
||||
|
||||
#: pkg/build/build.go:635
|
||||
#: pkg/build/build.go:647
|
||||
msgid "Executing prepare()"
|
||||
msgstr ""
|
||||
|
||||
#: pkg/build/build.go:645
|
||||
#: pkg/build/build.go:657
|
||||
msgid "Executing build()"
|
||||
msgstr ""
|
||||
|
||||
#: pkg/build/build.go:675 pkg/build/build.go:695
|
||||
#: pkg/build/build.go:687 pkg/build/build.go:707
|
||||
msgid "Executing %s()"
|
||||
msgstr ""
|
||||
|
||||
#: pkg/build/build.go:754
|
||||
#: pkg/build/build.go:766
|
||||
msgid "Error installing native packages"
|
||||
msgstr ""
|
||||
|
||||
#: pkg/build/build.go:795
|
||||
#: pkg/build/build.go:790
|
||||
msgid "Error installing package"
|
||||
msgstr ""
|
||||
|
||||
|
@ -360,36 +360,36 @@ msgstr "Этот пакет уже установлен"
|
||||
msgid "Installing build dependencies"
|
||||
msgstr "Установка зависимостей сборки"
|
||||
|
||||
#: pkg/build/build.go:468
|
||||
#: pkg/build/build.go:498
|
||||
msgid "Installing dependencies"
|
||||
msgstr "Установка зависимостей"
|
||||
|
||||
#: pkg/build/build.go:521
|
||||
#: pkg/build/build.go:533
|
||||
msgid "The checksums array must be the same length as sources"
|
||||
msgstr "Массив контрольных сумм должен быть той же длины, что и источники"
|
||||
|
||||
#: pkg/build/build.go:572
|
||||
#: pkg/build/build.go:584
|
||||
msgid "Would you like to remove the build dependencies?"
|
||||
msgstr "Хотели бы вы удалить зависимости сборки?"
|
||||
|
||||
#: pkg/build/build.go:635
|
||||
#: pkg/build/build.go:647
|
||||
msgid "Executing prepare()"
|
||||
msgstr "Исполнение prepare()"
|
||||
|
||||
#: pkg/build/build.go:645
|
||||
#: pkg/build/build.go:657
|
||||
msgid "Executing build()"
|
||||
msgstr "Исполнение build()"
|
||||
|
||||
#: pkg/build/build.go:675 pkg/build/build.go:695
|
||||
#: pkg/build/build.go:687 pkg/build/build.go:707
|
||||
#, fuzzy
|
||||
msgid "Executing %s()"
|
||||
msgstr "Исполнение files()"
|
||||
|
||||
#: pkg/build/build.go:754
|
||||
#: pkg/build/build.go:766
|
||||
msgid "Error installing native packages"
|
||||
msgstr "Ошибка при установке нативных пакетов"
|
||||
|
||||
#: pkg/build/build.go:795
|
||||
#: pkg/build/build.go:790
|
||||
msgid "Error installing package"
|
||||
msgstr "Ошибка при установке пакета"
|
||||
|
||||
|
@ -463,6 +463,36 @@ func (b *Builder) installBuildDeps(ctx context.Context, buildDepends []string) (
|
||||
return buildDeps, nil
|
||||
}
|
||||
|
||||
func (b *Builder) getBuildersForPackages(pkgs []db.Package) []*Builder {
|
||||
type item struct {
|
||||
pkg *db.Package
|
||||
packages []string
|
||||
}
|
||||
pkgsMap := make(map[string]*item)
|
||||
for _, pkg := range pkgs {
|
||||
if pkgsMap[pkg.BasePkgName] == nil {
|
||||
pkgsMap[pkg.BasePkgName] = &item{
|
||||
pkg: &pkg,
|
||||
}
|
||||
}
|
||||
pkgsMap[pkg.BasePkgName].packages = append(
|
||||
pkgsMap[pkg.BasePkgName].packages,
|
||||
pkg.Name,
|
||||
)
|
||||
}
|
||||
|
||||
builders := []*Builder{}
|
||||
|
||||
for basePkgName := range pkgsMap {
|
||||
pkg := pkgsMap[basePkgName].pkg
|
||||
builder := *b
|
||||
builder.UpdateOptsFromPkg(pkg, pkgsMap[basePkgName].packages)
|
||||
builders = append(builders, &builder)
|
||||
}
|
||||
|
||||
return builders
|
||||
}
|
||||
|
||||
func (b *Builder) buildALRDeps(ctx context.Context, depends []string) (builtPaths, builtNames, repoDeps []string, err error) {
|
||||
if len(depends) > 0 {
|
||||
slog.Info(gotext.Get("Installing dependencies"))
|
||||
@ -475,28 +505,10 @@ func (b *Builder) buildALRDeps(ctx context.Context, depends []string) (builtPath
|
||||
|
||||
// Если для некоторых пакетов есть несколько опций, упрощаем их все в один срез
|
||||
pkgs := cliutils.FlattenPkgs(ctx, found, "install", b.opts.Interactive)
|
||||
|
||||
type x struct {
|
||||
pkg *db.Package
|
||||
packages []string
|
||||
}
|
||||
xx := make(map[string]*x)
|
||||
for _, pkg := range pkgs {
|
||||
if xx[pkg.BasePkgName] == nil {
|
||||
xx[pkg.BasePkgName] = &x{
|
||||
pkg: &pkg,
|
||||
}
|
||||
}
|
||||
xx[pkg.BasePkgName].packages = append(xx[pkg.BasePkgName].packages, pkg.Name)
|
||||
}
|
||||
|
||||
for basePkgName := range xx {
|
||||
pkg := xx[basePkgName].pkg
|
||||
newB := *b
|
||||
newB.UpdateOptsFromPkg(pkg, xx[basePkgName].packages)
|
||||
|
||||
builders := b.getBuildersForPackages(pkgs)
|
||||
for _, builder := range builders {
|
||||
// Собираем зависимости
|
||||
pkgPaths, pkgNames, err := newB.BuildPackage(ctx)
|
||||
pkgPaths, pkgNames, err := builder.BuildPackage(ctx)
|
||||
if err != nil {
|
||||
return nil, nil, nil, err
|
||||
}
|
||||
@ -762,25 +774,8 @@ func (b *Builder) InstallPkgs(
|
||||
}
|
||||
|
||||
func (b *Builder) InstallALRPackages(ctx context.Context, pkgs []db.Package, opts types.BuildOpts) {
|
||||
type x struct {
|
||||
pkg *db.Package
|
||||
packages []string
|
||||
}
|
||||
xx := make(map[string]*x)
|
||||
for _, pkg := range pkgs {
|
||||
if xx[pkg.BasePkgName] == nil {
|
||||
xx[pkg.BasePkgName] = &x{
|
||||
pkg: &pkg,
|
||||
}
|
||||
}
|
||||
xx[pkg.BasePkgName].packages = append(xx[pkg.BasePkgName].packages, pkg.Name)
|
||||
}
|
||||
|
||||
for basePkgName := range xx {
|
||||
pkg := xx[basePkgName].pkg
|
||||
builder := *b
|
||||
builder.UpdateOptsFromPkg(pkg, xx[basePkgName].packages)
|
||||
|
||||
builders := b.getBuildersForPackages(pkgs)
|
||||
for _, builder := range builders {
|
||||
builtPkgs, _, err := builder.BuildPackage(ctx)
|
||||
// Выполняем сборку пакета
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user