forked from Plemya-x/ALR
		
	Изменение работы логики аргумента -p (fix)
This commit is contained in:
		
							
								
								
									
										22
									
								
								build.go
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								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)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user