Оптимизация сборки зависимостей и исправление кеширования
All checks were successful
Create Release / changelog (push) Successful in 2m26s

- Добавлено полное разрешение дерева зависимостей перед сборкой
- Общие зависимости теперь собираются только один раз
- Исправлена работа кеша для подпакетов
- Исправлена обработка системных зависимостей
This commit is contained in:
2025-12-08 21:58:41 +00:00
parent 6529094fa7
commit d7e910c06c
9 changed files with 949 additions and 417 deletions

View File

@@ -42,6 +42,15 @@ func getDirs(
cfg Config,
scriptPath string,
basePkg string,
) (types.Directories, error) {
return getDirsForPackage(cfg, scriptPath, basePkg, "")
}
func getDirsForPackage(
cfg Config,
scriptPath string,
basePkg string,
packageName string,
) (types.Directories, error) {
pkgsDir := cfg.GetPaths().PkgsDir
@@ -50,10 +59,18 @@ func getDirs(
return types.Directories{}, err
}
baseDir := filepath.Join(pkgsDir, basePkg)
// Для подпакетов используем отдельную директорию pkg_<имя_подпакета>
// Для обычных пакетов используем просто pkg
pkgDirName := "pkg"
if packageName != "" {
pkgDirName = "pkg_" + packageName
}
return types.Directories{
BaseDir: getBaseDir(cfg, basePkg),
SrcDir: getSrcDir(cfg, basePkg),
PkgDir: filepath.Join(baseDir, "pkg"),
PkgDir: filepath.Join(baseDir, pkgDirName),
ScriptDir: getScriptDir(scriptPath),
}, nil
}