refactor: keep only one struct for package
This commit is contained in:
		| @@ -24,13 +24,13 @@ import ( | ||||
| 	"context" | ||||
| 	"encoding/gob" | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"log/slog" | ||||
|  | ||||
| 	"github.com/leonelquinteros/gotext" | ||||
|  | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/cliutils" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/config" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/db" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/manager" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/pkg/alrsh" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/pkg/distro" | ||||
| @@ -158,7 +158,7 @@ func GetBuiltName(deps []*BuiltDep) []string { | ||||
| } | ||||
|  | ||||
| type PackageFinder interface { | ||||
| 	FindPkgs(ctx context.Context, pkgs []string) (map[string][]db.Package, []string, error) | ||||
| 	FindPkgs(ctx context.Context, pkgs []string) (map[string][]alrsh.Package, []string, error) | ||||
| } | ||||
|  | ||||
| type Config interface { | ||||
| @@ -173,12 +173,12 @@ type FunctionsOutput struct { | ||||
| // EXECUTORS | ||||
|  | ||||
| type ScriptResolverExecutor interface { | ||||
| 	ResolveScript(ctx context.Context, pkg *db.Package) *ScriptInfo | ||||
| 	ResolveScript(ctx context.Context, pkg *alrsh.Package) *ScriptInfo | ||||
| } | ||||
|  | ||||
| type ScriptExecutor interface { | ||||
| 	ReadScript(ctx context.Context, scriptPath string) (*alrsh.ALRSh, error) | ||||
| 	ExecuteFirstPass(ctx context.Context, input *BuildInput, sf *alrsh.ALRSh) (string, []*types.BuildVars, error) | ||||
| 	ReadScript(ctx context.Context, scriptPath string) (*alrsh.ScriptFile, error) | ||||
| 	ExecuteFirstPass(ctx context.Context, input *BuildInput, sf *alrsh.ScriptFile) (string, []*alrsh.Package, error) | ||||
| 	PrepareDirs( | ||||
| 		ctx context.Context, | ||||
| 		input *BuildInput, | ||||
| @@ -187,8 +187,8 @@ type ScriptExecutor interface { | ||||
| 	ExecuteSecondPass( | ||||
| 		ctx context.Context, | ||||
| 		input *BuildInput, | ||||
| 		sf *alrsh.ALRSh, | ||||
| 		varsOfPackages []*types.BuildVars, | ||||
| 		sf *alrsh.ScriptFile, | ||||
| 		varsOfPackages []*alrsh.Package, | ||||
| 		repoDeps []string, | ||||
| 		builtDeps []*BuiltDep, | ||||
| 		basePkg string, | ||||
| @@ -196,18 +196,18 @@ type ScriptExecutor interface { | ||||
| } | ||||
|  | ||||
| type CacheExecutor interface { | ||||
| 	CheckForBuiltPackage(ctx context.Context, input *BuildInput, vars *types.BuildVars) (string, bool, error) | ||||
| 	CheckForBuiltPackage(ctx context.Context, input *BuildInput, vars *alrsh.Package) (string, bool, error) | ||||
| } | ||||
|  | ||||
| type ScriptViewerExecutor interface { | ||||
| 	ViewScript(ctx context.Context, input *BuildInput, sf *alrsh.ALRSh, basePkg string) error | ||||
| 	ViewScript(ctx context.Context, input *BuildInput, sf *alrsh.ScriptFile, basePkg string) error | ||||
| } | ||||
|  | ||||
| type CheckerExecutor interface { | ||||
| 	PerformChecks( | ||||
| 		ctx context.Context, | ||||
| 		input *BuildInput, | ||||
| 		vars *types.BuildVars, | ||||
| 		vars *alrsh.Package, | ||||
| 	) (bool, error) | ||||
| } | ||||
|  | ||||
| @@ -285,7 +285,7 @@ func (b *BuildArgs) PkgFormat() string { | ||||
|  | ||||
| type BuildPackageFromDbArgs struct { | ||||
| 	BuildArgs | ||||
| 	Package  *db.Package | ||||
| 	Package  *alrsh.Package | ||||
| 	Packages []string | ||||
| } | ||||
|  | ||||
| @@ -334,19 +334,19 @@ func (b *Builder) BuildPackage( | ||||
| 	slog.Debug("ReadScript") | ||||
| 	sf, err := b.scriptExecutor.ReadScript(ctx, scriptPath) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 		return nil, fmt.Errorf("failed reading script: %w", err) | ||||
| 	} | ||||
|  | ||||
| 	slog.Debug("ExecuteFirstPass") | ||||
| 	basePkg, varsOfPackages, err := b.scriptExecutor.ExecuteFirstPass(ctx, input, sf) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 		return nil, fmt.Errorf("failed ExecuteFirstPass: %w", err) | ||||
| 	} | ||||
|  | ||||
| 	var builtDeps []*BuiltDep | ||||
|  | ||||
| 	if !input.opts.Clean { | ||||
| 		var remainingVars []*types.BuildVars | ||||
| 		var remainingVars []*alrsh.Package | ||||
| 		for _, vars := range varsOfPackages { | ||||
| 			builtPkgPath, ok, err := b.cacheExecutor.CheckForBuiltPackage(ctx, input, vars) | ||||
| 			if err != nil { | ||||
| @@ -367,6 +367,7 @@ func (b *Builder) BuildPackage( | ||||
| 	} | ||||
|  | ||||
| 	slog.Debug("ViewScript") | ||||
| 	slog.Debug("", "varsOfPackages", varsOfPackages) | ||||
| 	err = b.scriptViewerExecutor.ViewScript(ctx, input, sf, basePkg) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| @@ -390,11 +391,11 @@ func (b *Builder) BuildPackage( | ||||
| 	sources := []string{} | ||||
| 	checksums := []string{} | ||||
| 	for _, vars := range varsOfPackages { | ||||
| 		buildDepends = append(buildDepends, vars.BuildDepends...) | ||||
| 		optDepends = append(optDepends, vars.OptDepends...) | ||||
| 		depends = append(depends, vars.Depends...) | ||||
| 		sources = append(sources, vars.Sources...) | ||||
| 		checksums = append(checksums, vars.Checksums...) | ||||
| 		buildDepends = append(buildDepends, vars.BuildDepends.Resolved()...) | ||||
| 		optDepends = append(optDepends, vars.OptDepends.Resolved()...) | ||||
| 		depends = append(depends, vars.Depends.Resolved()...) | ||||
| 		sources = append(sources, vars.Sources.Resolved()...) | ||||
| 		checksums = append(checksums, vars.Checksums.Resolved()...) | ||||
| 	} | ||||
| 	buildDepends = removeDuplicates(buildDepends) | ||||
| 	optDepends = removeDuplicates(optDepends) | ||||
| @@ -481,7 +482,7 @@ func (b *Builder) BuildPackage( | ||||
|  | ||||
| type InstallPkgsArgs struct { | ||||
| 	BuildArgs | ||||
| 	AlrPkgs    []db.Package | ||||
| 	AlrPkgs    []alrsh.Package | ||||
| 	NativePkgs []string | ||||
| } | ||||
|  | ||||
| @@ -492,7 +493,7 @@ func (b *Builder) InstallALRPackages( | ||||
| 		BuildOptsProvider | ||||
| 		PkgFormatProvider | ||||
| 	}, | ||||
| 	alrPkgs []db.Package, | ||||
| 	alrPkgs []alrsh.Package, | ||||
| ) error { | ||||
| 	for _, pkg := range alrPkgs { | ||||
| 		res, err := b.BuildPackageFromDb( | ||||
| @@ -539,7 +540,7 @@ func (b *Builder) BuildALRDeps( | ||||
|  | ||||
| 		found, notFound, err := b.repos.FindPkgs(ctx, depends) // Поиск зависимостей | ||||
| 		if err != nil { | ||||
| 			return nil, nil, err | ||||
| 			return nil, nil, fmt.Errorf("failed FindPkgs: %w", err) | ||||
| 		} | ||||
| 		repoDeps = notFound | ||||
|  | ||||
| @@ -551,7 +552,7 @@ func (b *Builder) BuildALRDeps( | ||||
| 			input.BuildOpts().Interactive, | ||||
| 		) | ||||
| 		type item struct { | ||||
| 			pkg      *db.Package | ||||
| 			pkg      *alrsh.Package | ||||
| 			packages []string | ||||
| 		} | ||||
| 		pkgsMap := make(map[string]*item) | ||||
| @@ -586,7 +587,7 @@ func (b *Builder) BuildALRDeps( | ||||
| 				}, | ||||
| 			) | ||||
| 			if err != nil { | ||||
| 				return nil, nil, err | ||||
| 				return nil, nil, fmt.Errorf("failed build package from db: %w", err) | ||||
| 			} | ||||
|  | ||||
| 			buildDeps = append(buildDeps, res...) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user