Изменение работы логики аргумента -p (fix)
This commit is contained in:
parent
bf1fc0d878
commit
c437346957
24
build.go
24
build.go
@ -61,19 +61,27 @@ func BuildCmd() *cli.Command {
|
||||
ctx := c.Context
|
||||
|
||||
var script string
|
||||
packageInput := c.String("package")
|
||||
|
||||
if packageInput != "" {
|
||||
// If the package input contains a '/', use it as the full path.
|
||||
// Проверяем, установлен ли флаг script (-s)
|
||||
if c.IsSet("script") {
|
||||
script = c.String("script")
|
||||
} else if c.IsSet("package") {
|
||||
// Если флаг script не установлен, проверяем флаг package (-p)
|
||||
packageInput := c.String("package")
|
||||
// Определяем, содержит ли packageInput символ '/'
|
||||
if filepath.Dir(packageInput) == "." {
|
||||
// No directory specified, use 'default' as a prefix.
|
||||
// Не указана директория репозитория, используем 'default' как префикс
|
||||
script = filepath.Join(config.GetPaths(ctx).RepoDir, "default", packageInput, "alr.sh")
|
||||
} else {
|
||||
// Use the full path specified by the user.
|
||||
// Используем путь с указанным репозиторием
|
||||
script = filepath.Join(config.GetPaths(ctx).RepoDir, packageInput, "alr.sh")
|
||||
}
|
||||
} else {
|
||||
// Ни флаги script, ни package не установлены, используем дефолтный скрипт
|
||||
script = filepath.Join(config.GetPaths(ctx).RepoDir, "alr.sh")
|
||||
}
|
||||
|
||||
// Проверка автоматического пулла репозиториев
|
||||
if config.GetInstance(ctx).AutoPull(ctx) {
|
||||
err := repos.Pull(ctx, config.Config(ctx).Repos)
|
||||
if err != nil {
|
||||
@ -82,12 +90,14 @@ func BuildCmd() *cli.Command {
|
||||
}
|
||||
}
|
||||
|
||||
// Обнаружение менеджера пакетов
|
||||
mgr := manager.Detect()
|
||||
if mgr == nil {
|
||||
slog.Error(gotext.Get("Unable to detect a supported package manager on the system"))
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Сборка пакета
|
||||
pkgPaths, _, err := build.BuildPackage(ctx, types.BuildOpts{
|
||||
Script: script,
|
||||
Manager: mgr,
|
||||
@ -99,12 +109,14 @@ func BuildCmd() *cli.Command {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Получение текущей рабочей директории
|
||||
wd, err := os.Getwd()
|
||||
if err != nil {
|
||||
slog.Error(gotext.Get("Error getting working directory"), "err", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Перемещение собранных пакетов в рабочую директорию
|
||||
for _, pkgPath := range pkgPaths {
|
||||
name := filepath.Base(pkgPath)
|
||||
err = osutils.Move(pkgPath, filepath.Join(wd, name))
|
||||
@ -117,4 +129,4 @@ func BuildCmd() *cli.Command {
|
||||
return nil
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user