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