|
18 | 18 | Перем УстанавливатьЗависимости; |
19 | 19 | Перем УстанавливатьЗависимостиРазработчика; |
20 | 20 | Перем СоздаватьФайлыЗапуска; |
21 | | -Перем УровеньЗависимости; |
22 | 21 |
|
23 | 22 | // BSLLS:NumberOfOptionalParams-off |
24 | 23 | Процедура ПриСозданииОбъекта(Знач ВходящийРежимУстановкиПакетов = Неопределено, |
|
64 | 63 | УстанавливатьЗависимостиРазработчика = Ложь; |
65 | 64 | СоздаватьФайлыЗапуска = Истина; |
66 | 65 | ИмяСервера = ВходящийИмяСервера; |
67 | | -УровеньЗависимости = 0; |
68 | 66 | КонецПроцедуры |
69 | 67 |
|
70 | 68 | Процедура УстанавливатьЗависимости(Знач ПУстанавливатьЗависимости) Экспорт |
|
79 | 77 | СоздаватьФайлыЗапуска = ПСоздаватьФайлыЗапуска; |
80 | 78 | КонецПроцедуры |
81 | 79 |
|
82 | | -Процедура УстановитьУровеньЗависимости(Знач Уровень) Экспорт |
83 | | -УровеньЗависимости = Уровень; |
84 | | -КонецПроцедуры |
85 | | - |
86 | 80 | Процедура УстановитьРежимУстановкиПакетов(Знач ЗначениеРежимУстановкиПакетов) Экспорт |
87 | 81 |
|
88 | 82 | ТекущийРежимУстановкиПакетов = ЗначениеРежимУстановкиПакетов; |
|
117 | 111 |
|
118 | 112 | КонецПроцедуры |
119 | 113 |
|
120 | | -Процедура УстановитьПакетПоОписанию(Знач ЗависимостьПакета) Экспорт |
| 114 | +Процедура УстановитьПакетПоОписанию(Знач ЗависимостьПакета, Знач УровеньЗависимости = 0) Экспорт |
121 | 115 |
|
122 | 116 | Если ЗависимостьПакета.ДляРазработки Тогда |
123 | 117 | // Зависимости разработчика устанавливаются только на первом уровне (УровеньЗависимости = 0) |
|
135 | 129 | КонецЕсли; |
136 | 130 | КонецЕсли; |
137 | 131 |
|
138 | | -УстановитьПакетПоИмениИВерсии(ЗависимостьПакета.ИмяПакета, ЗависимостьПакета.МинимальнаяВерсия, Истина); |
| 132 | +УстановитьПакетПоИмениИВерсии(ЗависимостьПакета.ИмяПакета, ЗависимостьПакета.МинимальнаяВерсия, Истина, УровеньЗависимости); |
139 | 133 |
|
140 | 134 | КонецПроцедуры |
141 | 135 |
|
142 | | -Процедура УстановитьПакетИзАрхива(Знач ФайлПакета, Знач ЭтоЗависимыйПакет = Ложь) Экспорт |
| 136 | +Процедура УстановитьПакетИзАрхива(Знач ФайлПакета, Знач ЭтоЗависимыйПакет = Ложь, Знач УровеньЗависимости = 0) Экспорт |
143 | 137 |
|
144 | 138 | КаталогУстановки = ?(ЭтоЗависимыйПакет, КаталогУстановкиЗависимостей, ЦелевойКаталогУстановки); |
145 | 139 | УстановкаПакета = Новый УстановкаПакета(); |
|
174 | 168 | Если УстанавливатьЗависимости Тогда |
175 | 169 | // Тут надо корректно найти имя пакета в пути |
176 | 170 | Если ФС.КаталогСуществует(ПутьККаталогуЛокальныхЗависимостей) Тогда |
177 | | -РазрешитьЗависимостиПакетаЛокально(МанифестПакета, ПутьККаталогуЛокальныхЗависимостей); |
| 171 | +РазрешитьЗависимостиПакетаЛокально(МанифестПакета, ПутьККаталогуЛокальныхЗависимостей, УровеньЗависимости); |
178 | 172 | Иначе |
179 | | -РазрешитьЗависимостиПакета(МанифестПакета); |
| 173 | +РазрешитьЗависимостиПакета(МанифестПакета, УровеньЗависимости); |
180 | 174 | КонецЕсли; |
181 | 175 |
|
182 | 176 | КонецЕсли; |
183 | 177 |
|
184 | 178 | КонецПроцедуры |
185 | 179 |
|
186 | | -Процедура УстановитьПакетПоИмениИВерсии(Знач ИмяПакета, Знач ВерсияПакета, ЗНач ЭтоЗависимыйПакет = Ложь) Экспорт |
| 180 | +Процедура УстановитьПакетПоИмениИВерсии(Знач ИмяПакета, Знач ВерсияПакета, ЗНач ЭтоЗависимыйПакет = Ложь, Знач УровеньЗависимости = 0) Экспорт |
187 | 181 |
|
188 | | -Если ЭтоЗависимыйПакет Тогда |
189 | | -// Для зависимых пакетов увеличиваем уровень зависимости |
190 | | -НовыйМенеджер = Новый МенеджерУстановкиПакетов(ТекущийРежимУстановкиПакетов, ЦелевойКаталогУстановки, КаталогУстановкиЗависимостей, ИмяСервера); |
191 | | -НовыйМенеджер.УстанавливатьЗависимости(УстанавливатьЗависимости); |
192 | | -НовыйМенеджер.СоздаватьФайлыЗапуска(СоздаватьФайлыЗапуска); |
193 | | -// Для транзитивных зависимостей отключаем установку зависимостей разработчика |
194 | | -НовыйМенеджер.УстанавливатьЗависимостиРазработчика(Ложь); |
195 | | -НовыйМенеджер.УстановитьУровеньЗависимости(УровеньЗависимости + 1); |
196 | | - |
197 | | -ФайлПакета = РаботаСПакетами.ПолучитьПакет(ИмяПакета, ВерсияПакета, , ИмяСервера); |
198 | | -НовыйМенеджер.УстановитьПакетИзАрхива(ФайлПакета, Ложь); |
199 | | -Иначе |
200 | | -ФайлПакета = РаботаСПакетами.ПолучитьПакет(ИмяПакета, ВерсияПакета, , ИмяСервера); |
201 | | -УстановитьПакетИзАрхива(ФайлПакета, ЭтоЗависимыйПакет); |
202 | | -КонецЕсли; |
| 182 | +ФайлПакета = РаботаСПакетами.ПолучитьПакет(ИмяПакета, ВерсияПакета, , ИмяСервера); |
| 183 | +УстановитьПакетИзАрхива(ФайлПакета, ЭтоЗависимыйПакет, УровеньЗависимости); |
203 | 184 |
|
204 | 185 | КонецПроцедуры |
205 | 186 |
|
206 | | -Процедура РазрешитьЗависимостиПакета(Знач Манифест) Экспорт |
| 187 | +Процедура РазрешитьЗависимостиПакета(Знач Манифест, Знач УровеньЗависимости = 0) Экспорт |
207 | 188 |
|
208 | 189 | Зависимости = Манифест.Зависимости(); |
209 | 190 | Если Зависимости.Количество() = 0 Тогда |
|
222 | 203 |
|
223 | 204 | // скачать |
224 | 205 | // определить зависимости и так по кругу |
225 | | -УстановитьПакетПоОписанию(Зависимость); |
| 206 | +УстановитьПакетПоОписанию(Зависимость, УровеньЗависимости + 1); |
226 | 207 | УстановленныеПакеты.Обновить(); |
227 | 208 |
|
228 | 209 | Иначе |
|
234 | 215 |
|
235 | 216 | КонецПроцедуры |
236 | 217 |
|
237 | | -Процедура РазрешитьЗависимостиПакетаЛокально(Манифест, ПутьККаталогуЛокальныхЗависимостей) |
| 218 | +Процедура РазрешитьЗависимостиПакетаЛокально(Манифест, ПутьККаталогуЛокальныхЗависимостей, Знач УровеньЗависимости = 0) |
238 | 219 |
|
239 | 220 | Зависимости = Манифест.Зависимости(); |
240 | 221 | Если Зависимости.Количество() = 0 Тогда |
|
262 | 243 |
|
263 | 244 | Иначе |
264 | 245 |
|
265 | | -УстановитьПакетПоОписанию(Зависимость); |
| 246 | +УстановитьПакетПоОписанию(Зависимость, УровеньЗависимости + 1); |
266 | 247 |
|
267 | 248 | КонецЕсли; |
268 | 249 |
|
|
0 commit comments