|
5 | 5 |
|
6 | 6 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Выполнить установку. Если указано имя пакета, происходит установка из хаба или из файла. В обратном случае устанавливаются зависимости текущего пакета по файлу packagedef."); |
7 | 7 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-all", "Установить все пакеты, зарегистрированные в хабе"); |
8 | | - Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-f", "Указать файл из которого нужно установить пакет"); |
| 8 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-f", "Указать файл из которого нужно установить пакет. Поддерживает указание маски файла для пакетной установки"); |
9 | 9 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-l", "Установить пакеты в локальный каталог oscript_modules"); |
10 | 10 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-dest", "Переопределить стандартный каталог в который устанавливаются пакеты (вместо oscript_modules)"); |
11 | 11 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ИмяПакета", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета"); |
|
25 | 25 |
|
26 | 26 | Процедура УстановитьПакет(Знач ЗначенияПараметров) Экспорт |
27 | 27 |
|
28 | | - Установщик = Новый УстановкаПакета; |
| 28 | + РежимУстановки = РежимУстановкиПакетов.Глобально; |
| 29 | + |
| 30 | + Если ЗначенияПараметров["-l"] = Истина Тогда |
| 31 | + РежимУстановки = РежимУстановкиПакетов.Локально; |
| 32 | + КонецЕсли; |
29 | 33 |
|
30 | | - Если ЗначенияПараметров["-l"] Тогда |
31 | | - Если ЗначениеЗаполнено(ЗначенияПараметров["-dest"]) Тогда |
32 | | - Лог = Логирование.ПолучитьЛог(ПараметрыСистемыOpm.ИмяЛогаСистемы()); |
33 | | - Лог.Предупреждение("При локальной установке параметр -dest игнорируется"); |
34 | | - КонецЕсли; |
35 | | - Установщик.УстановитьРежимУстановкиПакетов(РежимУстановкиПакетов.Локально); |
36 | | - Иначе |
37 | | - Установщик.УстановитьРежимУстановкиПакетов(РежимУстановкиПакетов.Глобально); |
| 34 | + ЦелевойКаталог = Неопределено; |
38 | 35 |
|
39 | | - Если ЗначениеЗаполнено(ЗначенияПараметров["-dest"]) Тогда |
40 | | - Установщик.УстановитьЦелевойКаталог(ЗначенияПараметров["-dest"]); |
41 | | - КонецЕсли; |
| 36 | + Если ЗначениеЗаполнено(ЗначенияПараметров["-dest"]) Тогда |
| 37 | + ЦелевойКаталог = ЗначенияПараметров["-dest"]; |
| 38 | + КонецЕсли; |
42 | 39 |
|
| 40 | + Если РежимУстановки = РежимУстановкиПакетов.Локально Тогда |
| 41 | + Лог = Логирование.ПолучитьЛог(ПараметрыСистемыOpm.ИмяЛогаСистемы()); |
| 42 | + Лог.Предупреждение("При локальной установке параметр -dest игнорируется"); |
| 43 | + ЦелевойКаталог = Неопределено; |
43 | 44 | КонецЕсли; |
44 | | - |
| 45 | + |
45 | 46 | Если ЗначенияПараметров["-all"] Тогда |
46 | | - Установщик.УстановитьВсеПакетыИзОблака(); |
| 47 | + РаботаСПакетами.УстановитьВсеПакетыИзОблака(РежимУстановки, ЦелевойКаталог); |
47 | 48 | ИначеЕсли ЗначенияПараметров["-f"] = Неопределено И ЗначенияПараметров["ИмяПакета"] = Неопределено Тогда |
48 | | - Установщик.УстановитьПакетыПоОписаниюПакета(); |
| 49 | + РаботаСПакетами.УстановитьПакетыПоОписаниюПакета(РежимУстановки, ЦелевойКаталог); |
49 | 50 | ИначеЕсли ЗначенияПараметров["-f"] <> Неопределено Тогда |
50 | | - Установщик.УстановитьПакетИзАрхива(ЗначенияПараметров["-f"]); |
| 51 | + |
| 52 | + РазобранныйАдрес = СтрРазделить(ЗначенияПараметров["-f"], ПолучитьРазделительПути()); |
| 53 | + Путь = "."; |
| 54 | + Маска = ЗначенияПараметров["-f"]; |
| 55 | + Если РазобранныйАдрес.Количество() > 1 Тогда // отделим последнюю секцию как имя файла, а остальное опять соберем в строку пути |
| 56 | + |
| 57 | + Маска = РазобранныйАдрес[РазобранныйАдрес.Количество() - 1]; |
| 58 | + РазобранныйАдрес.Удалить(РазобранныйАдрес.Количество() - 1); |
| 59 | + Путь = СтрСоединить(РазобранныйАдрес, ПолучитьРазделительПути()); |
| 60 | + |
| 61 | + КонецЕсли; |
| 62 | + |
| 63 | + ФайлыПоМаске = НайтиФайлы(Путь, Маска); |
| 64 | + Для Каждого ФайлПакета Из ФайлыПоМаске Цикл |
| 65 | + |
| 66 | + РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакета.ПолноеИмя, РежимУстановки, ЦелевойКаталог); |
| 67 | + |
| 68 | + КонецЦикла; |
| 69 | + |
51 | 70 | Иначе |
52 | | - Установщик.УстановитьПакетИзОблака(ЗначенияПараметров["ИмяПакета"]); |
| 71 | + РаботаСПакетами.УстановитьПакетИзОблака(ЗначенияПараметров["ИмяПакета"], РежимУстановки, ЦелевойКаталог); |
53 | 72 | КонецЕсли; |
54 | 73 |
|
55 | 74 | КонецПроцедуры |
0 commit comments