|
6 | 6 | КомандаПриложения.Опция("a all", Ложь, "Установить все пакеты, зарегистрированные в хабе"); |
7 | 7 | КомандаПриложения.Опция("f file", "", "Указать файл из которого нужно установить пакет. Поддерживает указание маски файла для пакетной установки"); |
8 | 8 | КомандаПриложения.Опция("l local", Ложь, "Установить пакеты в локальный каталог oscript_modules"); |
| 9 | + КомандаПриложения.Опция("s skip-install-deps", Ложь, "признак пропуска установки зависимых пакетов"); |
| 10 | + КомандаПриложения.Опция("skip-create-app", Ложь, "признак отключения создания файла запуска"); |
9 | 11 | КомандаПриложения.Опция("d dest", "", "Переопределить стандартный каталог в который устанавливаются пакеты (вместо oscript_modules)"); |
| 12 | + |
| 13 | + ОпцияЗеркала = КомандаПриложения.Опция("m mirror", "", "Указать имя сервера, с которого необходимо ставить пакеты. |
| 14 | + | Доступные сервера прописываются в конфигурационном файле opm.cfg, параметр 'СервераПакетов'.") |
| 15 | + .ВОкружении("OPM_HUB_MIRROR") |
| 16 | + .ТПеречисление(); |
| 17 | + |
| 18 | + МенеджерПолучения = Новый МенеджерПолученияПакетов(); |
| 19 | + Для Каждого ДоступноеЗеркало Из МенеджерПолучения.ИменаДоступныхСерверов() Цикл |
| 20 | + ОпцияЗеркала.Перечисление(ДоступноеЗеркало, ДоступноеЗеркало, "Сервер '" + ДоступноеЗеркало + "'"); |
| 21 | + КонецЦикла; |
10 | 22 |
|
11 | 23 | КомандаПриложения.Аргумент("PACKAGE", "", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета") |
12 | 24 | .ТМассивСтрок() |
13 | 25 | .Обязательный(Ложь); |
14 | | - |
| 26 | + |
15 | 27 | // КомандаПриложения.Спек = "(-a | --all | -l | --local | -d | --dest )"; |
16 | 28 |
|
17 | 29 | КонецПроцедуры |
|
24 | 36 | ФайлПакетаУстановки = КомандаПриложения.ЗначениеОпции("file"); |
25 | 37 | МассивПакетовКУстановке = КомандаПриложения.ЗначениеАргумента("PACKAGE"); |
26 | 38 |
|
| 39 | + НеобходимоУстановитьЗависимости = Не КомандаПриложения.ЗначениеОпции("skip-install-deps"); |
| 40 | + СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("skip-create-app"); |
| 41 | + ИмяСервера = КомандаПриложения.ЗначениеОпции("mirror"); |
| 42 | + |
27 | 43 | РежимУстановки = РежимУстановкиПакетов.Глобально; |
28 | 44 | Если УстановкаВЛокальныйКаталог Тогда |
29 | 45 | РежимУстановки = РежимУстановкиПакетов.Локально; |
|
46 | 62 | Лог.Отладка("КаталогУстановки: %1", КаталогУстановки); |
47 | 63 | Лог.Отладка("ФайлПакетаУстановки: %1", ФайлПакетаУстановки); |
48 | 64 | Лог.Отладка("МассивПакетовКУстановке: %1", МассивПакетовКУстановке.Количество()); |
| 65 | + Лог.Отладка("НеобходимоУстановитьЗависимости: %1", НеобходимоУстановитьЗависимости); |
| 66 | + Лог.Отладка("СоздаватьФайлыЗапуска: %1", СоздаватьФайлыЗапуска); |
| 67 | + |
| 68 | + НастройкаУстановки = РаботаСПакетами.ПолучитьНастройкуУстановки(); |
| 69 | + НастройкаУстановки.УстанавливатьЗависимости = НеобходимоУстановитьЗависимости; |
| 70 | + НастройкаУстановки.СоздаватьФайлыЗапуска = СоздаватьФайлыЗапуска; |
| 71 | + НастройкаУстановки.ИмяСервера = ИмяСервера; |
49 | 72 |
|
50 | 73 | Если УстановкаВсехПакетов Тогда |
51 | | - РаботаСПакетами.УстановитьВсеПакетыИзОблака(РежимУстановки, ЦелевойКаталог); |
| 74 | + РаботаСПакетами.УстановитьВсеПакетыИзОблака(РежимУстановки, ЦелевойКаталог, НастройкаУстановки); |
52 | 75 | ИначеЕсли ПустаяСтрока(ФайлПакетаУстановки) И МассивПакетовКУстановке.Количество() = 0 Тогда |
53 | | - РаботаСПакетами.УстановитьПакетыПоОписаниюПакета(РежимУстановки, ЦелевойКаталог); |
| 76 | + РаботаСПакетами.УстановитьПакетыПоОписаниюПакета(РежимУстановки, ЦелевойКаталог, НастройкаУстановки); |
54 | 77 | ИначеЕсли НЕ ПустаяСтрока(ФайлПакетаУстановки) Тогда |
55 | 78 |
|
56 | 79 | РазобранныйАдрес = СтрРазделить(ФайлПакетаУстановки, ПолучитьРазделительПути()); |
|
67 | 90 | ФайлыПоМаске = НайтиФайлы(Путь, Маска); |
68 | 91 | Для Каждого ФайлПакета Из ФайлыПоМаске Цикл |
69 | 92 |
|
70 | | - РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакета.ПолноеИмя, РежимУстановки, ЦелевойКаталог); |
| 93 | + РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакета.ПолноеИмя, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); |
71 | 94 |
|
72 | 95 | КонецЦикла; |
73 | 96 |
|
74 | 97 | Иначе |
75 | 98 |
|
76 | 99 | Для каждого ИмяПакета Из МассивПакетовКУстановке Цикл |
77 | | - РаботаСПакетами.УстановитьПакетИзОблака(ИмяПакета, РежимУстановки, ЦелевойКаталог); |
| 100 | + |
| 101 | + Если ЭтоФайлПакета(ИмяПакета) Тогда |
| 102 | + |
| 103 | + РаботаСПакетами.УстановитьПакетИзФайла(ИмяПакета, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); |
| 104 | + |
| 105 | + Иначе |
| 106 | + |
| 107 | + РаботаСПакетами.УстановитьПакетИзОблака(ИмяПакета, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); |
| 108 | + |
| 109 | + КонецЕсли; |
| 110 | + |
| 111 | + |
78 | 112 | КонецЦикла; |
79 | 113 |
|
80 | 114 | КонецЕсли; |
81 | 115 |
|
82 | 116 | КонецПроцедуры |
| 117 | + |
| 118 | +Функция ЭтоФайлПакета(Знач ИмяПакета) |
| 119 | + |
| 120 | + Возврат СтрЗаканчиваетсяНа(НРег(ИмяПакета), ".ospx"); |
| 121 | + |
| 122 | +КонецФункции |
0 commit comments