|
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