Skip to content

Commit 771585b

Browse files
authored
Merge pull request #11 from oscript-library/feature/check-oscript-version
Feature/check oscript version
2 parents de75bc3 + 87eb7bf commit 771585b

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

src/Классы/УстановкаПакета.os

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

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

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

63+
Процедура ПроверитьВерсиюСреды(Манифест)
64+
65+
Свойства = Манифест.Свойства();
66+
Если НЕ Свойства.Свойство("ВерсияСреды") Тогда
67+
Возврат;
68+
КонецЕсли;
69+
70+
ИмяПакета = Свойства.Имя;
71+
ТребуемаяВерсияСреды = Свойства.ВерсияСреды;
72+
СистемнаяИнформация = Новый СистемнаяИнформация;
73+
ВерсияСреды = СистемнаяИнформация.Версия;
74+
Если РаботаСВерсиями.СравнитьВерсии(ТребуемаяВерсияСреды, ВерсияСреды) > 0 Тогда
75+
ТекстСообщения = СтрШаблон(
76+
"Ошибка установки пакета <%1>: Обнаружена устаревшая версия движка OneScript.
77+
|Требуемая версия: %2
78+
|Текущая версия: %3
79+
|Обновите OneScript перед установкой пакета",
80+
ИмяПакета,
81+
ТребуемаяВерсияСреды,
82+
ВерсияСреды
83+
);
84+
85+
ВызватьИсключение ТекстСообщения;
86+
КонецЕсли;
87+
88+
КонецПроцедуры
89+
6290
Процедура УстановитьПакетыПоОписаниюПакета() Экспорт
6391

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

103+
ПроверитьВерсиюСреды(Описание);
104+
75105
РазрешитьЗависимостиПакета(Описание);
76106

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

tests/testpackage/folder/src.os

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
// ��������
1+
// заглушка

0 commit comments

Comments
 (0)