This commit is contained in:
2025-04-12 15:51:39 +03:00
parent 5ca34a572a
commit 8070112bf2
45 changed files with 2728 additions and 1196 deletions

View File

@ -84,9 +84,9 @@ func BuildCmd() *cli.Command {
var script string
var packages []string
repository := "default"
// repository := "default"
repoDir := cfg.GetPaths().RepoDir
// repoDir := cfg.GetPaths().RepoDir
switch {
case c.IsSet("script"):
@ -111,25 +111,14 @@ func BuildCmd() *cli.Command {
os.Exit(1)
}
repository = pkg[0].Repository
// repository = pkg[0].Repository
if pkg[0].BasePkgName != "" {
script = filepath.Join(repoDir, repository, pkg[0].BasePkgName, "alr.sh")
// script = filepath.Join(repoDir, repository, pkg[0].BasePkgName, "alr.sh")
packages = append(packages, pkg[0].Name)
} else {
script = filepath.Join(repoDir, repository, pkg[0].Name, "alr.sh")
}
default:
script = filepath.Join(repoDir, "alr.sh")
}
// Проверка автоматического пулла репозиториев
if cfg.AutoPull() {
err := rs.Pull(ctx, cfg.Repos())
if err != nil {
slog.Error(gotext.Get("Error pulling repositories"), "err", err)
os.Exit(1)
}
// script = filepath.Join(repoDir, "alr.sh")
}
// Обнаружение менеджера пакетов
@ -145,23 +134,27 @@ func BuildCmd() *cli.Command {
os.Exit(1)
}
builder := build.NewBuilder(
ctx,
types.BuildOpts{
Packages: packages,
Repository: repository,
Script: script,
Manager: mgr,
Clean: c.Bool("clean"),
Interactive: c.Bool("interactive"),
},
rs,
info,
builder := build.NewMainBuilder(
cfg,
rs,
)
// Сборка пакета
pkgPaths, _, err := builder.BuildPackage(ctx)
res, err := builder.BuildPackageFromScript(
ctx,
&build.BuildPackageFromScriptArgs{
Script: script,
Packages: packages,
BuildArgs: build.BuildArgs{
Opts: &types.BuildOpts{
Clean: c.Bool("clean"),
Interactive: c.Bool("interactive"),
},
PkgFormat_: build.GetPkgFormat(mgr),
Info: info,
},
},
)
if err != nil {
slog.Error(gotext.Get("Error building package"), "err", err)
os.Exit(1)
@ -175,7 +168,7 @@ func BuildCmd() *cli.Command {
}
// Перемещение собранных пакетов в рабочую директорию
for _, pkgPath := range pkgPaths {
for _, pkgPath := range res.PackagePaths {
name := filepath.Base(pkgPath)
err = osutils.Move(pkgPath, filepath.Join(wd, name))
if err != nil {