Извлечение имени репозитория из пути к скрипту при сборке через -s
All checks were successful
Pre-commit / pre-commit (pull_request) Successful in 3m47s

This commit is contained in:
2025-12-09 11:33:14 +03:00
parent f775641cb7
commit 7448d91817
3 changed files with 80 additions and 1 deletions

View File

@@ -331,3 +331,29 @@ func removeDuplicatesSources(sources, checksums []string) ([]string, []string) {
}
return newSources, newChecksums
}
// ExtractRepoNameFromPath извлекает имя репозитория из пути к скрипту.
// Ожидаемый формат: repo-name/package-name/alr.sh или /abs/path/repo-name/package-name/alr.sh
// Возвращает "default", если не удалось извлечь имя.
func ExtractRepoNameFromPath(scriptPath string) string {
// Нормализуем путь
cleanPath := filepath.Clean(scriptPath)
// Разбиваем путь на компоненты
dir := filepath.Dir(cleanPath) // package-name
if dir == "." || dir == "/" {
return "default"
}
repoDir := filepath.Dir(dir) // repo-name
if repoDir == "." || repoDir == "/" {
return "default"
}
repoName := filepath.Base(repoDir)
if repoName == "." || repoName == "/" || repoName == "" {
return "default"
}
return repoName
}