|
114 | 114 | КонецПопытки; |
115 | 115 |
|
116 | 116 | МанифестПакета = УстановкаПакета.ПолучитьМанифестПакета(); |
117 | | - |
| 117 | + ИмяПакета = МанифестПакета.Имя; |
| 118 | + |
| 119 | + ПолныйПутьККаталогуУстановки = Новый Файл(КаталогУстановки).ПолноеИмя; |
| 120 | + ИмяКаталогаЛокальныхЗависимостей = КонстантыOpm.ЛокальныйКаталогУстановкиПакетов; |
| 121 | + |
| 122 | + ПутьККаталогуЛокальныхЗависимостей = ОбъединитьПути(ПолныйПутьККаталогуУстановки, ИмяПакета, ИмяКаталогаЛокальныхЗависимостей); |
| 123 | + |
118 | 124 | // Тут надо корректно найти имя пакета в пути |
119 | | - Если НЕ ФС.КаталогСуществует(ОбъединитьПути(Новый Файл(КаталогУстановки).ПолноеИмя, КонстантыOpm.ЛокальныйКаталогУстановкиПакетов)) Тогда |
| 125 | + Если ФС.КаталогСуществует(ПутьККаталогуЛокальныхЗависимостей) Тогда |
| 126 | + РазрешитьЗависимостиПакетаЛокально(МанифестПакета, ПутьККаталогуЛокальныхЗависимостей); |
| 127 | + Иначе |
120 | 128 | РазрешитьЗависимостиПакета(МанифестПакета); |
121 | 129 | КонецЕсли; |
122 | 130 |
|
|
156 | 164 |
|
157 | 165 | КонецПроцедуры |
158 | 166 |
|
| 167 | +Процедура РазрешитьЗависимостиПакетаЛокально(Манифест, ПутьККаталогуЛокальныхЗависимостей) |
| 168 | + |
| 169 | + Зависимости = Манифест.Зависимости(); |
| 170 | + Если Зависимости.Количество() = 0 Тогда |
| 171 | + Возврат; |
| 172 | + КонецЕсли; |
| 173 | + |
| 174 | + УстановленныеПакеты = ПолучитьУстановленныеПакеты(); |
| 175 | + |
| 176 | + Для Каждого Зависимость Из Зависимости Цикл |
| 177 | + Лог.Информация("Устанавливаю зависимость: <%1> из каталога локальных зависимостей", Зависимость.ИмяПакета); |
| 178 | + |
| 179 | + Если УстановленныеПакеты.ПакетУстановлен(Зависимость, КаталогУстановкиЗависимостей) Тогда |
| 180 | + Лог.Информация("<%1> уже установлен. Пропускаем.", Зависимость.ИмяПакета); |
| 181 | + Продолжить; |
| 182 | + КонецЕсли; |
| 183 | + |
| 184 | + ПутьККаталогуПакетаЗависимостиИсточник = ОбъединитьПути(ПутьККаталогуЛокальныхЗависимостей, Зависимость.ИмяПакета); |
| 185 | + |
| 186 | + Если ФС.КаталогСуществует(ПутьККаталогуПакетаЗависимостиИсточник) Тогда |
| 187 | + |
| 188 | + ПутьККаталогуПакетаЗависимостиПриемник = ОбъединитьПути(КаталогУстановкиЗависимостей, Зависимость.ИмяПакета); |
| 189 | + ФС.КопироватьСодержимоеКаталога(ПутьККаталогуПакетаЗависимостиИсточник, ПутьККаталогуПакетаЗависимостиПриемник); |
| 190 | + |
| 191 | + Иначе |
| 192 | + |
| 193 | + УстановитьПакетПоОписанию(Зависимость); |
| 194 | + |
| 195 | + КонецЕсли; |
| 196 | + |
| 197 | + УстановленныеПакеты.Обновить(); |
| 198 | + |
| 199 | + КонецЦикла; |
| 200 | + |
| 201 | +КонецПроцедуры |
| 202 | + |
159 | 203 | Функция ПолучитьУстановленныеПакеты() |
160 | 204 |
|
161 | 205 | КэшУстановленныхПакетов = Новый КэшУстановленныхПакетов(КаталогУстановкиЗависимостей); |
|
0 commit comments