Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions src/Классы/УстановкаПакета.os
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@

ПутьУстановки = НайтиСоздатьКаталогУстановки(ИмяПакета);
Лог.Информация("Устанавливаю пакет " + ИмяПакета);
ПроверитьВерсиюСреды(Метаданные);
Если мЗависимостиВРаботе[ИмяПакета] = "ВРаботе" Тогда
ВызватьИсключение "Циклическая зависимость по пакету " + ИмяПакета;
КонецЕсли;
Expand Down Expand Up @@ -59,6 +60,33 @@

КонецПроцедуры

Процедура ПроверитьВерсиюСреды(Манифест)

Свойства = Манифест.Свойства();
Если НЕ Свойства.Свойство("ВерсияСреды") Тогда
Возврат;
КонецЕсли;

ИмяПакета = Свойства.Имя;
ТребуемаяВерсияСреды = Свойства.ВерсияСреды;
СистемнаяИнформация = Новый СистемнаяИнформация;
ВерсияСреды = СистемнаяИнформация.Версия;
Если РаботаСВерсиями.СравнитьВерсии(ТребуемаяВерсияСреды, ВерсияСреды) > 0 Тогда
ТекстСообщения = СтрШаблон(
"Ошибка установки пакета <%1>: Обнаружена устаревшая версия движка OneScript.
|Требуемая версия: %2
|Текущая версия: %3
|Обновите OneScript перед установкой пакета",
ИмяПакета,
ТребуемаяВерсияСреды,
ВерсияСреды
);

ВызватьИсключение ТекстСообщения;
КонецЕсли;

КонецПроцедуры

Процедура УстановитьПакетыПоОписаниюПакета() Экспорт

ПутьКМанифесту = ОбъединитьПути(ТекущийКаталог(), Константы.ИмяФайлаСпецификацииПакета);
Expand All @@ -72,6 +100,8 @@
Контекст = Новый Структура("Описание", Описание);
ЗагрузитьСценарий(ПутьКМанифесту, Контекст);

ПроверитьВерсиюСреды(Описание);

РазрешитьЗависимостиПакета(Описание);

КонецПроцедуры
Expand Down
2 changes: 1 addition & 1 deletion tests/testpackage/folder/src.os
Original file line number Diff line number Diff line change
@@ -1 +1 @@
// ��������
// заглушка