|
18 | 18 | Перем УстанавливатьЗависимости; |
19 | 19 | Перем УстанавливатьЗависимостиРазработчика; |
20 | 20 | Перем СоздаватьФайлыЗапуска; |
| 21 | +Перем УровеньЗависимости; |
21 | 22 |
|
22 | 23 | // BSLLS:NumberOfOptionalParams-off |
23 | 24 | Процедура ПриСозданииОбъекта(Знач ВходящийРежимУстановкиПакетов = Неопределено, |
|
63 | 64 | УстанавливатьЗависимостиРазработчика = Ложь; |
64 | 65 | СоздаватьФайлыЗапуска = Истина; |
65 | 66 | ИмяСервера = ВходящийИмяСервера; |
| 67 | + УровеньЗависимости = 0; |
66 | 68 | КонецПроцедуры |
67 | 69 |
|
68 | 70 | Процедура УстанавливатьЗависимости(Знач ПУстанавливатьЗависимости) Экспорт |
|
77 | 79 | СоздаватьФайлыЗапуска = ПСоздаватьФайлыЗапуска; |
78 | 80 | КонецПроцедуры |
79 | 81 |
|
| 82 | +Процедура УстановитьУровеньЗависимости(Знач Уровень) Экспорт |
| 83 | + УровеньЗависимости = Уровень; |
| 84 | +КонецПроцедуры |
| 85 | + |
80 | 86 | Процедура УстановитьРежимУстановкиПакетов(Знач ЗначениеРежимУстановкиПакетов) Экспорт |
81 | 87 |
|
82 | 88 | ТекущийРежимУстановкиПакетов = ЗначениеРежимУстановкиПакетов; |
|
114 | 120 | Процедура УстановитьПакетПоОписанию(Знач ЗависимостьПакета) Экспорт |
115 | 121 |
|
116 | 122 | Если ЗависимостьПакета.ДляРазработки Тогда |
117 | | - Если УстанавливатьЗависимостиРазработчика Тогда |
| 123 | + // Зависимости разработчика устанавливаются только на первом уровне (УровеньЗависимости = 0) |
| 124 | + Если УстанавливатьЗависимостиРазработчика И УровеньЗависимости = 0 Тогда |
118 | 125 | Лог.Отладка("<%1> отмечена как зависимость для разработчика. Устанавливаем.", ЗависимостьПакета.ИмяПакета); |
119 | 126 | Иначе |
120 | | - Лог.Отладка("<%1> отмечена как зависимость для разработчика, " + |
121 | | - "но установка зависимостей для разработчика не активирована. Пропускаем.", ЗависимостьПакета.ИмяПакета); |
| 127 | + Если УровеньЗависимости > 0 Тогда |
| 128 | + Лог.Отладка("<%1> отмечена как зависимость для разработчика, " + |
| 129 | + "но это транзитивная зависимость (уровень %2). Пропускаем.", ЗависимостьПакета.ИмяПакета, УровеньЗависимости); |
| 130 | + Иначе |
| 131 | + Лог.Отладка("<%1> отмечена как зависимость для разработчика, " + |
| 132 | + "но установка зависимостей для разработчика не активирована. Пропускаем.", ЗависимостьПакета.ИмяПакета); |
| 133 | + КонецЕсли; |
122 | 134 | Возврат; |
123 | 135 | КонецЕсли; |
124 | 136 | КонецЕсли; |
|
173 | 185 |
|
174 | 186 | Процедура УстановитьПакетПоИмениИВерсии(Знач ИмяПакета, Знач ВерсияПакета, ЗНач ЭтоЗависимыйПакет = Ложь) Экспорт |
175 | 187 |
|
176 | | - ФайлПакета = РаботаСПакетами.ПолучитьПакет(ИмяПакета, ВерсияПакета, , ИмяСервера); |
177 | | - УстановитьПакетИзАрхива(ФайлПакета, ЭтоЗависимыйПакет); |
| 188 | + Если ЭтоЗависимыйПакет Тогда |
| 189 | + // Для зависимых пакетов увеличиваем уровень зависимости |
| 190 | + НовыйМенеджер = Новый МенеджерУстановкиПакетов(ТекущийРежимУстановкиПакетов, ЦелевойКаталогУстановки, КаталогУстановкиЗависимостей, ИмяСервера); |
| 191 | + НовыйМенеджер.УстанавливатьЗависимости(УстанавливатьЗависимости); |
| 192 | + НовыйМенеджер.СоздаватьФайлыЗапуска(СоздаватьФайлыЗапуска); |
| 193 | + // Для транзитивных зависимостей отключаем установку зависимостей разработчика |
| 194 | + НовыйМенеджер.УстанавливатьЗависимостиРазработчика(Ложь); |
| 195 | + НовыйМенеджер.УстановитьУровеньЗависимости(УровеньЗависимости + 1); |
| 196 | + |
| 197 | + ФайлПакета = РаботаСПакетами.ПолучитьПакет(ИмяПакета, ВерсияПакета, , ИмяСервера); |
| 198 | + НовыйМенеджер.УстановитьПакетИзАрхива(ФайлПакета, Ложь); |
| 199 | + Иначе |
| 200 | + ФайлПакета = РаботаСПакетами.ПолучитьПакет(ИмяПакета, ВерсияПакета, , ИмяСервера); |
| 201 | + УстановитьПакетИзАрхива(ФайлПакета, ЭтоЗависимыйПакет); |
| 202 | + КонецЕсли; |
178 | 203 |
|
179 | 204 | КонецПроцедуры |
180 | 205 |
|
|
0 commit comments